ВУЗ:
Составители:
выборки/декодирования включает в себя два буфера переходов (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 байтным границам), пометка начала и конца команд и подачи их в декодеры команд. Эти две стадии занимают три такта процессора. После окончания фазы выборки команд осуществляется их декодирование. Декодер
Страницы
- « первая
- ‹ предыдущая
- …
- 143
- 144
- 145
- 146
- 147
- …
- следующая ›
- последняя »