Шпаргалка: Командный цикл процессора
1. Какие факторы оказывают существенное влияние на «удлинение» командного цикла процессора?
- Структурные конфликты (выдача команд приостановливает):
устройство не является полностью конвейерным;
устройство имеют различные времени выполнения (количества записей в регистровый файл в каждом такте может быть больше 1)
- Конфликты WAW (т.к. команды больше не поступают на ступень WB в порядке их выдачи за выполнения), конфликты типа WAR невозможны (чтение регистров осуществляется на ступени ID)
- проблема с реализацией прерываний (команды могут завершатся не в том порядке, в котором они поступали).
2. В каком(-их) месте(-ах) командного цикла обычно реализуется фаза прерывания?
Прерывания – механизм, с помощью которого другие модули могут прервать нормальный процесс выполнения программы пользователя.
Фаза прерывания может следовать после фазы выполнения команды, перед началом следующего цикла. Последовательность действий:
- сохранение текущего состояния процесса;
- переход к процедуре обслуживания прерывания.
Классы прерываний:
Программные – исключительные ситуации при выполнении команд (арифметическое переполнение, деление на нуль, попытка выполнения команды с несуществующим кодом операции, обращения по адресу, выходящему за пределы физического адресного пространства компьютера, и т.п.).
Аппаратные – генерируются специальными средствами контроля работоспособности аппаратуры при обнаружении сбоев (пропадание питания, ошибка контроля памяти по четности и т.п.).
Ввода-вывода – генерируются контроллером ввода-вывода (завершение текущей операции ввода-вывода, возникновение ошибки процедуры ввода-вывода).
Прерывания по таймеру – генерируются таймером процессора и используются ОС для переходов в многозадачном режиме.
Поток данных при прерывании:
На рисунке: регистр адреса памяти (РгАП, MAR); буферный регистр данных памяти (БРгП, MBR); программный счетчик (ПС, PC). Текущее содержимое ПС сохраняется (в стеке), что позволяет в дальнейшем возобновить выполнение прерванной программы с той же точки. В ПС вместо текущего адреса прерванной программы загружается начальный адрес подпрограммы обработки прерывания.
Какие прерывания относятся к программным?
Программные – исключительные ситуации при выполнении команд (арифметическое переполнение, деление на нуль, попытка выполнения команды с несуществующим кодом операции, обращения по адресу, выходящему за пределы физического адресного пространства компьютера, и т.п.).
3. Что представляет собой класс прерываний?
Классы прерываний:
Программные – исключительные ситуации при выполнении команд (арифметическое переполнение, деление на нуль, попытка выполнения команды с несуществующим кодом операции, обращения по адресу, выходящему за пределы физического адресного пространства компьютера, и т.п.).
Аппаратные – генерируются специальными средствами контроля работоспособности аппаратуры при обнаружении сбоев (пропадание питания, ошибка контроля памяти по четности и т.п.).
Ввода-вывода – генерируются контроллером ввода-вывода (завершение текущей операции ввода-вывода, возникновение ошибки процедуры ввода-вывода).
Прерывания по таймеру – генерируются таймером процессора и используются ОС для переходов в многозадачном режиме.
Что является концептуальной основой конвейерных вычислений?
Средства повышения эффективности работы системы:
- совершенствование элементной базы;
--> ЧИТАТЬ ПОЛНОСТЬЮ <--