Буфер переупорядочивания и отставки

После переименования регистров МОПы записываются в буфер переупорядочивания и отставки.

Длина буфера переупорядочения составляет несколько десятков элементов (и более, например, 126). Из буфера переупорядочивания МОПы по мере готовности их к выполнению выдаются в специализированные функциональные исполнительные устройства при условии, что те готовы к их приему.

В хронологическом порядке, каждый МОП может проходиться в следующих состояниях:

1. МОП ещё не готов к выполнению – он находится в очереди планировщика;

2. МОП готов к выполнению (все аргументы для него готовы);

3. МОП выполняется одним из специализированных функциональных исполнительных устройств;

4. МОП выполнен и ждёт «отставки» либо отмены «спекулятивной» ветви (находится в буфере переупорядочивания и отставки);

5. МОП находится в процессе «отставки».

МОПы продолжают храниться в буфере переупорядочивания до тех пор, пока не будут выполнены и отставлены все более старые МОПы. Во время отставки производится запись окончательных значений в архитектурные регистры и оперативную память. Отставка операций, удаление информации о них из буфера переупорядочивания и запись окончательных значений производится в программном порядке, в котором МОПы поступили в буфер переупорядочивания. Это необходимо для того, чтобы в случае исключения или прерывания отменить результаты всех последующих операций, выполненных во внеочередном порядке.

 

 

Планировщик

 

Планировщик выдачи МОПов анализирует состояние всех специализированных функциональных исполнительных устройств (ФУi), а также готовность МОПов в буфере.

Если в буфере для ФУi есть хотя бы один готовый к выполнению МОП и ФУi свободно (освободилась первая ступень конвейера – если ФУi конвейерного типа, или завершено выполнение операции – если ФУi комбинационного типа), то планировщик выдает МОП из буфера на вход ФУi .

Заявки из буфера выдаются на выполнение не в том порядке, в каком они следуют в программе, а по готовности. В конкретное ФУi готовые к выполнению МОПы выдаются в соответствии с дисциплиною FIFO.

При заполнении буфера переупорядочивания дешифратору команд запрещается записывать новые МОПы.

За один такт планировщик может выдать несколько МОПов, в зависимости от структуры ядра процессора (например, в ядрах со структурой Haswell теоретически можно в одном такте выдать до 7 МОПов).

 








Дата добавления: 2015-09-29; просмотров: 1327;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.