Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_к_экзамену_АК_2009_10(теория).doc
Скачиваний:
25
Добавлен:
17.09.2019
Размер:
3.38 Mб
Скачать
  1. Прерывания: фаза прерывания, поток данных, классы прерываний.

Прерывания – механизм, с помощью которого другие модули могут прервать нормальный процесс выполнения программы пользователя.

Фаза прерывания может следовать после фазы выполнения команды, перед началом следующего цикла. Последовательность действий:

- сохранение текущего состояния процесса;

- переход к процедуре обслуживания прерывания.

Классы прерываний:

= Программные – исключительные ситуации при выполнении команд (арифметическое переполнение, деление на нуль, попытка выполнения команды с несуществующим кодом операции, обращения по адресу, выходящему за пределы физического адресного пространства компьютера, и т.п.).

= Аппаратные – генерируются специальными средствами контроля работоспособности аппаратуры при обнаружении сбоев (пропадание питания, ошибка контроля памяти по четности и т.п.).

= Ввода-вывода – генерируются контроллером ввода-вывода (завершение текущей операции ввода-вывода, возникновение ошибки процедуры ввода-вывода).

= Прерывания по таймеру – генерируются таймером процессора и используются ОС для переходов в многозадачном режиме.

Поток данных при прерывании:

На рисунке: регистр адреса памяти (РгАП, MAR); буферный регистр данных памяти (БРгП, MBR); программный счетчик (ПС, PC). Текущее содержимое ПС сохраняется (в стеке), что позволяет в дальнейшем возобновить выполнение прерванной программы с той же точки. В ПС вместо текущего адреса прерванной программы загружается начальный адрес подпрограммы обработки прерывания.

  1. Арифметический конвейер: назначение, принципы реализации. Понятие суперконвейера.

Арифметический конвейер. Синоним: магистральный конвейер. В устройствах, выполняющих содержательную обработку информации (АЛУ). Суть: выполнение арифметических операций по частям – согласно этапам конвейера. В результате конвейеризируется выполнение арифметических операций.

Назначение арифметического конвейера: ускорение выполнения операций над числами (т.к. операции над числами с плавающей запятой занимают несколько тактов).

Магистральные конвейерные линии могут быть:

- в нескольких экземплярах в одном процессоре;

- ориентированы (каждая) на определенные операции с данными.

На рисунке: конвейер процессора с дополнительным функциональными устройствами. Функциональные устройства включают в себя несколько тактов обработки (арифметический конвейер).

Суперконвейер:

Увеличение количества ступеней конвейера путем:

- добавления новых ступеней;

- дробления имеющихся ступеней на несколько простых подступеней.

Основные требования:

- возможность реализации операции в каждой подступени наиболее простыми техническими средствами (с минимальными затратами времени);

- одинаковость задержки во всех подступенях.

Недостатки суперконвейера:

- усугубление проблем, характерных для любого конвейера:

= возрастает вероятность конфликтов;

= высокий штраф за ошибку предсказания перехода;

- усложнение логики взаимодействия ступеней конвейера.

Пример: MIPS R4000 (1991 г. – 8 ступеней); Pentium III (10 ст.), Pentium IV (20 ст.).