Архитектура ЭВМ. Процессоры корпорации Intel с динамическим выполнением команд

Несмотря на то, что в МП допускается внеочередное выпол­ нение команд, фиксация результатов их выполнения производится строго в порядке, предусмотренном программой. При обычном выполнении команды (согласно порядку расположе­ ния команды в программе) результат операции, заданной кодом команды, фиксируется или в ячейке памяти, или в РОНе, или в регистре состояния (регистре флагов). Фиксация результата операции является актом поко- мандного изменения состояния выполняемой программы. Но при внеоче­ редном выполнении команд моменты получения результатов выполнения команд и их фиксации (изменение состояния программы) не совпадают. При возникновении прерываний конвейер очищается и результаты ко­ манд, внеочередно выполненных, но не изменивших состояние программы, пропадают. По этой причине внеочередное выполнение команд часто называют виртуальным. Упорядоченная фиксация результатов выполнения команд является одним из универсальных способов решения двух проблем в суперконвейерных процессорах. Это проблемы: • устранения зависимостей (конфликтов) команд по данным типа "запись после записи", • точного прерывания. Конфликты по данным типа "запись после записи" возника­ ют, когда две команды имеют одинаковые адреса сохранения ре­ зультата, причем порядок формирования данных для сохранения не совпадает с порядком расположения этих команд в программе. Проблема точного прерывания для конвейерных процессоров заключается в том, что при прерываниях, например, при странич­ ном промахе, изменяется порядок выполнения команд при уже час­ тично заполненном конвейере. При этом все команды, загруженные на конвейер до команды, вызвавшей прерывание, должны быть ис­ полнены до передачи управления на программу обработки преры­ вания (программу процедуры трансляции страниц). Команда, вы­ звавшая прерывание, и последуюш;ие по программе команды долж­ 10

RkJQdWJsaXNoZXIy MTY0OTYy