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

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

Термин "суперскалярный" впервые был использован в 1987 году в техническом докладе сотрудников фирмы IBM, посвященном увеличению производительности RISC-процессоров.

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

Процессор Pentium (архитектура Р5)

Основные архитектурные особенности (по сравнению с i486)

1) Суперскалярная архитектура. Использование двух конвейеров команд обеспечивает возможность выполнения более 1й машинной команды в каждом такте процессора. В модели i486 -  линейный конвейер.

2) Разделение внутрикристалльной кэш-памяти уровня L1 на 2 блока - кэш команд и кэш данных по 8 Кбайт каждый.

В i486 - единый кэш для команд и данных.

3) Использование блока BTB для динамического предсказания перехода.

В i486 ВТВ отсутствует.

4) Расширение шины данных до 64 бит.

В i486 ША и ШД – 32 бита.

5) Существенное ускорение операций FPU за счет его конвейеризации. (Производительность FPU в 2-10 раз выше, чем в процессоре i486).

Обрабатывающие блоки FPU (в первую очередь умножитель и делитель, во вторую - сумматор и вычитатель) реализованы как конвейер операций. Конвейеры операций используются на ступени EX конвейера команд и хорошо сочетаются с последними. При этом предполагается, что выполнение типовой операции разделяется на ряд последовательных этапов, каждый из которых реализуется самостоятельным блоком операционного устройства. Например, в конвейерном устройстве сложения/вычитания FPU можно выделить 4 последовательных ступени и, соответственно, самостоятельных блоков для реализации таких этапов, как сравнение порядков, уравнивание порядков, сложение мантисс, нормализация результата.

Конвейеры операций дают максимальную эффективность при обработке векторных данных.

6) Использование нового режима процессора - режима системного управления SMM (System Management Mount). Переключение в этот режим, в частности, обеспечивает перевод системы в состояние пониженного энергопотребления.

7) Введение средств поддержки мультипроцессорности (процессор Pentium как элемент SMP-системы (Symmetric MultiProcessing)).

В средства поддержки мультипроцессорности входят:

• внутрикристальный локальный контроллер прерываний для обеспечения совместной работы нескольких процессоров;

• двухвходовой (двухканальный) контроллер кэш-памяти второго уровня, позволяющий двум процессорам совместно использовать общую кэш-память;

• реализация протокола MESI (Modified Exclusive Shared Invalid - 4 возможных состояния блока (строки) кэш памяти) во внутренней кэш-памяти данных для поддержки когерентности (согласованности) содержимого кэшей многих процессоров SMP-системы.

8) Использование средств мониторинга производительности.

Pairing Rules (правила спаривания)

Все команды процессора разделяются на 4 класса:

1. NP – Non Paring – команды не могут спариваться ни при каких условиях и выполняются только в основном конвейере (U-конвейере). К таким командам относятся:

- команды сдвигов со счетчиком в регистре CL;

- длинные арифметические команды (MUL, DIV);

- большинство команд FPU;

- межсегментные команды типа CALL FAR, PUSH sr;

- дополнительные команды типа RET, ENTER, PUSHA, MOVS, STOS, LOOPNZ и т.п.

2. UV – команды этого класса могут спариваться, направляясь в любой из конвейеров – U или V. К ним относятся:

- большинство простых арифметических и логических команд, таких как ADD, CMD, INC, XOR, TEST и т.п. В данном контексте под простыми понимаются команды, требующие для своего выполнения не более четырех тактов CPU;

- стековые команды с регистровым операндом: PUSH reg, POP reg.

3. PU – команды этого класса не могут исполняться в V-конвейере, но могут спариваться с другими командами, исполняемыми параллельно в V-конвейере. К этому классу относятся: