Конвейерная обработка данных в процессорах IA-32. Работа процессоров семейства P6 и Pentium 4 IA-32. (Лекция 4)

Содержание

Слайд 2

Конвейерная обработка данных В ЦП 80286 конвейер состоит из: BU –

Конвейерная обработка данных

В ЦП 80286 конвейер состоит из:
BU – шинный

блок (считывание из памяти и портов ввода/вывода).
IU – командный блок (дешифрация команд).
EU – исполнительный блок (выполнение команд).
AU – адресный блок (вычисляет все адреса, формирует физический адрес).
Слайд 3

Конвейерная обработка данных в ЦП 80286

Конвейерная обработка данных в ЦП 80286

Слайд 4

Конвейерная обработка данных в ЦП 80486 В ЦП 80486 – пятиступенчатый

Конвейерная обработка данных в ЦП 80486

В ЦП 80486 – пятиступенчатый

конвейер для обработки данных:
предвыборка команд (PF –Perfect);
декодирование команды (D1 – Instruction Decode);
формирование адреса (D2 – Address Generate);
выполнение команды в АЛУ и доступ к кэш-памяти (EX – Execute);
обратная запись (WB – Write Back).
Слайд 5

ЦП Pentium КЭШ команд, 8К Буфер предвыборки, 32 бита АЛУ (целочисл.)

ЦП Pentium

КЭШ команд, 8К

Буфер предвыборки, 32 бита

АЛУ
(целочисл.)

АЛУ
(целочисл.)

Блок регистров

КЭШ данных, 8К

64 –

разрядная шина

Схема
предсказания
перехода

Конвейерный
блок
FPU

Делитель

Сложитель

Умножитель

U (5+3ступ.)

V (5 ступ.)

Слайд 6

Конвейерная обработка данных в ЦП Pentium PF D1 D2 EX WB

Конвейерная обработка данных в ЦП Pentium
PF
D1
D2
EX
WB

К1

К2

К3

К4

К5

К6

К7

К8

К1

К2

К3

К4

К5

К6

К7

К8

К1

К2

К3

К4

К5

К6

К7

К8

К1

К2

К3

К4

К5

К6

К7

К8

К1

К2

К3

К4

К5

К6

К7

К8

Слайд 7

ЦП Pentium Суперскалярная архитектура – это способ построения процессора с двумя

ЦП Pentium

Суперскалярная архитектура – это способ построения процессора с двумя

или более конвейерами, позволяющий выполнять параллельно 2 или более выбранные команды.
U – конвейер основной (команды целочисленные и с плавающей точкой).
V – конвейер (команды, которые выполняются за один такт).
Спаривание – это процесс параллельного выполнения 2-х команд, независящих по данным или ресурсам.
Слайд 8

Основные отличия ЦП Pentium Увеличен размер страничной памяти. Механизм страничной организации

Основные отличия ЦП Pentium

Увеличен размер страничной памяти.
Механизм страничной организации памяти позволяет

работать одновременно со страницей 4 Мбайт.
64-разрядная ШД.
Конвейеризация машинного цикла.
Суперскалярная архитектура.
Контроль четности адреса и данных.
Раздельные блоки кэш-памяти для данных и кода.
Блок прогнозирования ветвлений.
Средства управления питанием (снижение мощности потребления).
Слайд 9

ЦП Pentium Pro (P6) В Р6 динамическое исполнение программы. Этот термин

ЦП Pentium Pro (P6)

В Р6 динамическое исполнение программы. Этот термин определил

3 способа обработки данных:
Глубокое предсказание ветвлений (с вероятностью > 90% можно предсказать 10=15 ближайших переходов).
Анализ потока данных (на 20-30 шагов вперед посмотреть программу и определить зависимость команд по данным или ресурсам).
Опережающее исполнение команд (ЦП P6 может выполнять команды в порядке отличном от их следования в программе. )
Слайд 10

Структура микропроцессора Pentium Pro Кэш 2-го уровня, 256 Кбайт (монтируется в

Структура микропроцессора Pentium Pro

Кэш 2-го уровня, 256 Кбайт
(монтируется в один корпус

с ЦП)

Интерфейс памяти

Внешняя
64-разрядная
синхронная
шина

Синхронная
64-разрядная
шина

Блок выборки
инструкций

Буфер команд,
8 Кбайт

За 1 такт выбираются 2 строки кэша
(строка – 32 байта)

Дешифратор команд

Дешифратор,
1 микро-
операция
за такт

Дешифратор,
1 микро-
операция
за такт

Дешифратор,
4 микро-
операции
за такт

Таблица переименования регистров

Блок интерфейса с памятью

Блок формирования адреса

Арифметическое устройство
с фиксированной точкой

Арифметическое устройство
с фиксированной точкой

Арифметическое устройство
с плавающей точкой

Блок формирования адреса

Пул инструкций

Блок удаления

Блок резервирования

Буфер
запросов

Буфер
данных

Блок
предсказания
переходов
(512 входов)

Блок
микропрог-
раммного
управления

Слайд 11

Новое в процессоре Pentium Pro Кэш-память 2-го уровня размером в 256

Новое в процессоре Pentium Pro

Кэш-память 2-го уровня размером в 256 Кбайт

сопряжена с ЦП в виде второго кристалла.
Динамическое исполнение.
Суперскалярная архитектура (метод построения процессора с двумя или более конвейерами, позволяющий запускать и параллельно выполнять более одной команды за такт).
Внутренняя RISC архитектура.
Число исполнительных устройств – 5.
Слайд 12

Как работает обычный Pentium? 1 2 3 4 5 6 7

Как работает обычный Pentium?

1 2 3 4 5 6 7

8 9 10 11 12 13 14 15 16 17 18 19 20

№ команды

1
2
3
4
5
6
42
43
44
45
46
47
7
8
9
10
11
12
13

Рассмотрим сильно упрощенную схему одного из типичных участков кода программы.
Процессор Pentium оснащен лишь двумя независимыми исполнительными блоками и способен одновременно обрабатывать не более двух машинных команд.
Когда идет обращение к памяти оба вычислительных блока простаивают.
Pentium выполнил 17 команд за 19 тактов, то есть в среднем он выполнял почти 1 команду за такт.

- Выполнение команды;

-Обращение к памяти

Слайд 13

Как работает Pentium Pro? 1 2 3 4 5 6 7

Как работает Pentium Pro?

1 2 3 4 5 6 7

8 9 10 11 12 13 14 15 16 17 18 19 20

№ команды

1
2
3
4
5
42
43
44
45
46
47
7
8
9
10
11
12
13
14
15
16
17
18
19

- Выполнение команды

-Обращение к памяти

- Команды, прошедшие
подтверждение

В Pentium Pro применено динамическое исполнение программы:
Глубокое предсказание ветвления.
Анализ потока данных.
Опережающее исполнение.

- Зависимость команды
от результата предыдущих
команд

Слайд 14

ЦП Pentium MMX Основные черты MMX (MultiMediaeXtention) технологии: SIMD архитектура (одна

ЦП Pentium MMX

Основные черты MMX (MultiMediaeXtention) технологии:
SIMD архитектура (одна команда

над многими данными);
57 новых инструкций;
8 64-разрядных регистра MMX (ММ0-ММ7 – это мантиссы 8 регистров блока арифметики с плавающей точкой);
4 новых типа данных:
упакованный байт 64=8х8
упакованное слово 64=4х16
упакованное двойное слово 64=2х32
учетверенное слово 64=1х64
Слайд 15

ЦП Pentium II 2 КЭШа I уровня (16 Кб). КЭШ II

ЦП Pentium II

2 КЭШа I уровня (16 Кб).
КЭШ II уровня (512

Кб).
Двойная независимая шина (300-разрядная) -
2 независимых канала передачи данных:
для связи ЦП с КЭШ II уровня;
для связи ЦП с оперативной памятью.
Слайд 16

ЦП Pentium III Используется расширение SSE (Streaming SIMD Extensions) – потоковые

ЦП Pentium III

Используется расширение SSE (Streaming SIMD Extensions) – потоковые SIMD

расширения. SSE инструкции доступны во всех режимах работы. 70 новых инструкций.
8 новых 128-разрядных регистров данных: XMM0, XMM1,…, XMM7. 32-битный регистр управления/состояния MXCSR используется для маскирования исключений, выбора режимов и определения состояния флагов.
Новый тип данных - упакованные числа с плавающей запятой одинарной точности). В одном 128-разрядном регистре 4 новых типа данных.
Все команды SSE доступны из любых режимов работы ЦП: реального, защищенного и виртуального.
Слайд 17

ЦП Pentium IV Net-Burst – архитектура: Изменение последовательности выполнения команд. Буфер

ЦП Pentium IV

Net-Burst – архитектура:
Изменение последовательности выполнения команд.
Буфер предсказания переходов

– 4Кб (вероятность удачного предсказания 93-94%).
Окно команд (можно выбирать 126 команд для внеочередного выполнения).
Трассирующий КЭШ – команд I уровня находится после дешифратора и содержит микрокоманды готовые к исполнению (объем кэша - 12000 микрокоманд).
Используются SIMD расширения, включая 144 новых инструкции, использующие 128-разрядные XMM - регистры.
АЛУ работает на удвоенной частоте ЦП.
Применена Quad-pumped 400 Мгц системная шина, обеспечивающая пропускную способность 3,2 Гбайта/с.
Кэш L2 – 256 Кбайт работает на частоте процессора.
Кэш L1 – 8Кбайт.
Слайд 18

Вопросы для самоконтроля Какие блоки составляют конвейер ЦП 80286? Какой блок

Вопросы для самоконтроля

Какие блоки составляют конвейер ЦП 80286?
Какой блок и почему

был добавлен в конвейер ЦП 80486?
За сколько шагов выполнятся 10 простых команд в ЦП Pentium?
Что понимают под суперскалярной архитектурой?
Какие команды могут быть спаренными?
Какие способы обработки данных объединяет термин «динамическое исполнение программы»?
В чем состоит внутренняя RISC-архитектура ЦП Pentium Pro?