Triple Tornado / comments
.docФормат 1: Для логических и арифметических операций, действия с 2мя регистрами:
УУ – ПС - блок выборки команды – КЭШ - блок выборки команды - регистр команд -
- дешифратор - РОН(АР0 и АР1) – АЛУ - РОН (запись в приёмник АР0).
Формат 2: переход (вызов подпрограммы предполагаем делается аналогично)
УУ – ПС - блок выборки команды – КЭШ - блок выборки команды - регистр команд -
- дешифратор – РОН (АР0 и АР1стрелки от них, АР1-адрес регистра базы) – АЛУ (на АЛУ поступают данные регистра базы и смещение DISP, т.е. + стрелка от дешифратора на АЛУ для DISP) - стрелка на РОН (перезапись регистра базы) - далее стрелка от ПС к РОН – АЛУ (на АЛУ поступает изменённое содержимое регистра базы и содержимое ПС) - ПС (результат АЛУ записывается в ПС).
Тут ещё может происходить обращение от АЛУ к флагам и обратно - это для реализации условного перехода.
Формат 3: Запись из регистра в память:
для логических и арифметических операций, действия с 2мя регистрами:
УУ – ПС - блок выборки команды – кэш - блок выборки команды - регистр команд (это делается 2 раза, т.к. 2 такта считывания команды) – дешифратор – РОН (адрес регистра высылаем) - берутся данные из этого регистра и идут на АЛУ - КЭШ + на кэш должен прийти адрес куда записать данные - => стрелка из дешифратора на КЭШ с адресом.
Запись из памяти в регистр:
УУ – ПС - блок выборки команды - КЭШ - блок выборки команды - регистр команд (это делается 2 раза, т.к. 2 такта считывания команды) – дешифратор – КЭШ (с адресом данных) – РОН (с данными) + от ДШ на РОН с адресом регистра для записи.
=данные - УВВ в память:
1) =УУ – ПС - блок выборки команды – КЭШ - блок выборки команды - регистр команд -
=-дешифратор-кэш (с адресом для записи) + с УУП - КЭШ (данные).
2) = УУП – РОН - (запись данных в дополнительный регистр) - через АЛУ без действий - КЭШ (данные) + УУП - КЭШ (с адресом).
Прерывание – это изменение в потоке управления, вызванное не самой программой, а внешними условиями. При возникновении прерывания выполнение текущей программы приостанавливается, и управление передаётся подпрограмме обработке прерывания. После завершения обработки, управление возвращается прерванной программе.
Примерный алгоритм возникновения и обработки прерывания:
-
Контроллер устройства выставляет на линию прерывания сигнал
-
ЦП, по мере готовности, выставляет на шине признак готовности к обработке
-
Контроллер выставляет на шину вектор прерывания
-
ЦП считывает его и сохраняет; запоминает в стеке текущее состояние
-
В таблице векторов прерываний ЦП считывает адрес подпрограммы обработки прерывания и записывает его в регистр команд
-
Выполняется программа обработки прерывания
-
Восстанавливается прежнее состояние