В некоторых процессорах накопители объединены в единую очередь.
Блок диспетчеризации также хранит список свободных функциональных блоков – табло (Scoreboard).
Блок диспетчеризации извлекает команды из своей очереди, считывает из памяти или регистров операнды этих команд, после чего, в зависимости от состояния табло, помещает команды и значения операндов в очередь распределения.
Эта операция называется выдачей команд. Блок распределения в каждом цикле проверяет каждую команду в своих очередях на наличие всех необходимых для ее выполнения операндов и при положительном ответе начинает выполнение таких команд в соответствующем функциональном блоке.
Блок исполнения:
набор функциональных блоков (операционные целочисленные, умножения и сложения с плавающей запятой, доступа к памяти и т.п.).
Блок обновления состояния:
запись и анализ результата команды, исполнение которой завершено;
учет полученного результата для команд в очередях распределения, где он выступает в качестве одного из операндов.
37. Что означает термин «speculative execution»?
Speculative execution - планирование по предположению (speculation), выполняемое с помощью компилятора или аппаратуры - позволяет выполнить команду еще до того, как процессор узнает, что она должна выполняться.
38. Какие действия выполняются на этапе выдача команды?
Блок диспетчеризации извлекает команды из своей очереди, считывает из памяти или регистров операнды этих команд, после чего, в зависимости от состояния табло, помещает команды и значения операндов в очередь распределения.
39. Для чего предназначены схемы резервирования?
Если в случае параллельного исполнения процессором нескольких команд оказывается, что одна из них идет по ложному значению, определяемому уже после начала выполнения этих команд, то результат ее исполнения теряется, а нужный результат истинной команды берется из схем резервирования. Т.е. они предназначены для хранения результатов параллельного выполнения одной или нескольких команд с определенным условием, которое вычисляется после начала выполнения этих команд (опережающее исполнение).
40. Как в суперскалярном процессоре реализуется этап записи результата?
Т.к. в суперскалярном процессоре одновременно выполняется большое количество вычислений, то ему нужен достаточный объем памяти для хранения результатов этих вычислений. Количество РОНов обычно ограничено, и его не хватает для этих целей, по этому были введены специальные дополнительные регистры для временного хранения данных. Они не доступны программисту. Обычно процессор сначала записывает результат в один из таких регистров, а уже потом, при необходимости, извлекает его оттуда в нужный регистр.