Многопроцессорный Спектрум
Хардварным труъ извращенцам, умеющим в FPGA, предлагаю идею прогопроцессорного Спектрума.
Ставим N штук Z80. CMOS, не CMOS, 4 МГц, 20 МГц - не важно.
Шины адреса и данных через быстрые шинные буферы с Z-состоянием параллелим и заводим в FPGA. Это такой типа мультиплексор.
Шину данных из FPGA выводим отдельно и вешаем на неё защёлку для каждого Z80.
Всё управление (#MREQ, #IORQ, #RD, #WR, #WAIT...) от каждого процессора индивидуально заводим на FPGA.
Что делает FPGA.
При запросе #MREQ или #IOREQ через шинный мультиплексор FPGA опрашивает шины процессора и выдаёт ему байт. Или принимает от него, если #WR.
Займёт это, допустим, 40 нс (меньше вряд ли, задержек много). Z80 на частоте 20 МГц и 3 такта на цикл это 150 нс. Итого FPGA обслужит 3 штуки Z80 на частоте 20 МГц почти без конфликтов.
Если заняты одним процессором и пришёл запрос от другого - другому выдаём #WAIT.
Если процессоров много - ну, будут тормозить.
Вся периферия эмулируется внутри FPGA.
Оперативкой тоже рулит FPGA. Если быстрая, то оперативку повесить на ту же адресную шину. Внутри FPGA можно сделать кэш.
Вместо FPGA можно взять ARM, он тоже быстрый, успеет.
Что на таком монстре запускать - понятия не имею :)