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

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

Moderator: Shaos

belfegor96
Senior
Posts: 104
Joined: 09 Jun 2022 07:49

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

Post by belfegor96 »

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

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

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

Что думаете?
Attachments

nedopc.7z
The Single Board Relay Computer (or Relay Trainer) - Logisim Evolution
(5.29 KiB) Downloaded 347 times

The Single Board Relay Computer (or Relay Trainer) - общий вид
The Single Board Relay Computer (or Relay Trainer) - общий вид
pic.png (86.86 KiB) Viewed 15458 times

belfegor96
Senior
Posts: 104
Joined: 09 Jun 2022 07:49

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

Post by belfegor96 »

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

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

Всё, на этом можно и успокоиться, по крайней мере, с такой широкой инструкцией. Нужно смотреть в сторону минимальных 4-битных процессоров.
Attachments

ЭСЛ ПЗУ (ECL ROM)
ЭСЛ ПЗУ (ECL ROM)
image007.gif (4.77 KiB) Viewed 15439 times

belfegor96
Senior
Posts: 104
Joined: 09 Jun 2022 07:49

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

Post by belfegor96 »

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

И память это как раз та вещь, которую неплохо было бы аналогово просимулировать для начала...
Attachments

Плата с транзисторами крупным планом
Плата с транзисторами крупным планом
tranor_brd_register1.jpg (943.09 KiB) Viewed 15436 times

Пример большого количества транзисторов на плате
Пример большого количества транзисторов на плате
tranor_stapel1.jpg (826.12 KiB) Viewed 15436 times

belfegor96
Senior
Posts: 104
Joined: 09 Jun 2022 07:49

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

Post by belfegor96 »

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

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

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

То есть, фактически можно не менять логику этого релейного компьютера совсем (хотя может оказаться выгоднее некоторые вещи сделать по-другому - посмотрим)
Attachments

Switcher explanation
Switcher explanation
selector2-w600.jpg (63.34 KiB) Viewed 15389 times

IBM Differential Current Switch logic (DCS) switcher
IBM Differential Current Switch logic (DCS) switcher
switches-w350.jpg (31.07 KiB) Viewed 15389 times

belfegor96
Senior
Posts: 104
Joined: 09 Jun 2022 07:49

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

Post by belfegor96 »

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

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

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

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

Post by belfegor96 »

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

Vt - это как раз точка для подключения эмиттерного повторителя. "T" это, вроде, потому что туда также подключается терминаторный резистор, если линия длинная
Attachments

Дифференциальный ЭСЛ-переключатель
Дифференциальный ЭСЛ-переключатель
export.png (7.59 KiB) Viewed 15336 times

Испытание двух ЭСЛ-переключателей
Испытание двух ЭСЛ-переключателей
export.png (25.54 KiB) Viewed 15336 times

belfegor96
Senior
Posts: 104
Joined: 09 Jun 2022 07: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: 23674
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

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

Post by Shaos »

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

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

Post by belfegor96 »

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

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

Post by Shaos »

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

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

Post by belfegor96 »

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

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

Post by ra3qdp »

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

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

Post by belfegor96 »

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

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

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

Post by ra3qdp »

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

http://www.mynor.org/

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

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

Post by belfegor96 »

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