Железный сайт

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Главная Процессоры Знакомство с архитектурой AMD Bulldozer - Вычислительные модули
Знакомство с архитектурой AMD Bulldozer - Вычислительные модули
Рейтинг пользователей: / 10
ХудшийЛучший 
Автор: Андрей Миронов   
08.09.2010 18:18
Индекс материала
Знакомство с архитектурой AMD Bulldozer
Набор инструкций
Блоковая структура процессора
Модули выборки и декодирования
Вычислительные модули
Управление питанием и Заключение


Вычислительные модули

После того, как инструкции декодированы, они отправляются соответствующему планировщику модуля целочисленных операций или с плавающей точкой. Архитектура Bulldozer имеет только один модуль вычислений с плавающей точкой, который совместно используется двумя "ядрами". С другой стороны, имеются два полностью независимых целочисленных модуля на каждый двухядерный блок.


Вычислительные модули Bulldozer

Как видно на изображении, каждый целочисленный модуль имеет следующие четыре исполнительных блока:

  • EX, MUL - выполняет любые целочисленные операции, кроме деления;
  • EX, DIV -  выполняет любые целочисленные операции, кроме умножения;
  • Два AGen (AGU or Address Generation Unit) - блок генерации адресов. Используется для генерации адресов, требуемых для загрузки данных.

Также в вычислительном модуле есть блок Ld/ST, который отвечает за загрузку из памяти и хранение данных, запрошенных инструкцией. Обычно этот модуль размещается рядом с вышеупомянутыми блоками, но на схеме его изобразили отдельно.

Архитектура Bulldozer использует механизм выполнения команд с изменением последовательности выполнения, как CPU AMD64 и Intel начиная с Pentium Pro (архитектура P6). Так как исполнительные блоки не могут обработать все виды инструкций, и если не будет возможности изменять последовательность выполнения, то некоторые блоки будут периодически простаивать. Например, следующая инструкция, которая должна быть выполнена, является целочисленным делением, но модуль, который в состоянии обработать этот вид инструкции, занят обработкой другой инструкции. Вместо того чтобы ждать пока освободится данный модуль, планировщик будет искать инструкцию, которая может быть выполнена в данный момент в одном из других модулей, если они свободны. Таким образом, роль планировщика заключается в том, чтобы максимально загрузить вычислительные блоки.

После того, как будут выполнены целочисленные инструкции, они отправляются модуль завершения и удаления инструкций (Retire unit). Там они выстраиваются в том порядке, в котором они поступили в очередь.

Модуль вычислений операций с плавающей точкой также имеет четыре исполнительных блока:

  • Два MMX - может выполнять все базовые вычисления с плавающей точкой (х87 инструкции), включая MMX;
  • Два 128-битных FMAC - может выполнять любые вычисления с плавающей точкой.

Модуль для вычисления операций с плавающей точкой в архитектуре Bulldozer




Понравилась новость? Поделись с друзьями!

Обновлено 08.09.2010 19:55
 

Извините, у Вас недостаточно прав для комментирования.

Заметили ошибку в тексте?

Сообщите админу - выделите текст с ошибкой и нажмите Shift+Enter.
Спасибо!

Подписка на новости сайта


Ваше имя или ник:

Ваш email:

Авторизация

Популярные статьи