Теперь мы знаем о внутренностях процессора немножко больше
Структурно IRQ1 приходит снаружи ТОЛЬКО на матрицу шифратора прерываний. А выход шифратора осуществляется в:
- трехбитный регистр PLI (он же P1X)
- четырехбитный регистр выбора вектора из таблицы констант
- четырехбитный номер подтверждения прерывания (чтобы сбросить входные защелки и детекторы фронта запросов)
На поток исполнения влияет только PLI. Это такой 3-х битный регистр, выход его подается прямо на основную матрицу ПЛМ и влияет на адрес и исполнение следдующей микрокоманды. Этот же PLI может записываться как с выхода шифратора приоритетов прерываний, так и с части выходов ПЛМ по специальному стробу (тогда я его называю P1X, физически это тот же самый регистр, надо будет переобозвать в PLI). То что это PLI может записываться также из основной матрицы матрицы позволяет эмулировать прерывание по командам HALT/IOT итд. Эти команды перегружают PLI своим значением (там ранее находилось записанное ранее шифратором 001 - нет прерываний) и повторяют цикл 7Е.
Вот это понятно и наблюдается, IRQ1 тождественнен выбору опкода HALТ.
Вот это непонятно. Напишу утилитку для анализа микроадресов и выясню кто еще из них может реагировать на PLI. Потому что переход на микропрограмму HALT (микроадрес 62) происходит ТОЛЬКО из основной точки старта 7Е - начало разбора инструкции в IR, PC указывает на следующее за опкодом слово, PLI актуальное. Другое дело что на 7Е много кто еще неизученный ходит, а вдруг кто на 7Е ошибочно переходит после выборки поля источника при наличии IRQ1?
Нет желания написать аутентичную модель на основе эмуляции микрокода? Уже сейчас можно взять модельку, грузить в нее свои тесты и разбираться в ModelSim-е. Также в помощь выложу исходник на С вычисляющий основную матрицу.






Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
