1-битный процессор микрокода на эмиттерно-связанной логике?

Другие микроконтроллеры и микропроцессоры, не попавшие в предыдущие разделы

Moderator: Shaos

belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

Запилил в Logisim Evolution модель (а сюда залить

Работает, но пока делал пришло понимание что нужно проектировать под конкретную эмулируемую архитектуру.

Как минимум, просматриваются некоторые трюки насчёт памяти: в оригинале используется двухпортовая, но ведь двухпортовых статических не бывает - это ведь имитация всегда? При этом почти любая программа будет содержать чётное количество инструкций, потому что процессор 8-битный, а эмулируемая архитектура riscv 32-битная. То есть, можно всегда брать операнды с одной "стороны", а результаты класть в другую. Получится два не связанных банка памяти. Один ещё можно сделать размером поменьше, типа, жирный "аккумулятор"

Что думаете?
You do not have the required permissions to view the files attached to this post.
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

А вот так выглядит ЭСЛ ПЗУ

32 бита * 256 команды = 8192 транзисторов если все нули записать, но будет примерно пополам, а значит нужно 8192 + 8192/2 = 12288 транзисторов

Всё, на этом можно и успокоиться, по крайней мере, с такой широкой инструкцией. Нужно смотреть в сторону минимальных 4-битных процессоров.
You do not have the required permissions to view the files attached to this post.
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

Хотя, что-то затупил)) Есть же smd!

И память это как раз та вещь, которую неплохо было бы аналогово просимулировать для начала...
You do not have the required permissions to view the files attached to this post.
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

Спешу поделиться интересной находкой!

Оказывается, "с тех пор" изобрели следующую ступеньку ЭСЛ - IBM её назвала "Differential Current Switch logic" (DCS). Она оперирует дифференциальным сигналом (что хорошо для помехозащищённости), и, поэтому, внутри устроена как... реле!

Подробности тут (англ):
https://www.righto.com/2021/03/
(Там как раз тот самый знаменитый процессор от IBM, который разбирали на EEVblog, с пружинками, в масле и воздушным охлаждением сверху)

То есть, фактически можно не менять логику этого релейного компьютера совсем (хотя может оказаться выгоднее некоторые вещи сделать по-другому - посмотрим)
You do not have the required permissions to view the files attached to this post.
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

В IBM-овской документации нашёл маленькое уточнение: эмиттерные повторители лучше подтягивать не к земле, а к специальному напряжению -0.7В

В остальном - промоделировал на транзисторе BFP193W (он на 8 ГГц и доступен в продаже), собрал три каскада переключателей последовательно - на 1 ГГц очень чётко работает. Вау!

Даже попробовал добавить к Vcc помеху размахом 2В (для "обычной" ЭСЛ важно чтобы Vcc был очень стабильным, его даже советуют цеплять как GND) - ничего, сигналы вполне различимы ещё для этой системы (но где-то на 3В уже точно сломается)
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

Забыл приложить схемы

Vt - это как раз точка для подключения эмиттерного повторителя. "T" это, вроде, потому что туда также подключается терминаторный резистор, если линия длинная
You do not have the required permissions to view the files attached to this post.
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

Промоделировал в QUCS вообще всё что можно. Решил перейти от эмитерно-связной логики к DCTL (direct-coupled transistor logic - то же самое что ЭСЛ, но без эмитерных повторителей) с вкраплениями этих повторителей. Параллельно обмазываюсь замечательной книгой "Thornton — Design of a Computer. The Control Data 6600".

Теперь встал следующий вопрос: а какую архитектуру всё-таки делать? Понятное дело что любой компьютер может эмулировать исполнение команд RISC-V, но какой ценой? Может, имеет смысл не повторять минимальный компьютер (типа промоделированного выше релейного), а потратить 200 дополнительных транзисторов и в разы ускорить эмулятор?

То есть, нужно понять, как изобретать архитектуру чтобы она минимальным числом гейтов могла максимально быстро эмулировать этот самый RISC-V. Даже так: цена каждого элемента крупнее гейта известна - в DCTL не всё однозначно и иногда есть способы хитрого комбинирования чтобы снижать цену отдельных регистров, счётчиков и т.п.

В какую сторону копать вообще не представляю. Перебирать все варианты архитектур вручную и на графике проставлять им скорость эмуляции, чтобы потом выбрать оптимальную - это слишком трудозатратно.
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by Shaos »

А я в QUCS не въёхал :(
Я тут за главного - если что шлите мыло на me собака shaos точка net
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

Shaos wrote:А я в QUCS не въёхал :(
Qucs-s теперь "просто рисовалка", а под капотом у неё обычный ngspice
User avatar
Shaos
Admin
Posts: 24007
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by Shaos »

LTspice сильно проще и понятнее (хоть и клозесорц - я пользовал LTspiceIV пуская его в Wine)
Я тут за главного - если что шлите мыло на me собака shaos точка net
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

Неожиданная проблема: а как с минимальным количеством компонентов сделать индикацию состояния ЭСЛ или DCS-ячейки? Неинтересно же иметь компьютер, который просто работает, но не моргает лампочками
ra3qdp
Fanat
Posts: 87
Joined: 18 Feb 2019 15:46

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by ra3qdp »

где-то встречал описание процессора на двух соединенных стоками полевых транзисторах (функция 2или-не) реализующая приличную архитектуру. Только вот - каждая элементарная команда выполнялась за очень много тактов и поэтому результирующая производительность получилась крайне низкой. Может кто помнит где найти про этот процессор ? Так что, каким бы ни был быстрым 1-разрядный элемент, быстрого процессора из него не получится.
Ну и еще - а такую быструю память где брать ?
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

ra3qdp wrote:где-то встречал описание процессора на двух соединенных стоками полевых транзисторах (функция 2или-не) реализующая приличную архитектуру.
А это то же самое и получится, но на биполярных "макросхема" получится быстрее - при определённой аккуратности можно и 200МГц получить, думаю
Только вот - каждая элементарная команда выполнялась за очень много тактов и поэтому результирующая производительность получилась крайне низкой. Может кто помнит где найти про этот процессор ? Так что, каким бы ни был быстрым 1-разрядный элемент, быстрого процессора из него не получится.
Ну и еще - а такую быструю память где брать ?
Не особо быструю, обычную.

У однобитных же характерная особенность есть: у них нет регистра PC, вместо этого есть команда "дай следующую команду", и уже схемотехнически решается откуда эта команда берётся - хоть с перфоленты. Таким образом, "быстрый" доступ заменяется на "обычный"
ra3qdp
Fanat
Posts: 87
Joined: 18 Feb 2019 15:46

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by ra3qdp »

ra3qdp wrote:где-то встречал описание процессора на двух соединенных стоками полевых транзисторах (функция 2или-не) реализующая приличную архитектуру.
нашел:

http://www.mynor.org/

почитайте и прикиньте - что Вас ждет по быстродействию с учетом обращений к ПЗУ.
Быстродействие логической ячейки съест многократное обращение к ПЗУ (сообщите, пожалуйста - сколько наносекунд Вы планируете и какое именно ПЗУ ?) и поэтому применение сверх-быстродействующей логики - бессмысленно.
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: 1-битный процессор микрокода на эмиттерно-связанной логи

Post by belfegor96 »

ra3qdp wrote: Быстродействие логической ячейки съест многократное обращение к ПЗУ (сообщите, пожалуйста - сколько наносекунд Вы планируете и какое именно ПЗУ ?) и поэтому применение сверх-быстродействующей логики - бессмысленно.
Для микрокода я планирую ПЗУ на транзисторах же, точно по такой же схеме как и остальная логика