Средства обработки команд

К ним относятся средства выборки-декодирования и предварительной обработки команд. Загрузка команд в кэш (предвыборка) осуществляется с помощью блока ВШ.

Средства выборки-декодирования выбирают из кэш-памяти строки, после чего производят разделение и декодирование команд. Этап декодирования команд конвейеризирован. Из выбранной строки с помощью отдельных декодеров выделяются простые и сложные команды и преобразуются в одиночные микрокоманды или в последовательность из нескольких микрокоманд. Для этого используются параллельные декодеры (ID), которые разбивают длинные CISC-команды на небольшие RISC-операции.

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

Средства предсказания ветвлений реализуют обработку команд условного перехода (ветвлений программы). Они формируют адрес следующей выбираемой команды до того, как будет определено условие выполнения перехода. В состав средств входят:

  • • буфер адресов ветвлений (Branch Target Buffer – ВТВ), в котором хранятся адреса ранее выполненных переходов и биты предыстории ветвления, указывающие на выполнение или отсутствие перехода при четырех предыдущих выборках данной команды;
  • • два буфера предварительной выборки: один применяется для предварительной выборки команды, в предположении, что перехода нет, другой выполняет предвыборку инструкций в буфер, используя содержимое ВТВ.

Средства переименования регистров предназначены для распределения (выделения) физических регистров в соответствии с указанным в команде адресом логического регистра (типа ЕАХ, ЕСХ – регистры общего назначения или STO–ST7 – регистры с плавающей точкой) даже в тех случаях, когда в командах указан адрес одного и того же логического регистра. Они используют описанный выше механизм переименования регистров и позволяют выполнять команды одновременно или с изменением их последовательности. Средства распределения регистров включают:

  • • таблицу псевдонимов регистров (Register Alias Table – RAT), предназначенную для их переименования;
  • • файл регистров выгрузки (Retirement Register File – RRF), который состоит из дополнительных регистров, дублирующих (с новыми именами) логические регистры;
  • • буфер переупорядочивания (ReOrder Buffer – ROB), который направляет микрокоманды в исполнительные устройства (через резервирующую станцию) по мере готовности операндов, поступающих из файла RRF или из памяти (после выборки и декодирования).

Микрооперации с переименованными логическими регистрами помещаются в очередь на исполнение в резервирующую станцию, где ожидают операндов, поступающих независимо из нескольких источников. Данными являются результаты выполненной микрооперации, адреса из буфера ВТВ, содержимое регистров (типа ЕАХ).

Резервирующая станция (Reservation Station – RS) выполняет функции накопителя готовых к исполнению микрокоманд, поступающих из буфера переупорядочивания ROB. Помещенная в RS команда передается на исполнение после того, как получены необходимые данные и освободился требуемый операционный блок.

 
< Пред   СОДЕРЖАНИЕ     След >