Архитектура P6. Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры.

Презентация:



Advertisements
Похожие презентации
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
Advertisements

Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Архитектура многоядерных процессоров Intel и AMD.
Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Конвейерные вычисления. Что такое конвейеризация? Конвейеризация – это техника, в результате которой задача или команда разбивается на некоторое число.
Современные микропроцессоры. Технология Hyper- Threading Главная цель применения Hyper-Threading не выполнение двух (нескольких) задач одновременно, а.
Современные микропроцессоры Тенденции развития. Рассматриваемые процессоры Intel Itanium 2 Intel Core 2 Duo IBM Cell.
Устройство управления ; Арифметико – логическое устройство. Регистры процессорной памяти.
Процессоры История платформы х 86. Intel i386, AMD Am386 Поддержка защищенного режима параллельная работа некоторых блоков Шины данных и адреса 32 бит.
Процессоры История платформы процессоров на архитектуре х86 Презентация: Бурдина Алексея Группы: 331.
Примеры суперскалярных микропроцессоров. Pentium III.
Устройство компьютера. 2 Системный блок Процессор (CPU = Central Processing Unit) – микросхема, которая обрабатывает информацию и управляет всеми устройствами.
Процессор – это блок, предназначенный для автоматического считывания команд программы, их расшифровки и выполнения.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Процессор и оперативная память. 18 ноября 2013 г.
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 5: Уровень микроархитектуры ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н.,
The AMD Athlon (K7). Шина AMD Athlon AMD Opteron.
Общая структура и состав персонального компьютера.
Разработка интерфейса между системным коммутатором и контроллером памяти с использованием протокола AXI Выпускная квалификационная работа на соискание.
Транксрипт:

Архитектура P6

Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры Pentium Pro (1995) до 200 МГц Pentium II (1997) до 450 МГц Pentium III (1999) до 1.3 ГГц Pentium M (2003) до 2.26 ГГц

Архитектура P6 Начало разработки: 1990 год Цель: Достигнуть производительности большей, чем процессоры архитектуры P5 и процессоры конкурентов. Процессоры Pentium Pro (1995) до 200 МГц Pentium II (1997) до 450 МГц Pentium III (1999) до 1.3 ГГц Pentium M (2003) до 2.26 ГГц

Архитектура P6 Отличительные особенности ядра 12-стадийный суперконвейер Внешний интерфейс CISC, внутреннее ядро RISC Двойная независимая шина Динамическое исполнение команд –Предсказание ветвлений –Переименование регистров –Спекулятивное исполнение –Исполнение вне порядка –Суперскалярное исполнение Возможно исполнение до 3-х команд за такт.

Упрощенная структура конвейера P6 Входной блок упорядоченной обработки команд (In-order front end) Исполнительное ядро с изменением порядка исполнения (Out-of-order execution core) Блок упорядоченного завершения команд (In- order retirement)

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Определение адреса следующей команды (на основании BTB).

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Чтение 2 кэш-строк, выборка пакета 16B, выравнивание пакета.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Декодирование: преобразование команд в uOPs. Обработка максимум 3-х команд x86 (6 uOPs: 4-1-1) за такт.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Декодирование: преобразование команд в uOPs. Максимум 1 команда перехода за такт. Информация о ветвлениях отправляется в BTB.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF На входе очереди максимум 6 uOPs за такт (4-1-1). На выходе очереди максимум 3 uOPs за такт.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Создается запись в Reorder Buffer. Отображение программных регистров на физические.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Чтение операндов для uOP.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Когда операнды готовы, uOP помещается в станцию резервации (RS) и ждет исполнения.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF В произвольном порядке uOP-ы запускаются на исполнение на различных исполнительных устройствах. Максимум 5 результатов за такт.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Операции чтения данных из памяти.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Операции записи данных в память.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Запись результатов в Reorder Buffer.

Структура ядра P6 Стадии конвейера: 1.BTB0 2.BTB1 3.IFU0 4.IFU1 5.IFU2 6.ID0 7.ID1 8.RAT 9.ROB read 10.RS 11.Ex 12.ROB write 13.RRF Завершение. Запись результатов в выводящий регистровый файл (RRF). Удаление uOPs из ROB. Запись данных в память. Максимум 3 uOPs за такт.

Блок неупорядоченного исполнения P6

Архитектура P7 NetBurst

Архитектура NetBurst Цель: Достигнуть большой производительности за счет повышения тактовой частоты. Средства: Большой конвейер с маленькими стадиями –Уменьшение задержек на ветвления – кэш трасс, большой BTB –Уменьшение задержек на обращение к памяти – быстрый кэш Уменьшение команд, необходимых для выполнения задачи –Векторное расширение SSE2 Процессоры Pentium 4 –Willametteдо 2.4 ГГц –Northwoodдо 3.2 ГГц –Prescottдо 3.х ГГц

Архитектура NetBurst Отличительные особенности ядра 20 или 31-стадийный гиперконвейер Внешний интерфейс CISC, внутреннее ядро RISC Динамическое исполнение команд –Предсказание ветвлений –Переименование регистров –Спекулятивное исполнение –Исполнение вне порядка –Суперскалярное исполнение Кэш трасс (работает на половине частоты) Небольшая кэш-память с быстрым доступом Часть ядра работает на удвоенной частоте Возможно исполнение до 3-х команд за такт.

Структура ядра архитектуры NetBurst

Кэш трасс Состоит из 2048 блоков по 6 ячеек (256 наборов по 8 блоков) Все блоке в каждой трассе связаны в двунаправленный список Темп чтения – 1 блок за 2 такта

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Определение адреса следующей uOP в кэше трасс.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Выборка из кэша трасс в очередь предвыборки до 6 uOPs за 2 такта, подстановка MROM векторов.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Продвижение…

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Выборка 3 uOPs из очереди. Выделение ресурсов процессора (места в очередях, буфере переупорядочивания, регистровом файле).

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Отображение логических регистров на физические.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Размещение uOP-ов в 2-х очередях uopQ: для операций с памятью и для остальных операций.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive 5 планировщиков в зависимости от типа операции выбирают uOPы из очередей uopQ каждый в свою очередь schQ (аналог RS).

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Распределение uOPs из 5-ти очередей schQ по 4-м портам исполнительных устройств в произвольном порядке.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Чтение операндов из регистрового файла.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Исполнение

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Установка флагов.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Проверка правильности предсказания переходов.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Перенос результата проверки перехода в декодер.

Стадии конвейера P7 1.TC next IP 1 2.TC next IP 2 3.TC Fetch 1 4.TC Fetch 2 5.Drive 6.Allocator 7.Rename 1 8.Rename 2 9.Queue 10.Schedule 1 11.Schedule 2 12.Schedule 3 13.Dispatch 1 14.Dispatch 2 15.Register file 1 16.Register file 2 17.Execute 18.Flags 19.Branch check 20.Drive Далее uOP ждет отставки для освобождения ресурсов и записи результатов. Отставка происходит последовательно над теми же тройками uOPs, которые были сформированы на стадии Allocator.

Конвейер NetBurst Исполнение вне порядка Исполнение в порядке поступления команд

Исполнительные устройства

Rapid Execution Engine Работает на удвоенной частоте ядра Включает: –2 планировщика быстрых целочисленных операций –Целочисленный регистровый файл –Порты запуска 0 и 1 –Быстрые АЛУ.

NetBurst Replay

Изменения в ядре Prescott Длина конвейера увеличилась до 31 стадии Увеличился объем и латентность кэш-памяти Добавилось расширение SSE3 Улучшенная предвыборка данных Улучшенное предсказание ветвлений Дополнительные буферы комбинированной отложенной записи в память Ускорение некоторых операций с целыми числами (умножение, …)

Архитектура Core

Разработана на основе P6. Цель: увеличить производительность, снизить энергопотребление и тепловыделение. Процессорные ядра: Merom, Conroe, Woodcrest Kentsfield, Clovertown … Пока до 2.93 ГГц

Архитектура 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, … за один такт

Intel Wide Dynamic Execution

Разрешение конфликтов (между операциями чтения и записи) по адресам обращения к памяти.