№ | Слайд | Текст |
1 |
 |
Архитектура P6 |
2 |
 |
Архитектура P6Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры Pentium Pro (1995) до 200 МГц Pentium II (1997) до 450 МГц Pentium III (1999) до 1.3 ГГц Pentium M (2003) до 2.26 ГГц |
3 |
 |
Архитектура P6Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры Pentium Pro (1995) до 200 МГц Pentium II (1997) до 450 МГц Pentium III (1999) до 1.3 ГГц Pentium M (2003) до 2.26 ГГц |
4 |
 |
Архитектура P6Отличительные особенности ядра 12-стадийный суперконвейер Внешний интерфейс CISC, внутреннее ядро RISC Двойная независимая шина Динамическое исполнение команд Предсказание ветвлений Переименование регистров Спекулятивное исполнение Исполнение вне порядка Суперскалярное исполнение Возможно исполнение до 3-х команд за такт. |
5 |
 |
Упрощенная структура конвейера P6Входной блок упорядоченной обработки команд (In-order front end) Исполнительное ядро с изменением порядка исполнения (Out-of-order execution core) Блок упорядоченного завершения команд (In-order retirement) |
6 |
 |
|
7 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF |
8 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Определение адреса следующей команды (на основании BTB). |
9 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Чтение 2 кэш-строк, выборка пакета 16B, выравнивание пакета. |
10 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Декодирование: преобразование команд в uOPs. Обработка максимум 3-х команд x86 (6 uOPs: 4-1-1) за такт. |
11 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Декодирование: преобразование команд в uOPs. Максимум 1 команда перехода за такт. Информация о ветвлениях отправляется в BTB. |
12 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF На входе очереди максимум 6 uOPs за такт (4-1-1). На выходе очереди максимум 3 uOPs за такт. |
13 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Создается запись в Reorder Buffer. Отображение программных регистров на физические. |
14 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Чтение операндов для uOP. |
15 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Когда операнды готовы, uOP помещается в станцию резервации (RS) и ждет исполнения. |
16 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF В произвольном порядке uOP-ы запускаются на исполнение на различных исполнительных устройствах. Максимум 5 результатов за такт. |
17 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Операции чтения данных из памяти. |
18 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Операции записи данных в память. |
19 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Запись результатов в Reorder Buffer. |
20 |
 |
Структура ядра P6Стадии конвейера: BTB0 BTB1 IFU0 IFU1 IFU2 ID0 ID1 RAT ROB read RS Ex ROB write RRF Завершение. Запись результатов в выводящий регистровый файл (RRF). Удаление uOPs из ROB. Запись данных в память. Максимум 3 uOPs за такт. |
21 |
 |
Блок неупорядоченного исполнения P6 |
22 |
 |
Архитектура P7 NetBurst |
23 |
 |
Архитектура NetBurstЦель: Достигнуть большой производительности за счет повышения тактовой частоты. Средства: Большой конвейер с маленькими стадиями Уменьшение задержек на ветвления – кэш трасс, большой BTB Уменьшение задержек на обращение к памяти – быстрый кэш Уменьшение команд, необходимых для выполнения задачи Векторное расширение SSE2 Процессоры Pentium 4 Willamette до 2.4 ГГц Northwood до 3.2 ГГц Prescott до 3.х ГГц |
24 |
 |
Архитектура NetBurstОтличительные особенности ядра 20 или 31-стадийный гиперконвейер Внешний интерфейс CISC, внутреннее ядро RISC Динамическое исполнение команд Предсказание ветвлений Переименование регистров Спекулятивное исполнение Исполнение вне порядка Суперскалярное исполнение Кэш трасс (работает на половине частоты) Небольшая кэш-память с быстрым доступом Часть ядра работает на удвоенной частоте Возможно исполнение до 3-х команд за такт. |
25 |
 |
Структура ядра архитектуры NetBurst |
26 |
 |
Кэш трассСостоит из 2048 блоков по 6 ячеек (256 наборов по 8 блоков) Все блоке в каждой трассе связаны в двунаправленный список Темп чтения – 1 блок за 2 такта |
27 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive |
28 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Определение адреса следующей uOP в кэше трасс. |
29 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Выборка из кэша трасс в очередь предвыборки до 6 uOPs за 2 такта, подстановка MROM векторов. |
30 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Продвижение… |
31 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Выборка 3 uOPs из очереди. Выделение ресурсов процессора (места в очередях, буфере переупорядочивания, регистровом файле). |
32 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Отображение логических регистров на физические. |
33 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Размещение uOP-ов в 2-х очередях uopQ: для операций с памятью и для остальных операций. |
34 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive 5 планировщиков в зависимости от типа операции выбирают uopы из очередей uopq каждый в свою очередь schq (аналог RS). |
35 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Распределение uOPs из 5-ти очередей schQ по 4-м портам исполнительных устройств в произвольном порядке. |
36 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Чтение операндов из регистрового файла. |
37 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Исполнение |
38 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Установка флагов. |
39 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Проверка правильности предсказания переходов. |
40 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Перенос результата проверки перехода в декодер. |
41 |
 |
Стадии конвейера P7TC next IP 1 TC next IP 2 TC Fetch 1 TC Fetch 2 Drive Allocator Rename 1 Rename 2 Queue Schedule 1 Schedule 2 Schedule 3 Dispatch 1 Dispatch 2 Register file 1 Register file 2 Execute Flags Branch check Drive Далее uOP ждет отставки для освобождения ресурсов и записи результатов. Отставка происходит последовательно над теми же тройками uOPs, которые были сформированы на стадии Allocator. |
42 |
 |
Конвейер NetBurstИсполнение в порядке поступления команд Исполнение вне порядка |
43 |
 |
Исполнительные устройства |
44 |
 |
Rapid Execution EngineРаботает на удвоенной частоте ядра Включает: 2 планировщика быстрых целочисленных операций Целочисленный регистровый файл Порты запуска 0 и 1 Быстрые АЛУ. |
45 |
 |
NetBurst Replay |
46 |
 |
NetBurst Replay |
47 |
 |
Изменения в ядре PrescottДлина конвейера увеличилась до 31 стадии Увеличился объем и латентность кэш-памяти Добавилось расширение SSE3 Улучшенная предвыборка данных Улучшенное предсказание ветвлений Дополнительные буферы комбинированной отложенной записи в память Ускорение некоторых операций с целыми числами (умножение, …) |
48 |
 |
Архитектура Core |
49 |
 |
Архитектура CoreРазработана на основе P6. Цель: увеличить производительность, снизить энергопотребление и тепловыделение. Процессорные ядра: Merom, Conroe, Woodcrest Kentsfield, Clovertown … Пока до 2.93 ГГц |
50 |
 |
Архитектура CoreРеализованы новые технологии: Intel Wide Dynamic Execution выполнение до четырех инструкций за такт Intel Intelligent Power Capability снижается энергопотребление системы Intel Advanced Smart Cache общая для всех ядер кэш-память L2 Intel Smart Memory Access оптимизирует использование пропускной способности подсистемы памяти Intel Advanced Digital Media Boost позволяет обрабатывать все 128-разрядные команды SSE, SSE2, SSE3, … за один такт |
51 |
 |
|
52 |
 |
Intel Wide Dynamic Execution |
53 |
 |
|
54 |
 |
|
55 |
 |
Разрешение конфликтов (между операциями чтения и записи) по адресамобращения к памяти. |
56 |
 |
|
57 |
 |
|
58 |
 |
|
59 |
 |
|
«Архитектура P6» |