Архитектура ЭВМ. Процессоры корпорации Intel с динамическим выполнением команд
в программу путями передачи данных, определяющими временной порядок выполнения команд. Механизм предварительной загрузки (Speculative loading). Механизм, предназначенный снизить простои процессора, связан ные с ожиданием выполнения команд загрузки из относительно медленной основной памяти. Компилятор перемещает команды за грузки данных из памяти так, чтобы они выполнились как можно раньше. Когда данные из памяти понадобятся какой-либо команде, процессор не будет простаивать. Непосредственно перед командой, использующей предварительно загружаемые данные, компилятор вставит команду проверки загрузки. Если при выполнении предва рительной загрузки возникнет исключительная ситуация, процес сор генерирует исключение только когда встретит команду провер ки загрузки. Механизм предикации (Predication). Механизм предикации использует предикатные регистры (64 одноразрядных) и предикат ное поле в команде (6 разрядов). Если в команде встречается ветв ление, компилятор может указывать, что обе ветви выполняются (по предположению) на процессоре параллельно. Команды из раз ных ветвей помечаются разными предикатными регистрами. Ко манды выполняются по возможности параллельно, но с задержкой записи их результатов до вычисления условий ветвления. Когда вычисляется условие ветвления, предикатный регистр, соответствующий исполняемой ветви, устанавливается в 1, а ре гистр, соответствующий неисполняемой ветви - в 0. Перед записью результатов процессор проверяет предикатное поле. Запись результатов производится, если только предикатное поле команды сохранения указывает на предикатный регистр, ус тановленный в 1. В случае О сохранение результатов выполнения команд не производится. 78
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy