Шпаргалка: Командный цикл процессора

Расшифровывает код операции, содержащийся в излеченной из кэша команде.

Накопители команд:

Каждый связан со своим функциональным блоком (ФБ) → число накопителей обычно равно числу ФБ;

Выступают в роли виртуальных функциональных устройств по отношению к блоку диспетчеризации;

В некоторых процессорах объединен в отдельную очередь.

Блок диспетчеризации также хранит список свободных ФБ – табло (Scoreboard). Блок диспетчеризации извлекает команды из своей очереди, считывает из памяти или регистров операнды этих команд, после чего табло помещает команды и значения операндов в очередь распределения.

Эта операция называется выдачей команд. Блок распределения в каждом цикле проверяет каждую команду на наличие операндов в соответствующем ФБ.

Блок исполнения:

Набор ФБ (операционные целочисленные умножения и сложения с плавающей запятой, доступа к памяти и т.п.).

Блок обновления состояния:

Запись и анализ результата команды, исполнение которой завершено.

34. Какие средства оптимизации могут использоваться в суперскалярных процессорах?

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

Отметим наличие двух механизмов процессора для повышения вычислительной эффективности программы: распараллеливания (один или несколько конвейеров) и оптимизации программы (переупорядочи­вание команд, переименование регистров, предсказание переходов и т.п.).

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

35. Какое количество параллельных блоков реализуется на практике в суперскалярных процессорах?

практически достижимая степень параллелизма – 5-6;

Какие команды являются «спариваемыми»?

Команды являются спариваемыми, если:

Между ними не должно быть регистровых зависимостей типа «запись после чтения» или «чтение после записи»;

Ни одна из команд не может содержать одновременно смещение и непосредственный операнд;


36. Какие аппаратные средства требуются для реализации суперскалярного процессора?

Блок выборки команд:

извлекает команды из основной памяти через кэш-память команд;

хранит несколько значений счетчика команд и обрабатывает команды условного перехода.

Блок декодирования:

расшифровывает код операции, содержащийся в извлеченных из кэш-памяти командах.

В некоторых процессорах блоки выборки и декодирования совмещены.

Блоки диспетчеризации и распределения:

К-во Просмотров: 448
Бесплатно скачать Шпаргалка: Командный цикл процессора