Шпаргалка: Командный цикл процессора

1. Какие факторы оказывают существенное влияние на «удлинение» командного цикла процессора?

- Структурные конфликты (выдача команд приостановливает):

устройство не является полностью конвейерным;

устройство имеют различные времени выполнения (количества записей в регистровый файл в каждом такте может быть больше 1)

- Конфликты WAW (т.к. команды больше не поступают на ступень WB в порядке их выдачи за выполнения), конфликты типа WAR невозможны (чтение регистров осуществляется на ступени ID)

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

2. В каком(-их) месте(-ах) командного цикла обычно реализуется фаза прерывания?

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

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

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

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

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

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

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

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

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

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

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

Какие прерывания относятся к программным?

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

3. Что представляет собой класс прерываний?

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

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

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

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

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

Что является концептуальной основой конвейерных вычислений?

Средства повышения эффективности работы системы:

- совершенствование элементной базы;

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 442
Бесплатно скачать Шпаргалка: Командный цикл процессора