Помощь в написании студенческих работ
Антистрессовый сервис

Подсистема упорядоченной предварительной обработки

РефератПомощь в написанииУзнать стоимостьмоей работы

Буфер предсказания переходов. Это устройство хранит в таблице адреса предыдущих переходов. Проиллюстрируем принцип предсказания переходов. В любой более или менее сложной программе всегда имеются циклы, переход к началу которых осуществляется через команды условного перехода. Пусть, например, ветвь программы выполняется циклически до тех пор, пока значение некоторого счетчика изменяется от 1… Читать ещё >

Подсистема упорядоченной предварительной обработки (реферат, курсовая, диплом, контрольная)

К устройствам этой подсистемы относятся следующие узлы.

Дешифратор команд. Это устройство преобразует команды х86, т. е. сложные команды, реализованные во всех предыдущих процессорах Intel, в последовательность более простых RISC-микроопераций, исполняемых процессором. Оно включает два дешифратора простых команд, которые могут быть выполнены за одну МО, и один дешифратор сложных команд, для реализации которых нужно несколько (до четырех) МО.

Вычислитель адреса следующей команды. В ранних процессорах Intel адрес следующей команды вычислялся с помощью регистра — ПС. Напомним, что он правильно указывает адрес следующей команды лишь при естественном (без условных и безусловных переходов) ходе программы. Если в программе появляются условные переходы, то адрес следующей команды вычисляется и загружается в регистр Г1С. Эта процедура, как правило, требует времени, между тем операционное устройство процессора простаивает. В процессорах архитектуры Р6 роль ПС играет специальный узел — вычислитель адреса следующей команды. Он анализирует прерывания и заранее вычисляет адрес команды, которая должна быть обработана следующей, на основании информации, хранящейся в таблицах переходов.

Буфер предсказания переходов. Это устройство хранит в таблице адреса предыдущих переходов. Проиллюстрируем принцип предсказания переходов. В любой более или менее сложной программе всегда имеются циклы, переход к началу которых осуществляется через команды условного перехода. Пусть, например, ветвь программы выполняется циклически до тех пор, пока значение некоторого счетчика изменяется от 1 до 99. При достижении счетчиком значения 100 происходит выход из цикла и переход к дальнейшему исполнению программы по указанному в команде адресу. Это значит, что после первого выполнения этой ветви в 97 случаях из оставшихся 98 переход будет выполнен к одному и тому же адресу программы. Таким образом, можно с большой долей вероятности предсказать адрес следующей команды.

Для предсказания используются как динамический, так и статический методы. Первый, по существу, означает, что в таблицах переходов адрес следующей команды уже имеется (а это означает, что эти команды, скорее всего, имеются в кэш-памяти и их считывать из ОЗУ уже не нужно). Если этих команд нет (они могли быть замещены в кэш-памяти другим набором команд), то подсистема упорядоченной предварительной обработки начинает выбор из памяти с последующим декодированием предсказанных команд. Причем эти действия выполняются процессором параллельно с исполнением ранее выбранных и декодированных команд. Если «предсказания» окажутся неверными, то весь этот кусок программы процессором просто аннулируется.

Статический метод соответствует случаю, когда адрес следующей команды приходится вычислять традиционным способом, как это было в первых процессорах Intel. Он используется в том случае, если динамическое предсказание невозможно (в таблице переходов необходимая информация отсутствует).

Блок выборки команд. Устройство осуществляет выборку команд из памяти по адресам, подготовленным вычислителем адреса следующей команды.

Планировщик последовательностей микроопераций. Устройство хранит последовательности МО, используемых при декодировании сложных команд х86. При необходимости дешифратор сложных команд обращается к планировщику и получает нужную последовательность МО.

В дальнейшем развитии структуры Р6 в подсистему упорядоченной предварительной обработки для дополнительного сокращения времени на считывание команд из ОЗУ был введен блок нредвыборки команд. Он осуществлял предварительную выборку на основании таблицы переходов.

Показать весь текст
Заполнить форму текущей работой