Приколы разбора микрокода LSI-11 из 581-ых РУшек.
Оказывается, было несколько вариантов чипсета LSI-11, прошивка микрокода хранится не только в РУ-шках. Внутри управляющего чипа 581ИК2 есть еще логический массив PLA, и он не фиксированный - тоже может изменяться и взаимодействует с содержимым РУ-шек. Поэтому 581ИК2 будет дружить только со своими 581РУ1-3, их драли комплектом. Массив PLA содержит набор адресов РУ-шек, при которых он вырабатывает специальные условия, которые могут вызывать неявный переход. И набор этих адресов фиксирован в компиляторе MICRO - только для проверки, и только для адресов 20008-27778. Этот MICRO есть в исходниках (на MACRO-11), и есть исходники FIS/EIS для какого-то вариант дековской оригинальной РУ3-шки. Так вот - оно с прочитанным PLA из 581ИК2 не полностью совпадает (3-5% отличаются). 581ИК2 поддерживает какой-то другой вариант микрокода, будем надеяться - более поздний, с меньшим количеством ошибок.
- - - Добавлено - - -
Там в управляющем чипе еще PLA есть, который вносит элемент горизонтальщины - он тупо сравнивает текущий LC микрокода и может сделать неявный условный/безусловный переход, про который в исходнике ни слухом/ни духом.
Видать чисто вертикально оно совсем медленно и печально выходило. LSI-11 простой, на FPGA 100МГц цикл получится сделать с большой вероятностью, тогда и сравним скорость с 1801. Ну не совсем же женщина резиновая
- - - Добавлено - - -
Все привыкли к PC++ и что операция/операнды определены опкодом однозначно. А в горизонтальном микрокоде обычно есть поле NAF (Next Addres Field) и PC = NAF, да еще операция и операнды зависят не только от кода инструкции. Мозг ломается![]()





С точки зрения некоторой группы людей - LSI-11 - это резиновая женщина, потому что работает по принципу эмуляторов
А вот 1801 - это тру хардкор!
Ответить с цитированием
