Основные особенности МК. Понятие микроконтроллера. Классификация микропроцессоров. 8-разрядные МК, страница 15

При неправильном предсказании направления перехода содержимое буферов и всего конвейера аннулируется, и выборка команд начинается с необходимого адреса. При этом осуществляется корректировка соответствующей строки ВТВ.

2) Фаза D1 (Decode Stage 1). Эта фаза реализуется отдельным блоком конвейера – декодером команд (DU – Decode Unit). Декодер из актуального буфера команд (одного из двух) выбирает 2 последовательные команды и определяет возможность их параллельного исполнения в соответствии с их парабельностью (возможностью спаривания) и независимостью по данным. На этой же фазе осуществляется преобразование кодов команд во внутренний формат, используемый устройством управления (CU – Control Unit) для интерпретации машинных команд в последовательность микрокоманд. Для сложных команд (реализуемых по микропрограмме) во внутреннем формате задается начальный адрес ПЗУ (ROM) микропрограмм, с которого  начинается микропрограмма интерпретации этой команды.

3) Фаза D2 (Decode Stage 2). Фактически, на фазе D2 производится генерация (вычисление) адресов операндов и их выборка из памяти. В связи с тем, что фаза D2 является первой из параллельных фаз, то она реализуется двумя идентичными  блоками AGU (Address Generate Unit) U- и V-конвейеров.

Для возможности обеспечения параллельной выборки операндов двумя блоками AGU из кэш-памяти данных, она реализована как двухпортовая память.

4) Фаза исполнения ЕХ. Эта фаза реализуется в сдвоенном блоке целочисленного ALU (IU). В связи с тем, что блок циклического сдвига не дублирован, а имеется только в U-конвейере, спариваемые команды обязательно относятся к классу PU.

5) Фаза WB (Write Buffer). На последней ступени конвейера осуществляется буферизованная запись в память. Буферы записи используются для увеличения производительности при последовательных операциях записи в память. Пересылка результата операции в буфер позволяет продвигаться по конвейеру следующей команде, не дожидаясь фактической записи результата предыдущей команды в память.

На внешнюю шину данных содержимое буферов направляется по мере ее освобождения от других транзактов (пересылок), но именно в том порядке, в котором осуществлялась запись в буфер.

Особенности FPU-конвейера

В технической литературе отмечается, что FPU-конвейер состоит из 7 фаз (по  рисунку из предыдущей темы – с учетом  того, что он является составной частью U-конвейера).

На фазе Х1 осуществляется преобразование данных к внутреннему формату FPU. При этом предполагается, что чтение операндов из памяти осуществляется на фазе ЕХ (только для команд FPU).

На фазе Х2 производится фактическое исполнение команд.

На фазе WF осуществляется округление результата операции и запись его в регистр.

В отличие от целочисленных команд, которые целиком выполняются на стадии ЕХ  U- или V-конвейера, команды FPU начинают выполняться на стадии ЕХ U-конвейера (кроме команды FXCH, которая может быть обработана в V-конвейере), а затем переходят на стадию Х1 конвейера FPU, где продолжается их выполнение. FPU-команды не могут спариваться с целочисленными командами в начале конвейра, но после того, как FPU-команда перейдет на стадию Х1, следующие за ней по программе целочисленные команды смогут продвигаться дальше по конвейеру.

Например, если запустить в конвейер сначала команду FMUL, то следующие за ней целочисленные команды смогут продолжить выполняться параллельно с FMUL. Если же сначала запустить в конвейер целочисленную команду MUL,то она «застрянет» на стадии ЕХ на несколько тактов, блокируя дальнейшее продвижение следующих за ней команд по обоим конвейерам.

Для сравнения, команде FMUL для своего исполнения требуется 3 такта, а целочисленной команде MUL – 10 тактов.

Процессор Pentium Pro (первая модель с архитектурой Р6)

Основные особенности модели:

1.     Суперконвейерная и суперскалярная архитектура. Суперконвейерность проявляется в том, что число ступеней конвейера команд по разным источникам  равно 10-14.