Intel P6 | это... Что такое Intel P6? (original) (raw)

P6суперскалярная суперконвейерная архитектура, разработанная компанией Intel и лежащая в основе микропроцессоров Pentium Pro, Pentium II, Pentium III, Celeron и Xeon. В отличие от x86-совместимых процессоров предыдущих поколений с CISC-ядром, процессоры архитектуры P6 имеют RISC-ядро, исполняющее сложные инструкции x86 не напрямую, а предварительно декодируя их в простые внутренние микрооперации.

Первым процессором архитектуры P6 стал анонсированный 1 ноября 1995 года процессор Pentium Pro, нацеленный на рынок рабочих станций и серверов. Процессоры Pentium Pro выпускались параллельно с процессорами архитектуры P5 (Pentium и Pentium MMX), предназначенными для персональных компьютеров. 7 мая 1997 года компанией Intel был анонсирован процессор Pentium II, пришедший на смену процессорам архитектуры P5.[1]

В 2000 году на смену архитектуре P6 на рынке настольных и серверных процессоров пришла архитектура NetBurst, однако архитектура P6 получила своё развитие в мобильных процессорах Pentium M и Core. В 2006 году на смену процессорам архитектуры NetBurst пришли процессоры семейства Core 2 Duo, архитектура которых также представляет собой развитие архитектуры P6.[2][3]

Содержание

Функциональные устройства

Функциональная схема процессора Pentium III на ядре Coppermine

Процессоры архитектуры P6 состоят из четырёх основных подсистем:

Подсистема упорядоченной предварительной обработки

К устройствам этой подсистемы относятся:

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

Ядро исполнения с изменением последовательности

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

К исполнительным устройствам ядра относятся:

Подсистема упорядоченного завершения

Подсистема памяти

Объём L2 процессоров архитектуры P6

Объём (Кб) Процессоры
128 Celeron (Mendocino, Coppermine-128), Pentium III (Coppermine для приставки Xbox[4])
256 Pentium Pro, Pentium III (Coppermine, Tualatin-256), Xeon (Cascades)
512 Pentium Pro, Pentium II, Pentium III (Katmai, Tualatin), Xeon (Drake, Tanner)
1024 Pentium Pro, Xeon (Drake, Tanner)
2048 Xeon (Drake, Tanner, Cascades 2MB)

Подсистема памяти осуществляет взаимодействие с оперативной памятью. К этой подсистеме относятся:

Исполнение инструкции

Конвейер процессора Pentium Pro

Конвейер состоит из 12 стадий[5]:

Исполнение инструкции начинается с её выборки и декодирования. Для этого из кэш-памяти инструкций первого уровня по адресу из буфера предсказания переходов выбирается 64 байта (две строки). Из них 16 байт, начиная с адреса из блока вычисления адреса следующей инструкции, выравниваются и передаются в декодер инструкций, преобразующий инструкции x86 в микрооперации. Если инструкции соответствует одна микрооперация, декодирование проводит один из декодеров простых инструкций. Если инструкции соответствует две, три или четыре микрооперации, декодирование проводит декодер сложных инструкций. Если же инструкции соответствует большее число микроопераций, то они формируются планировщиком последовательностей микроопераций.

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

По результатам исполнения микроопераций определяется их готовность к отставке (англ. retirement). В случае готовности происходит их отставка в порядке, предусмотренном программой, во время которой осуществляется обновление состояния логических регистров, а также отложенное сохранение результатов в памяти (управление порядком записи данных осуществляет буфер переупорядочивания памяти)[1].

Особенности архитектуры

Первые процессоры архитектуры P6 в момент выхода значительно отличались от существующих процессоров. Процессор Pentium Pro отличало применение технологии динамического исполнения (изменения порядка исполнения инструкций), а также архитектура двойной независимой шины (англ. Dual Independent Bus), благодаря чему были сняты многие ограничения на пропускную способность памяти, характерные для предшественников и конкурентов. Тактовая частота первого процессора архитектуры P6 составляла 150 МГц, а последние представители этой архитектуры имели тактовую частоту 1,4 ГГц. Процессоры архитектуры P6 имели 36-разрядную шину адреса, что позволило им адресовать до 64 ГБ памяти (при этом линейное адресное пространство процесса ограничено 4 ГБ, см PAE).

Суперскалярный механизм исполнения инструкций с изменением их последовательности

Принципиальным отличием архитектуры P6 от предшественников является RISC-ядро, работающее не с инструкциями x86, а с простыми внутренними микрооперациями. Это позволяет снять множество ограничений набора команд x86, таких как нерегулярное кодирование команд, переменная длина операндов и операции целочисленных пересылок регистр-память[1]. Кроме того, микрооперации исполняются не в той последовательности, которая предусмотрена программой, а в оптимальной с точки зрения производительности, а применение трёхконвейерной обработки позволяет исполнять несколько инструкций за один такт[6].

Суперконвейеризация

Процессоры архитектуры P6 имеют конвейер глубиной 12 стадий. Это позволяет достигать более высоких тактовых частот по сравнению с процессорами, имеющими более короткий конвейер при одинаковой технологии производства. Так, например, максимальная тактовая частота процессоров AMD K6 на ядре (глубина конвейера — 6 стадий, 180 нм. технология) составляет 550 МГц, а процессоры Pentium III на ядре Coppermine способны работать на частоте, превышающей 1000 МГц.

Для того, чтобы предотвратить ситуацию ожидания исполнения инструкции (и, следовательно, простоя конвейера), от результатов которого зависит выполнение или невыполнение условного перехода, в процессорах архитектуры P6 используется предсказание ветвлений. Для этого в процессорах архитектуры P6 используется сочетание статического и динамического предсказания: двухуровневый адаптивный исторический алгоритм (англ. Bimodal branch prediction) применяется в том случае, если буфер предсказания ветвлений содержит историю переходов, в противном случае применяется статический алгоритм[6][7].

Двойная независимая шина

С целью увеличения пропускной способности подсистемы памяти, в процессорах архитектуры P6 применяется двойная независимая шина. В отличие от предшествующих процессоров, системная шина которых была общей для нескольких устройств, процессоры архитектуры P6 имеют две раздельные шины: Back side bus, соединяющую процессор с кэш-памятью второго уровня, и Front side bus, соединяющую процессор с северным мостом набора микросхем[6].

Достоинства

Процессоры архитектуры P6 имели конвейеризованный математический сопроцессор (FPU), позволивший достичь превосходства над предшественниками и конкурентами в скорости вещественночисленных вычислений[8]. FPU процессоров архитектуры P6 оставался лучшим среди конкурентов до появления в 1999 году процессора AMD Athlon[9].

Кроме того, процессоры архитектуры P6 имели превосходство над конкурентами и в скорости работы с кэш-памятью второго уровня. Pentium Pro и Pentium II имели двойную независимую шину, в то время как конкурирующие процессоры (AMD K5, K6, Cyrix 6x86, M-II) — традиционную системную шину к которой подключался, в том числе, и кэш второго уровня[10]. С появлением процессоров Athlon, также использующих архитектуру с двойной независимой шиной, разрыв в производительности сократился, но 256-разрядная BSB процессоров Pentium III (начиная с ядра Coppermine) позволяла удерживать преимущество в скорости работы с кэш-памятью второго уровня над процессорами архитектуры K7, имевшими 64-разрядную BSB. Однако, устаревшая на тот момент системная шина процессоров архитектуры P6 в сочетании с большим объёмом кэш-памяти первого уровня у процессоров архитектуры K7 не позволяла получить преимущество в пропускной способности памяти[11].

Недостатки

Основным недостатком первых процессоров архитектуры P6 (Pentium Pro) была низкая производительность при работе с широко распространённым в то время 16-разрядным программным обеспечением. Это было связано с тем, что при работе с такими приложениями внеочередное исполнение инструкций было затруднено (так, например, процессор Pentium Pro не мог выполнить чтение из 32-битного регистра, если до этого была выполнена запись в его 16-битную младшую часть, а команда, выполнившая запись, не была отставлена[12]). В процессоре Pentium II этот недостаток был исправлен, что привело к увеличению производительности при работе с 16-разрядными программами более чем на треть[13].

Процессоры архитектуры P6 поддерживали работу в многопроцессорных системах, однако при этом использовалась разделяемая системная шина, что позволяло упростить трассировку системных плат, однако отрицательно сказывалось на производительности подсистемы процессор—память и ограничивало максимальное количество процессоров в системе[9][14].

Процессоры архитектуры P6

Процессор Ядро Технология производства Годы выпуска
Pentium Pro P6 КМОП/БиКМОП, 500—350 нм 19951998
Pentium II Klamath, Deschutes КМОП, 350—250 нм 19971999
Pentium III Katmai, Coppermine, Tualatin-256 КМОП, 250—130 нм 1999—2002
Pentium III-S Tualatin КМОП, 130 нм 2001—2002
Celeron Covington, Mendocino, Coppermine-128, Tualatin-256 КМОП, 250—130 нм 1998—2002
Pentium II Xeon Drake КМОП, 250 нм 1998—1999
Pentium III Xeon Tanner, Cascades, Cascades 2MB КМОП, 250—180 нм 1999—2001
Pentium Pro (P6) Pentium II (Deschutes) Pentium III (Coppermine) Pentium IIIS (Tualatin)
Pentium Pro (P6) Pentium II (Deschutes) Pentium III (Coppermine) Pentium IIIS (Tualatin)
Pentium III Mobile Celeron (Mendocino) Celeron (Mendocino) Celeron (Coppermine-128)
Pentium III Mobile Celeron (Mendocino) Celeron (Mendocino) Celeron (Coppermine-128)

Примечания

  1. 1 2 3 В ожидании Willamette — история архитектуры IA-32 и как работают процессоры семейства P6
  2. Pentium M: хороший «десктопный» CPU… которого у нас не будет. IXBT.com (26 июля 2005). Архивировано из первоисточника 25 августа 2011. Проверено 16 августа 2008.
  3. Новое вино в старые мехи. Conroe: внук процессора Pentium III, племянник архитектуры NetBurst?. IXBT.com (9 сентября 2005). Архивировано из первоисточника 29 января 2012. Проверено 16 августа 2008.
  4. В отличие от процессора Celeron на ядре Coppermine-128, имеющего 4-канальный ассоциативный кэш второго уровня, у этого процессора кэш 8-канальный. См.: «Мир игровых консолей. Часть пятая», журнал Upgrade, 2007, № 28 (325), стр. 24
  5. Jon Stokes The Pentium: An Architectural History of the World’s Most Famous Desktop Processor (Part I) (англ.). Ars Technica (11 июля 2004). Архивировано из первоисточника 29 января 2012. Проверено 19 августа 2008.
  6. 1 2 3 X86 архитектуры бывают разные…
  7. http://www.pcmag.ru/issues/sub\_detail.php?ID=10105&SUB\_PAGE=8 — Наследие RISC: Предсказание переходов.
  8. Сравнение систем на базе Super Socket-7 и Slot-1
  9. 1 2 Обзор процессора AMD Athlon 600 МГц
  10. Шина PCI (Peripheral Component Interconnect bus) — см. схему
  11. Процессоры с частотой 1000 МГц
  12. Максим Лень: «АРХИТЕКТУРА Р6: НАСЛЕДИЕ ПОКОЛЕНИЙ» (опубликована на сайте fcenter.ru 22 ноября 2000 года) — сохранённая копия
  13. http://www.pcmag.ru/issues/sub\_detail.php?ID=9935&SUB\_PAGE=3 — Pentium: история продолжается.
  14. Двухпроцессорные Socket A системы на базе чипсета AMD 760MP

Ссылки

Официальная информация

Характеристики процессоров архитектуры P6

Обзоры процессоров

Просмотр этого шаблона Процессоры Intel
Больше непроизводятся 4 бита: 400440408 бит: 800880808085x86-16 (16 бит): 80868088801868018880286x86-32/IA-32 (32 бита): 8038680486Pentium (OverDriveProIIII OverDriveIII4M) • Celeron (MD) • CoreIntel A100/A110 • x86-64/EM64T (64 бита): Pentium 4 (некоторые) • Pentium DPentium EECeleron D (некоторые) • IA-64 (64 бита): ItaniumДругие: iAPX 432RISC: i860i960StrongARM • XScale
Актуальные x86-32: EP80579 • Intel CE • Atomx86-64: Atom (некоторые) • CeleronPentium Dual-CoreCore (2 (SoloDuoQuad • Extreme) • i3i5i7) • XeonДругие: Itanium 2/Itanium 9300
Списки Разъём процессора • Типы корпусовКодовые именаЧипсетыБудущие процессорыПо маркам: Atom • CeleronPentium (II • III • M • 4D и EEDual-Core и последующие) • Core (2 • i3i5i7) • Xeon • Itanium
Микроархитектуры
P5 0,90 мкм: P5 • 0,60 мкм: P54C • 0,35 мкм: P54CS • P55C • 0,25 мкм: Tillamook
P6 0,50 мкм: P60,35 мкм: Klamath • 0,25 мкм: Mendocino • Dixon • Tonga • Covington • Deschutes • Katmai • Drake • Tanner • 180 нм: Coppermine • Coppermine T • Cascades • 130 нм: Tualatin • Banias • 90 нм: Dothan • Stealey • 65 нм: Tolapai • Yonah • Sossaman
NetBurst 180 нм: Willamette • Foster • 130 нм: Northwood • Gallatin • Prestonia • 90 нм: Tejas и Jayhawk • Prescott • Smithfield • Nocona • Irwindale • Cranford • Potomac • Paxville • 65 нм: Cedar Mill • Presler • Dempsey • Tulsa
Core 65 нм: Merom-L • Merom • Conroe-L • Allendale • Conroe • Kentsfield • Woodcrest • Clovertown • Tigerton • 45 нм: Penryn • Penryn-QC • Wolfdale • Yorkfield • Wolfdale-DP • Harpertown • Dunnington
Bonnell 45 нм: Silverthorne • Diamondville • Pineview • Lincroft
Nehalem 45 нм: Clarksfield • Lynnfield • Jasper Forest • Bloomfield • Gainestown (Nehalem-EP) • Beckton (Nehalem-EX) • 32 нм (Westmere): Arrandale • Clarkdale • Gulftown (Westmere-EP)
Bridge 32 нм: Sandy Bridge22 нм: Ivy Bridge
Будущие LarrabeeHaswellBroadwell • Rockwell • Atom (Saltwell • Silvermont • Airmont)

Эта статья входит в число хороших статей