Реклама


I686

INTEL Celeron P6 Mendocino SL3EH DSC05672 (24232222069).jpg
INTEL Celeron P6 Mendocino SL3EH DSCF5561 (23798486614).jpg
Кристалл процессора Intel Celeron P6

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
Объём (Кб) Процессоры
0 Celeron Covington
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)
Pentium III Mobile Celeron (Mendocino) Celeron (Mendocino) Celeron (Coppermine-128)

Схема развития архитектур Intel[ | код]

Поколения процессоров Intel

Примечания[ | код]

  1. 1 2 3 В ожидании Willamette — история архитектуры IA-32 и как работают процессоры семейства P6. Дата обращения: 12 августа 2008. Архивировано 2 июля 2013 года.
  2. Pentium M: хороший «десктопный» CPU… которого у нас не будет. IXBT.com (26 июля 2005). Дата обращения: 16 августа 2008. Архивировано из оригинала 24 августа 2011 года.
  3. Новое вино в старые мехи. Conroe: внук процессора Pentium III, племянник архитектуры NetBurst?. IXBT.com (9 сентября 2005). Дата обращения: 16 августа 2008. Архивировано из оригинала 3 января 2014 года.
  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). Дата обращения: 19 августа 2008. Архивировано из оригинала 28 января 2012 года.
  6. 1 2 3 X86 архитектуры бывают разные…. Дата обращения: 11 мая 2022. Архивировано 4 января 2012 года.
  7. http://www.pcmag.ru/issues/sub_detail.php?ID=10105&SUB_PAGE=8 — Наследие RISC: Предсказание переходов.
  8. Сравнение систем на базе Super Socket-7 и Slot-1. Дата обращения: 12 августа 2008. Архивировано 2 июля 2013 года.
  9. 1 2 Обзор процессора AMD Athlon 600 МГц. Дата обращения: 12 августа 2008. Архивировано 4 апреля 2013 года.
  10. Шина PCI (Peripheral Component Interconnect bus) Архивная копия от 4 апреля 2013 на Wayback Machine — см. схему
  11. Процессоры с частотой 1000 МГц. Дата обращения: 12 августа 2008. Архивировано 23 июня 2008 года.
  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. Дата обращения: 11 мая 2022. Архивировано 23 февраля 2009 года.

Ссылки[ | код]

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

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

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

Реклама