Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 145 стр.

UptoLike

Составители: 

выборки/декодирования включает в себя два буфера переходов (Branch Target Buffer –
BTB0,BTB1), блока выборки команд (Instruction Fetch Unit – IFU), который состоит из трех
устройств IFU0, IFU1, IFU2, двух декодеров (Instruction Decode – ID0, ID1), блока
переименования регистров и выделения ресурсов (Register Allocation – RAT) и буфера
микрокоманд.
Устройство диспетчирования/выполнения является неупорядоченным устройством,
который воспринимает поток данных и планирует выполнение микрокоманд с учетом
зависимостей по данным и доступности ресурсов, а также временно сохраняет результаты
внеочередного выполнения команды в пуле команд. Он содержит пятипортовую
распределительную станцию (Reservation Station – RS) и функциональные исполнительные
устройства (два целочисленных АЛУ0 и АЛУ1, блока выполнения операций с плавающей
запятой, блока выполнения переходов и устройств генерации адресоврис.6.15).
Устройство отката - упорядоченное устройство, преобразующее временные
результаты внеочередного выполнения в постоянное состояние вычислительной системы и
выполнено в виде файла регистров (Register Retirement File – RRF).
Интерфейс шины является частично упорядоченным устройством, отвечающим за
связь с внешним миром. Интерфейс шины взаимодействует непосредственно с кэшом
второго уровня и поддерживает до 4 параллельных обращений к кэшу. Он также управляет
обменом данными с основной памятью.
Устройство выборки/декодирования
Структура этого устройства представлена на рис. 6.14. Устройство
выборки/декодирования осуществляет быструю предварительную выборку кодов линейной
программы из кэша команд. Указатель на следующую командуэто индекс кэша команд,
содержимое которого определяется буфером переходов, состоянием процессора и
сообщениями о неправильном предсказании перехода, поступающими из устройства
выполнения целочисленных команд.
На начальной стадии устройство IFU0 выбирает строку кэша, соответствующую
индексу в указатели на следующую команду, и следующую за ней строку. Выборка команд
происходит 16-байтными блоками и считывается две строки подряд. Две строки кэша
считываются из-за того, что команды в архитектуре Intel выравниваются по границам байтов,
и поэтому может происходить передача управления на середину или конец строки кэша.
На следующей ступени устройствами IFU0 и IFU1 производятся вращение
предвыбранных байтов (выравнивание по 16 байтным границам), пометка начала и конца
команд и подачи их в декодеры команд. Эти две стадии занимают три такта процессора.
После окончания фазы выборки команд осуществляется их декодирование. Декодер
КЭШ
команд
Указатель на
следующую команду
Буфер переходов
Буфер
Таблица
псевдонимов
В пул
команд
Декодер
команд
( х 3 )
Рис. 6.14. Уст
р
ойство выбо
р
ки/декоди
р
ования
выборки/декодирования включает в себя два буфера переходов (Branch Target Buffer –
BTB0,BTB1), блока выборки команд (Instruction Fetch Unit – IFU), который состоит из трех
устройств IFU0, IFU1, IFU2, двух декодеров (Instruction Decode – ID0, ID1), блока
переименования регистров и выделения ресурсов (Register Allocation – RAT) и буфера
микрокоманд.
      Устройство диспетчирования/выполнения является неупорядоченным устройством,
который воспринимает поток данных и планирует выполнение микрокоманд с учетом
зависимостей по данным и доступности ресурсов, а также временно сохраняет результаты
внеочередного выполнения команды в пуле команд. Он содержит пятипортовую
распределительную станцию (Reservation Station – RS) и функциональные исполнительные
устройства (два целочисленных АЛУ0 и АЛУ1, блока выполнения операций с плавающей
запятой, блока выполнения переходов и устройств генерации адресов – рис.6.15).
      Устройство отката - упорядоченное устройство, преобразующее временные
результаты внеочередного выполнения в постоянное состояние вычислительной системы и
выполнено в виде файла регистров (Register Retirement File – RRF).
      Интерфейс шины является частично упорядоченным устройством, отвечающим за
связь с внешним миром. Интерфейс шины взаимодействует непосредственно с кэшом
второго уровня и поддерживает до 4 параллельных обращений к кэшу. Он также управляет
обменом данными с основной памятью.
                             Устройство выборки/декодирования

       Структура этого устройства представлена на рис. 6.14. Устройство
выборки/декодирования осуществляет быструю предварительную выборку кодов линейной
программы из кэша команд. Указатель на следующую команду – это индекс кэша команд,
содержимое которого определяется буфером переходов, состоянием процессора и
сообщениями о неправильном предсказании перехода, поступающими из устройства
выполнения целочисленных команд.
       На начальной стадии устройство IFU0 выбирает строку кэша, соответствующую
индексу в указатели на следующую команду, и следующую за ней строку. Выборка команд
происходит 16-байтными блоками и считывается две строки подряд. Две строки кэша
считываются из-за того, что команды в архитектуре Intel выравниваются по границам байтов,
и поэтому может происходить передача управления на середину или конец строки кэша.
        КЭШ                    Указатель на
     команд               следующую команду




       Декодер            Буфер переходов
     команд
       (х3)

                           Буфер

                                                 В пул
                                                 команд
                              Таблица
                            псевдонимов

       Рис. 6.14. Устройство выборки/декодирования
      На следующей ступени устройствами IFU0 и IFU1 производятся вращение
предвыбранных байтов (выравнивание по 16 байтным границам), пометка начала и конца
команд и подачи их в декодеры команд. Эти две стадии занимают три такта процессора.
      После окончания фазы выборки команд осуществляется их декодирование. Декодер