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

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

  • Upload
    abiola

  • View
    93

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Архитектура  P6

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

Page 2: Архитектура  P6

Архитектура P6Начало разработки: 1990 годЦель: Достигнуть производительности

большей, чем процессоры архитектуры P5 и процессоры конкурентов.

Процессоры• Pentium Pro (1995) до 200 МГц• Pentium II (1997) до 450 МГц• Pentium III (1999) до 1.3 ГГц• Pentium M (2003) до 2.26 ГГц

Page 3: Архитектура  P6

Архитектура P6Начало разработки: 1990 годЦель: Достигнуть производительности

большей, чем процессоры архитектуры P5 и процессоры конкурентов.

Процессоры• Pentium Pro (1995) до 200 МГц• Pentium II (1997) до 450 МГц• Pentium III (1999) до 1.3 ГГц• Pentium M (2003) до 2.26 ГГц

Page 4: Архитектура  P6

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

Отличительные особенности ядра• 12-стадийный суперконвейер• Внешний интерфейс CISC, внутреннее ядро

RISC• Двойная независимая шина• Динамическое исполнение команд

– Предсказание ветвлений– Переименование регистров– Спекулятивное исполнение– Исполнение вне порядка– Суперскалярное исполнение

Возможно исполнение до 3-х команд за такт.

Page 5: Архитектура  P6

Упрощенная структура конвейера P6

• Входной блок упорядоченной обработки команд (In-order front end)

• Исполнительное ядро с изменением порядка исполнения (Out-of-order execution core)

• Блок упорядоченного завершения команд (In-order retirement)

Page 6: Архитектура  P6
Page 7: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Page 8: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Определение адреса следующей команды (на основании BTB).

Page 9: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Чтение 2 кэш-строк, выборка пакета 16B, выравнивание пакета.

Page 10: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Декодирование: преобразование команд в uOPs.Обработка максимум 3-х команд x86 (6 uOPs: 4-1-1) за такт.

Page 11: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Декодирование: преобразование команд в uOPs. Максимум 1 команда перехода за такт. Информация о ветвлениях отправляется в BTB.

Page 12: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

На входе очереди максимум 6 uOPs за такт (4-1-1).На выходе очереди максимум 3 uOPs за такт.

Page 13: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Создается запись в Reorder Buffer.Отображение программных регистров на физические.

Page 14: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Чтение операндов для uOP.

Page 15: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Когда операнды готовы, uOP помещается в станцию резервации (RS) и ждет исполнения.

Page 16: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

В произвольном порядке uOP-ы запускаются на исполнение на различных исполнительных устройствах. Максимум 5 результатов за такт.

Page 17: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Операции чтения данных из памяти.

Page 18: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Операции записи данных в память.

Page 19: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Запись результатов в Reorder Buffer.

Page 20: Архитектура  P6

Структура ядра P6

Стадии конвейера:1. BTB02. BTB13. IFU04. IFU15. IFU26. ID07. ID18. RAT9. ROB read10. RS11. Ex12. ROB write13. RRF

Завершение. Запись результатов в выводящий регистровый файл (RRF). Удаление uOPs из ROB. Запись данных в память. Максимум 3 uOPs за такт.

Page 21: Архитектура  P6

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

Page 22: Архитектура  P6

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

Page 23: Архитектура  P6

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

Цель: Достигнуть большой производительности за счет повышения тактовой частоты.

Средства:• Большой конвейер с маленькими стадиями

– Уменьшение задержек на ветвления – кэш трасс, большой BTB– Уменьшение задержек на обращение к памяти – быстрый кэш

• Уменьшение команд, необходимых для выполнения задачи– Векторное расширение SSE2

Процессоры• Pentium 4

– Willamette до 2.4 ГГц– Northwood до 3.2 ГГц– Prescott до 3.х ГГц

Page 24: Архитектура  P6

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

Отличительные особенности ядра• 20 или 31-стадийный гиперконвейер• Внешний интерфейс CISC, внутреннее ядро RISC• Динамическое исполнение команд

– Предсказание ветвлений– Переименование регистров– Спекулятивное исполнение– Исполнение вне порядка– Суперскалярное исполнение

• Кэш трасс (работает на половине частоты)• Небольшая кэш-память с быстрым доступом• Часть ядра работает на удвоенной частоте

Возможно исполнение до 3-х команд за такт.

Page 25: Архитектура  P6

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

Page 26: Архитектура  P6

Кэш трасс

• Состоит из 2048 блоков по 6 ячеек(256 наборов по 8 блоков)

• Все блоке в каждой трассе связаны в двунаправленный список

• Темп чтения – 1 блок за 2 такта

Page 27: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Page 28: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Определение адреса следующей uOP в кэше трасс.

Page 29: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Выборка из кэша трасс в очередь предвыборки до 6 uOPs за 2 такта, подстановка MROM векторов.

Page 30: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Продвижение…

Page 31: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Выборка 3 uOPs из очереди. Выделение ресурсов процессора (места в очередях, буфере переупорядочивания, регистровом файле).

Page 32: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Отображение логических регистров на физические.

Page 33: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Размещение uOP-ов в 2-х очередях uopQ:для операций с памятью и для остальных операций.

Page 34: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

5 планировщиков в зависимости от типа операции выбирают uOPы из очередей uopQ каждый в свою очередь schQ (аналог RS).

Page 35: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Распределение uOPs из 5-ти очередей schQ по 4-м портам исполнительных устройств в произвольном порядке.

Page 36: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Чтение операндов из регистрового файла.

Page 37: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Исполнение

Page 38: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Установка флагов.

Page 39: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Проверка правильности предсказания переходов.

Page 40: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Перенос результата проверки перехода в декодер.

Page 41: Архитектура  P6

Стадии конвейера P71. TC next IP 12. TC next IP 23. TC Fetch 14. TC Fetch 25. Drive6. Allocator7. Rename 18. Rename 29. Queue10. Schedule 111. Schedule 212. Schedule 313. Dispatch 114. Dispatch 215. Register file 116. Register file 217. Execute18. Flags19. Branch check20. Drive

Далее uOP ждет отставки для освобождения ресурсов и записи результатов. Отставка происходит последовательно над теми же тройками uOPs, которые были сформированы на стадии Allocator.

Page 42: Архитектура  P6

Конвейер NetBurst

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

Page 43: Архитектура  P6

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

Page 44: Архитектура  P6

Rapid Execution Engine

• Работает на удвоенной частоте ядра

• Включает:– 2 планировщика быстрых целочисленных

операций– Целочисленный регистровый файл– Порты запуска 0 и 1– Быстрые АЛУ.

Page 45: Архитектура  P6

NetBurst Replay

Page 46: Архитектура  P6

NetBurst Replay

Page 47: Архитектура  P6

Изменения в ядре Prescott

• Длина конвейера увеличилась до 31 стадии• Увеличился объем и латентность кэш-памяти• Добавилось расширение SSE3• Улучшенная предвыборка данных• Улучшенное предсказание ветвлений• Дополнительные буферы комбинированной

отложенной записи в память• Ускорение некоторых операций с целыми

числами (умножение, …)

Page 48: Архитектура  P6

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

Page 49: Архитектура  P6

Архитектура CoreРазработана на основе P6.Цель: увеличить производительность,

снизить энергопотребление и тепловыделение.

Процессорные ядра:• Merom, Conroe, Woodcrest• Kentsfield, Clovertown• …

Пока до 2.93 ГГц

Page 50: Архитектура  P6

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

Page 51: Архитектура  P6
Page 52: Архитектура  P6

Intel Wide Dynamic Execution

Page 53: Архитектура  P6
Page 54: Архитектура  P6
Page 55: Архитектура  P6

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

Page 56: Архитектура  P6
Page 57: Архитектура  P6
Page 58: Архитектура  P6
Page 59: Архитектура  P6