Сторінка не перевірена
![]() | |
Роки виробництва: | з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.
Процесори архітектури P6 складаються з чотирьох основних підсистем:
До пристроїв цієї підсистеми відносяться:
Процесори на ядрі Tualatin додатково містять блок передвибірки інструкцій (Prefetcher), який здійснює попередню вибірку інструкцій на підставі таблиці переходів.
Виконання зі зміною послідовності, при якому змінюється черговість виконання інструкцій, так, щоб це не призводило до зміни результату, дозволяє прискорити роботу за рахунок більш оптимального розподілу запитів до допоміжних блоків і мінімізації їх простоїв. До пристроїв організації виконання зі зміною послідовності відносяться:
До виконавчих пристроїв ядра відносяться:
Об'єм (Кб) | Процесори |
---|---|
0 | CeleronCovington |
128 | Celeron (Mendocino,Coppermine-128),Pentium III (Coppermine для консоліXbox[1]) |
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) |
Підсистема пам'яті здійснює взаємодію з оперативною пам'яттю. До цієї підсистеми відносяться:
Конвеєр складається з 12 стадій[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].
Процесор | Ядро | Технологія виготовлення | Роки випуску |
---|---|---|---|
Pentium Pro | P6 | КМОН/BiCMOS, 500—350нм | 1995—1998 |
Pentium II | Klamath, Deschutes | КМОН, 350—250 нм | 1997—1999 |
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 III Mobile | Celeron (Mendocino) | Celeron (Mendocino) | Celeron (Coppermine-128) |
Офіційна інформація
Характеристики процесорів архітектури P6
Огляди процесорів