Современные высокопроизводительные компьютеры


Аппаратные средства поддержки большой степени распараллеливания - часть 11


Станция резервирования помечается как свободная.

  • Фиксация. Когда команда достигает головы буфера переупорядочивания и ее результат присутствует в буфере, соответствующий регистр обновляется значением результата (или выполняется запись в память, если операция - запись в память), и команда изымается из буфера переупорядочивания.

    Рис. 6.19. Расширение устройства ПТ средствами выполнения по предположению

    Когда команда фиксируется, соответствующая строка буфера переупорядочивания очищается, а место назначения результата (регистр или ячейка памяти) обновляется. Чтобы не менять номера строк буфера переупорядочивания после фиксации результата команды, буфер переупорядочивания реализуется в виде циклической очереди, так что позиции в буфере переупорядочивания меняются, только когда команда фиксируется. Если буфер переупорядочивания полностью заполнен, выдача команд останавливается до тех пор, пока не освободится очередная строка буфера.

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

    Рассмотрим следующий пример:

    LD F6, 34(R2)

    LD F2, 45(R3)

    MULTD F0, F2, F4

    SUBD F8, F6, F2

    DIVD F10, F0, F6

    ADDD F6, F8, F2

    Представим, что в приведенном выше примере команда условного перехода BNEZ в первый раз не выполняется (рис. 6.20). Тогда команды, предшествующие команде условного перехода, будут просто фиксироваться по мере достижения каждой из них головы буфера переупорядочивания. Когда головы этого буфера достигает команда условного перехода, содержимое буфера просто гасится, и машина начинает выборку команд из другой ветви программы.

    Станции резервирования

    ИмяЗанятостьOpVjVkQjQkНазначение

    Add1Нет

    Add2Нет

    Add3Нет

    Mult1НетMULTMem[45+Regs[R3]]Regs[F4] #3

    Mult2ДаDIV Mem[34+Regs[R2]]#3 #5

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

    НомерЗанятостьКомандаСостояниеМесто наз-
    начения
    Значение

    1НетLD F6,34(R2)ЗафиксированаF6Mem[34+Regs[R2]]

    2НетLD F2,45(R3)ЗафиксированаF2Mem[45+Regs[R3]]

    3НетMULTD F0,F2,F4Запись
    результата
    F0#2 x Regs[R4]]

    4ДаSUBD F8,F6,F2Запись
    результата
    F8#1 - #2

    5ДаDIVD F10,F0,F6ВыполнениеF10

    6ДаADD F6,F8,F2Запись
    результата
    F6#4 + #2

    Состояние регистров

    ПолеF0F2F4F6F8F10F12. . .F30

    Порядковый #3 645

    ЗнятостьДаНетНетДаДаДаНет. . .Нет

    <


    Начало  Назад  Вперед



    Книжный магазин