Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Triple Tornado / comments

.doc
Скачиваний:
16
Добавлен:
03.06.2014
Размер:
31.23 Кб
Скачать

Формат 1: Для логических и арифметических операций, действия с 2мя регистрами:

УУ – ПС - блок выборки команды – КЭШ - блок выборки команды - регистр команд -

- дешифратор - РОН(АР0 и АР1) – АЛУ - РОН (запись в приёмник АР0).

Формат 2: переход (вызов подпрограммы предполагаем делается аналогично)

УУ – ПС - блок выборки команды – КЭШ - блок выборки команды - регистр команд -

- дешифратор – РОН (АР0 и АР1стрелки от них, АР1-адрес регистра базы) – АЛУ (на АЛУ поступают данные регистра базы и смещение DISP, т.е. + стрелка от дешифратора на АЛУ для DISP) - стрелка на РОН (перезапись регистра базы) - далее стрелка от ПС к РОН – АЛУ (на АЛУ поступает изменённое содержимое регистра базы и содержимое ПС) - ПС (результат АЛУ записывается в ПС).

Тут ещё может происходить обращение от АЛУ к флагам и обратно - это для реализации условного перехода.

Формат 3: Запись из регистра в память:

для логических и арифметических операций, действия с 2мя регистрами:

УУ – ПС - блок выборки команды – кэш - блок выборки команды - регистр команд (это делается 2 раза, т.к. 2 такта считывания команды) – дешифратор – РОН (адрес регистра высылаем) - берутся данные из этого регистра и идут на АЛУ - КЭШ + на кэш должен прийти адрес куда записать данные - => стрелка из дешифратора на КЭШ с адресом.

Запись из памяти в регистр:

УУ – ПС - блок выборки команды - КЭШ - блок выборки команды - регистр команд (это делается 2 раза, т.к. 2 такта считывания команды) – дешифратор – КЭШ (с адресом данных) – РОН (с данными) + от ДШ на РОН с адресом регистра для записи.

=данные - УВВ в память:

1) =УУ – ПС - блок выборки команды – КЭШ - блок выборки команды - регистр команд -

=-дешифратор-кэш (с адресом для записи) + с УУП - КЭШ (данные).

2) = УУП – РОН - (запись данных в дополнительный регистр) - через АЛУ без действий - КЭШ (данные) + УУП - КЭШ (с адресом).

Прерывание – это изменение в потоке управления, вызванное не самой программой, а внешними условиями. При возникновении прерывания выполнение текущей программы приостанавливается, и управление передаётся подпрограмме обработке прерывания. После завершения обработки, управление возвращается прерванной программе.

Примерный алгоритм возникновения и обработки прерывания:

  1. Контроллер устройства выставляет на линию прерывания сигнал

  2. ЦП, по мере готовности, выставляет на шине признак готовности к обработке

  3. Контроллер выставляет на шину вектор прерывания

  4. ЦП считывает его и сохраняет; запоминает в стеке текущее состояние

  5. В таблице векторов прерываний ЦП считывает адрес подпрограммы обработки прерывания и записывает его в регистр команд

  6. Выполняется программа обработки прерывания

  7. Восстанавливается прежнее состояние

Соседние файлы в папке Triple Tornado