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