Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Intel P6

Неперевірена версія(що робити?)
Матеріал з Вікіпедії — вільної енциклопедії.

Статус версії сторінки

Сторінка не перевірена

Немаєперевірених версій цієї сторінки; ймовірно, її щене перевіряли на відповідність правилам проєкту.
Intel P6
Роки виробництва:з1 листопада1995 по2003
Розробник:Intel Редагувати інформацію у Вікіданих
Макс.частотаCPU:150 МГц – 1,4 ГГц
ЧастотаFSB:60 МГц – 133 МГц
Техпроцес:500нм – 130нм
Набір команд:x86
Мікроархітектура:P6
Ядра:1
Кеш L1:16 — 32 КБ
Кеш L2:128 КБ — 2048 КБ
Попередник:Pentium
Наступник:NetBurst,Pentium M
Роз'єм(и):
Розширення


P6 —суперскалярнасуперконвеєрнамікроархітектурапроцесорів, яка розроблена компанієюIntel і лежить в основімікропроцесорівPentium Pro,Pentium II,Pentium III,Celeron іXeon. На відміну відx86-сумісних процесорів попередніх поколінь зCISC-ядром, процесори архітектури P6 маютьRISC-ядро, що виконує складні інструкції x86 не безпосередньо, а попередньо декодуючи їх в прості внутрішнімікрооперації[en].

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

У 2000 році на зміну архітектурі P6 на ринку настільних і серверних процесорів прийшла архітектураNetBurst, однак архітектура P6 отримала свій розвиток в мобільних процесорахPentium M іCore. У 2006 році на зміну процесорам архітектури NetBurst прийшли процесори сімействаCore 2 Duo, архітектура яких також являє собою розвиток архітектури P6.

Функціональна схема

[ред. |ред. код]
Функціональна схема процесораPentium III на ядрі Coppermine

Процесори архітектури P6 складаються з чотирьох основних підсистем:

  • Підсистема впорядкованої попередньої обробки (англ. In-Order Front End, IOFE) — відповідає за вибірку і декодуванняінструкцій в порядку, передбаченому програмою, іпередбачує переходи.
  • Ядро виконання зізміною послідовності (англ. Out-of-Order Core, O2C) — відповідає за виконання мікрооперацій в оптимальному порядку і організовує взаємодіювиконавчих пристроїв.
  • Підсистема упорядкованого завершення (англ. In-Order Retirement, IOR) — видає результати виконання в порядку, передбаченому програмою.
  • Підсистема пам'яті (англ.memory subsystem) — забезпечує взаємодію процесора зоперативною пам'яттю.
Підсистема впорядкованої попередньої обробки

До пристроїв цієї підсистеми відносяться:

  • Модуль ібуферпередбачення переходів (Branch Target Buffer, BTB) — передбачають переходи і зберігають таблицю історії переходів. Для передбачення використовуються як динамічний, так і статичний методи. Останній використовується в тому випадку, якщо динамічне передбачення неможливе (у таблиці переходів відсутня необхідна інформація).
  • Декодер інструкцій (Instruction Decoder) — перетворюєCISC-інструкції x86 в послідовністьRISC-мікрооперацій, виконуваних процесором. Включає два декодера простих інструкцій (Simple), що обробляють команди, які можуть бути виконані однією мікрооперацією, і декодер складних інструкцій (Complex), який обробляє команди, для яких потрібно кілька (до чотирьох) мікрооперацій.
  • Планувальник послідовностей мікрооперацій (Microcode sequencer) — зберігає послідовності мікрооперацій, використовуваних при декодуванні складних інструкцій x86, що вимагають більше чотирьох мікрооперацій.
  • Блок обчислення адреси наступної інструкції (Next IP Unit) — обчислюєадресу інструкції (англ.instruction pointer, IP), яка повинна бути оброблена наступною, на підставі інформації про переривання і таблиці переходів.
  • Блок вибірки інструкцій (Instruction Fetch Unit, IFU) — здійснює вибірку інструкцій з пам'яті за адресами, підготовленим блоком обчислення адреси наступної інструкції.

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

Ядро виконання зізміною послідовності

Виконання зі зміною послідовності, при якому змінюється черговість виконання інструкцій, так, щоб це не призводило до зміни результату, дозволяє прискорити роботу за рахунок більш оптимального розподілу запитів до допоміжних блоків і мінімізації їх простоїв. До пристроїв організації виконання зі зміною послідовності відносяться:

  • Таблицяпризначення регістрів (Register Alias ​​Table) — задає відповідність міжрегістрами архітектури x86/IA32 (Intel Architecture 32-bit) і внутрішніми регістрами, використовуваними при виконанні мікрооперацій.
  • Буфер переупорядкування мікрооперацій (Reorder Buffer) — забезпечує виконання мікрооперацій в оптимальною з точки зору продуктивності послідовності.
  • Станція-резервуар (Reservation Station) — містить інструкції, що відправляються на виконавчі пристрої.

До виконавчих пристроїв ядра відносяться:

  • Арифметично-логічні пристрої,ALU (Arithmetic Logic Unit, ALU) — виконують цілочисельні операції.
  • Блок арифметики з рухомою комою (Floating Point Unit, FPU) — виконує операції надчислами з рухомою комою. Процесори Pentium III і вище мають також блок, який здійснює виконання інструкційSSE (SIMD FPU).
  • Блок генерації адрес (Address Generation Unit, AGU) — обчислює адреси даних, використовуваних інструкціями, і формує запити до кешу для завантаження/розвантаження цих даних.
Підсистема упорядкованого завершення
  • Регістровий файл (Register File) — зберігає результати операцій (стан регістрів IA32 для виконуваних інструкцій).
  • Буфер переупорядкування пам'яті (Memory Reorder Buffer) — керує порядком запису даних в пам'ять для запобігання запису невірних даних через зміну порядку виконання інструкцій.
  • Блок завершення (Retirement Unit) — видає результати виконання інструкцій в тій послідовності, в якій вони надійшли на виконання.
Підсистема пам'яті
Об'єм L2 процесорів архітектури P6
Об'єм (Кб)Процесори
0CeleronCovington
128Celeron (Mendocino,Coppermine-128),Pentium III (Coppermine для консоліXbox[1])
256Pentium Pro, Pentium III (Coppermine,Tualatin-256),Xeon (Cascades)
512Pentium Pro,Pentium II, Pentium III (Katmai,Tualatin), Xeon (Drake,Tanner)
1024Pentium Pro, Xeon (Drake, Tanner)
2048Xeon (Drake, Tanner, Cascades 2MB)

Підсистема пам'яті здійснює взаємодію з оперативною пам'яттю. До цієї підсистеми відносяться:

  • Кеш першого рівня для даних (Level 1 Data Cache, L1D) — пам'ять з малим часом доступу об'ємом 8 (дляPentium Pro) або 16 (для більш нових процесорів)кілобайт, призначена для зберігання даних.
  • Кеш першого рівня для інструкцій (Level 1 Instruction Cache, L1I) — пам'ять з малим часом доступу об'ємом 8 (Pentium Pro) або 16 кілобайт, призначена для зберігання інструкцій.
  • Кеш другого рівня (Level 2 Cache, L2). Пам'ять з малим часом доступу об'ємом 128, 256, 512, 1024 або 2048 кілобайт. Ширина шини L2 становить 64 або 256 (для процесорів на ядріCoppermine і вище)біт. ПроцесориCeleron на ядріCovingtonкешу другого рівня не мають.
  • Блок шинного інтерфейсу (Bus Interface Unit) — керує системною шиною.

Виконання інструкції

[ред. |ред. код]
Конвеєр процесора Pentium Pro

Конвеєр складається з 12 стадій[2]:

  • IOFE (1-4) — визначення адреси інструкції та її вибірка.
  • IOFE (4-6) — декодування.
  • IOFE7 — перейменування регістрів.
  • IOFE8 — запис мікрооперацій в станцію-резервуар.
  • O2C1 — передача мікрооперацій зі станції-резервуара до виконавчих блоків.
  • O2C2 — виконання мікрооперацій (один або кілька тактів).
  • IOR (1-2) — завершення інструкції: запис результатів в регістри.

Виконання інструкції починається з її вибірки і декодування. Для цього з кеш-пам'яті інструкцій першого рівня за адресою з буфера передбачення переходів вибирається 64 байти (два рядки). З них 16 байт, починаючи із адреси з блоку обчислення адреси наступної інструкції, вирівнюються і передаються в декодер інструкцій, що перетворює інструкції x86 в мікрооперації. Якщо інструкції відповідає одна мікрооперація, декодування проводить один з декодерів простих інструкцій. Якщо інструкції відповідає дві, три або чотири мікрооперації, декодування проводить декодер складних інструкцій. Якщо ж інструкції відповідає більше число мікрооперацій, то вони формуються планувальником послідовностей мікрооперацій.

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

За результатами виконання мікрооперацій визначається їх готовність до відставки (англ.retirement). У разі готовності відбувається їх відставка в порядку, передбаченому програмою, під час якої здійснюється оновлення стану логічних регістрів, а також відкладене збереження результатів в пам'яті (управління порядком запису даних здійснює буфер переупорядкування пам'яті)[3].

Особливості архітектури

[ред. |ред. код]

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

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

Принциповою відмінністю архітектури P6 від попередників є RISC-ядро, яке працює не з інструкціями x86, а з простими внутрішніми мікроопераціями. Це дозволяє зняти безліч обмежень набору команд x86, таких як нерегулярне кодування команд, змінна довжина операндів і операції цілочислових пересилань регістр-пам'ять[3]. Крім того, мікрооперації виконуються не в тій послідовності, яка передбачена програмою, а в оптимальною з точки зору продуктивності, а застосування триконвеєрної обробки дозволяє виконувати декілька інструкцій за один такт[4].

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

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

Для того, щоб запобігти ситуації очікування виконання інструкції (і, отже, простою конвеєра), від результатів якого залежить виконання або невиконання умовного переходу, в процесорах архітектури P6 використовується передбачення розгалужень. Для цього в процесорах архітектури P6 використовується поєднання статичного і динамічного передбачення: дворівневий адаптивний історичний алгоритм (англ.Bimodal branch prediction) застосовується в тому випадку, якщо буфер передбачення розгалужень містить історію переходів, в іншому випадку застосовується статичний алгоритм[4]

Подвійна незалежна шина

З метою збільшення пропускної спроможності підсистеми пам'яті, в процесорах архітектури P6 застосовується подвійна незалежна шина. На відміну від попередніх процесорів, системна шина яких була спільною для декількох пристроїв, процесори архітектури P6 мають дві роздільні шини:Back-side bus, що сполучає процесор з кеш-пам'яттю другого рівня, іFront side bus, що сполучає процесор з північним мостом набору мікросхем[4].

Переваги

[ред. |ред. код]

Процесори архітектури P6 мали конвеєризований математичний співпроцесор (FPU), що дозволив досягти переваги над попередниками і конкурентами у швидкості дійсночисельних обчислень[5]. FPU процесорів архітектури P6 залишався найкращим серед конкурентів до появи в1999 році процесора AMDAthlon[6].

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

Недоліки

[ред. |ред. код]

Основним недоліком перших процесорів архітектури P6 (Pentium Pro) була низька продуктивність при роботі з широко поширеним в той час 16-розрядним програмним забезпеченням. Це було пов'язано з тим, що при роботі з такими додатками позачергове виконання інструкцій було ускладнено (так, наприклад, процесор Pentium Pro не міг виконати читання з 32-бітногорегістра, якщо до цього був виконаний запис у його 16-бітну молодшу частину, а команда, що виконала запис, не була відставлена ​[9]). У процесоріPentium II цей недолік був виправлений, що призвело до збільшення продуктивності при роботі з 16-розрядними програмами більш ніж на третину[10]. Процесори архітектури P6 підтримували роботу в багатопроцесорних системах, однак при цьому використовувалася колективна системна шина, що дозволяло спростити трасування системних плат, однак негативно позначалося на продуктивності підсистеми процесор-пам'ять і обмежувало максимальну кількість процесорів в системі[6][11].

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

[ред. |ред. код]
ПроцесорЯдроТехнологія виготовленняРоки випуску
Pentium ProP6КМОН/BiCMOS, 500—350нм19951998
Pentium IIKlamath, DeschutesКМОН, 350—250 нм19971999
Pentium IIIKatmai, Coppermine, Tualatin-256КМОН, 250—130 нм19992002
Pentium III-STualatinКМОН, 130 нм20012002
CeleronCovington, Mendocino, Coppermine-128, Tualatin-256КМОН, 250—130 нм19982002
Pentium II XeonDrakeКМОН, 250 нм19981999
Pentium III XeonTanner, Cascades, Cascades 2MBКМОН, 250—180 нм19992001
 
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 MobileCeleron (Mendocino)Celeron (Mendocino)Celeron (Coppermine-128)
Pentium III MobileCeleron (Mendocino)Celeron (Mendocino)Celeron (Coppermine-128)

Схема розвитку архітектур Intel

[ред. |ред. код]
Intel processor roadmap
Розвиток мікроархітектур процесорів Intel, починаючи зNetBurst іIntel P6 доSkylake

Посилання

[ред. |ред. код]

Офіційна інформація

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

Огляди процесорів

Примітки

[ред. |ред. код]
  1. На відміну від процесора Celeron на ядрі Coppermine-128, який має 4-канальний асоціативний кеш другого рівня, у цього процесора кеш 8-канальний. Див.: «Світ ігрових консолей. Частина п'ята», журнал Upgrade, 2007, № 28 (325), стр. 24
  2. Jon Stokes (11 липня 2004).The Pentium: An Architectural History of the World's Most Famous Desktop Processor (Part I)(англ.). Ars Technica.Архів оригіналу за 28 січня 2012. Процитовано 19 серпня 2008.
  3. абВ очікуванні Willamette — історія архітектури IA-32 і як працюють процесори сімейства P6. Архіворигіналу за 2 липня 2013. Процитовано 7 червня 2013.
  4. абвX86 архітектури бувають різні …. Архіворигіналу за 4 січня 2012. Процитовано 28 квітня 2022.[Архівовано 2012-01-04 уWayback Machine.]
  5. Порівняння систем на базі Super Socket-7 і Slot-1. Архіворигіналу за 2 липня 2013. Процитовано 7 червня 2013.
  6. абОгляд процесора AMD Athlon 600 МГц. Архіворигіналу за 4 квітня 2013. Процитовано 7 червня 2013.
  7. Шина PCI (Peripheral Component Interconnect bus)[Архівовано 4 квітня 2013 уWayback Machine.] — див. схему
  8. com/cpu/1000-p3-vs-tb.html Процесори з частотою 1000 МГц[недоступне посилання з червня 2019]
  9. Максим Лінь: «АРХІТЕКТУРА Р6: СПАДЩИНА ПОКОЛІНЬ» (опублікована на сайті fcenter.ru 22 листопада 2000) —збережена копія[недоступне посилання з лютого 2019]
  10. історія продовжується
  11. Двопроцесорні Socket A системи на базі чипсету AMD 760MP. Архіворигіналу за 23 лютого 2009. Процитовано 28 квітня 2022.[Архівовано 2009-02-23 уWayback Machine.]


Історичні
Орієнтовані наДДК (4-біт)
4004 • 4040
До x86 (8-біт)
8008 • 8080 • 8085
x86 (16 біт)
8086 • 8088 • 80186 • 80188 • 80286
8/16-біт шина даних8087;16-біт шина даних801878028780387SX;32-біт шина даних80387DX80487
x86/IA32 (32 біт)
80386 • 80486 • Pentium (Pro • II • III • 4 • M • Dual-Core) • Celeron (D • M) • Centrino • Core (Solo • Duo) • Xeon (PII • PIII • P4 • Core) • Quark
x86-64/EM64T (64 біт)
Pentium 4 (деякі) (D • EE • Dual-Core) • Celeron (D • Dual-Core • Intel Atom (SoC • CE) • Core (2 • Nehalem • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake • Kaby Lake • Coffee Lake • Coffee Lake Refresh) • Xeon (Nehalem • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake)
Інші
8048 • 8051 • MCS-96
Сучасні
Celeron • Pentium • Atom • Xeon • Core (Ice Lake • Tiger Lake • Alder Lake)
Списки
Мікроархітектури
x86/IA32 (32 біт)
P5 • P6 • NetBurst • Core • Nehalem • Westmere • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake • Cannon Lake • Sunny Cove • Cypress Cove • Willow Cove • Golden Cove
x86-64/EM64T (64 біт)
x86 ULV
Отримано зhttps://uk.wikipedia.org/wiki/Intel_P6
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2025 Movatter.jp