Lavr wrote:Многие говорят про 573РФ2
У нее малое быстродействие...
Code: Select all
Время выборки адреса - 450 нс.
Время выборки разрешения обращения - 450 нс.
Время выборки разрешения выхода - 250 нс.
 
Добрался я, наконец, до быстродействия ПЗУ микрокоманд и посчитал, чем это практически грозит...
И результаты меня, мягко говоря, не утешили... ну просто никак...  
 
 
Смотрим на "
анатомию командного цикла":   
 ----
 
---- 
Время выполнения каждой команды - 
8 тактов, в начале каждого такта меняется адрес на адресных линиях ПЗУ микрокоманд, значит каждый такт должен быть не менее 
450 нс (время выборки адреса), если в качестве ПЗУ микрокоманд задействована микросхема 
К573РФ2. 
Это и есть та ситуация, когда 
/CS и 
/OE ПЗУ намертво включены, a счетчик на адресных входах перебирает адреса с тактовой частотой/2.
Чтобы зафиксировать данные во внешнем регистре, добавим 
50 нс для надежности. Отсюда 
1 такт в команде составит 500 нс.
Команда выполняется за 
8 тактов, а значит за 
8 x 500 нс = 4 мкс. Откуда максимальное быстродействие составит 
250000 коротких операций в секунду. Для сравнения у микропроцессора 
i8080 быстродействие при тактовой частоте 2 МГц составляет 500000 коротких операций в секунду.
Рассмотрим более удачный вариант: у зарубежного аналога микросхемы 
К573РФ2 - 
IC 2716 есть более быстродействующий вариант со 
временем выборки адреса - 350 нс, добавим 
50 нс на то, чтобы зафиксировать данные во внешнем регистре, откуда 
минимальная длительность такта составит 400 нс. Короткая команда будет при этом выполняться за 
8 x 400 нс = 3.2 мкс, откуда 
быстродействие составит 312500 коротких операций в секунду. Всё равно до микропроцессора
 i8080 на 
тактовой частоте 2 МГц это довольно далеко…
А 
на частоте 2,5 МГц i8080 обеспечивает быстродействие до 625 тыс. оп/с.  
 
 
Я это клоню к тому, что 
если в качестве ПЗУ микрокоманд задействовать К573РФ2 или даже её более скоростной аналог 
2716, 
с надеждой сделать простой, но быстрый самодельный процессор, способный приемлемо эмулировать  
i8080 в реальном масштабе вемени, 
приходится расстаться...
Конечно, если я в расчетах не ошибся, а я для этого и выложил их здесь...  
 Возможные варианты
 
Возможные варианты: сделать ПЗУ микрокоманд на дешифраторах и диодах, или же выполнять дешифрацию кода команды хардверно.