Difference between revisions 14787440 and 17255584 on ukwiki

{{Infobox Computer Hardware Cpu
| name             = Pentium 4
| image           = Pentium 4-2,4GHz.JPG
| caption         = Intel Pentium 4
| produced-start = 2000
| produced-end    = 2008
| slowest       = 1300 | slow-unit = MHz
| fastest      = 3800 | fast-unit = GHz
(contracted; show full)

Виробництво процесорів Pentium 4 було почате в 2000 році. З середини 2005 року почався їх поступовий перехід до нижньої цінової категорії. Їх місце зайняли двоядерні процесори [[Pentium D]]. 27 липня 2006 року з'явились перші процесори [[Intel Core 2|Core 2 Duo]], що замінили процесори архітектури NetBurst, а вже 8 серпня 2007 року компанія [[Intel]] повідомила про початок дії програми стосовно зняття з виробництва всіх процесорів архітектури [[NetBurst]].


== Нововведення ==
* '''Hyper Pipelined Technology'''
Назвою Hyper Pipelined Technology конвеєр Pentium 4 зобов'язаний своїй довжині – 20 стадій. Для порівняння – довжина конвеєра Pentium III становить 10 стадій. Чого ж досяг Intel, так подовживши конвеєр? Завдяки декомпозиції виконання кожної команди на більш дрібні етапи, кожен з цих етапів може виконуватися швидше, що дозволяє безперешкодно збільшувати частоту процесора. Так, якщо при використовуваному сьогодні технологічному процесі 0.18 мкм гранична частота для Pentium III складає 1 ГГц (ну або, за більш оптимістичними оцінками, 1.13 ГГц), Pentium 4 зможе досягти частоти 2 ГГц. Однак, у надмірно довгого конвеєра є і свої недоліки. Перший недолік очевидний – кожна команда тепер, проходячи більше число стадій, виконується довше. Тому, щоб молодші моделі Pentium 4 перевершували по продуктивності старші моделі Pentium III, частоти Pentium 4 починаються з 1.4 ГГц. Якби Intel випустив би Pentium 4 1 ГГц, то цей процесор безсумнівно би програв у продуктивності гигагерцовому [[Pentium III]]. Другий недолік довгого конвеєра розкривається при помилках в пророкування переходів. Як і будь-який сучасний процесор Pentium 4 може виконувати інструкції не тільки послідовно, але й паралельно, відповідно не завжди в тому порядку, як вони йдуть у програмі і не завжди достеменно знаючи напрямки умовних переходів. Для того, щоб вибирати в таких випадках гілки програми для подальшого виконання, процесор прогнозує результати виконання умовних переходів на основі накопиченої статистики. Однак, іноді блок пророкування переходів все ж помиляється, і в цьому випадку доводиться повністю очищати конвеєр, зводячи нанівець усю попередньо проведену процесором роботу по виконанню не тієї гілки в програмі. Природно, при більш довгому конвеєрі, його очищення обходиться дорожче в тому сенсі, що на нове заповнення конвеєра йде більше процесорних тактів, а отже і часу.




* '''Advanced Dynamic Execution'''
Advanced Dynamic Execution, як раз і є мінімізація простою процесора при неправильному прогнозі переходів і збільшення імовірності правильних передбачень. Для цього Intel поліпшив блок вибірки інструкцій для позачергового виконання і підвищив правильність передбачення переходів. Правда, для цього алгоритми передбачення переходів були доопрацьовані мінімально, основним же засобом для досягнення мети було обрано збільшення розмірів буферів, з якими працюють відповідні блоки процесора. Так, для вибірки наступної інструкції для виконання використовується тепер вікно завбільшки в 126 команд проти 42 команд процесора Pentium III. Буфер ж, у якому зберігаються адреси виконаних переходів і на підставі якого процесор пророкує майбутні переходь, тепер збільшено до 4 Кбайт, у тієї годину як у Pentium III його розмір становив всього 512 байт. Результатом цього, а також завдяки невеликій доопрацювання алгоритмом, ймовірність правильного передбачення переходів була поліпшена в порівнянні з Pentium III на 33%. Це дуже хороший показник, оскільки тепер Pentium 4 пророкує переходь правильно в 90-95% випадків.
* '''Trace Cache'''
Замість звичайного L1 [[Кеш|кешу]], який Pentium III був розділений на область інструкцій і область даних у Pentium 4 застосований новий підхід. Інструкції кеші L1 не зберігаються, він призначений тільки для даних. Для кешу інструкцій тепер використовується Trace Cache, однак у порівнянні зі звичайним L1-кешем він має багато переваг, спрямованих знову ж на мінімізацію простоїв процесора при виконанні неправильних прогнозів переходів. Перше і основне – у Trace Cache зберігаються вже декодированные інструкції. Це означає, що в ньому зберігаються не класичні x86 інструкції, а так звані микрокоманды, більш прості операції якими безпосередньо оперує процесорне ядро. Збереження в Trace Cache мікрооперацій дозволяє уникнути повторного декодування інструкцій x86 при повторному виконанні того ж ділянки програми або при неправильному прогнозі переходів.

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

Intel не розкриває розмірів свого Trace Cache в кілобайтах, однак, відомо, що в ньому може бути збережено до 12000 мікрооперацій.
* '''Rapid Execute Engine'''
Найбільш проста частина сучасного процесора – це [[ALU]] (арифметико-логічний пристрій). Завдяки цьому факту, Intel визнав можливим збільшити його тактову частоту всередині Pentium 4 вдвічі по відношенню до самого процесора. Таким чином, наприклад, в 1.4 ГГц Pentium 4 ALU працює на частоті 2.8 ГГц.

У ALU виконуються прості цілочисельні інструкції, тому, продуктивність нового процесора при операціях з цілими числами повинна бути дуже високою. Однак, на продуктивності Pentium 4 при операціях з речовими числами, MMX або SSE дворазове прискорення ALU ніяк не позначається. Таким чином, латентність ALU істотно знижується. Зокрема, на виконання однієї інструкції типу add Pentium 4 1.4 ГГц витрачає всього 0.35 нс, в той час як виконання цієї команди у Pentium III 1 ГГц займає 1 нс.
* '''SSE2'''
Реалізувавши у своєму процесорі Athlon новий конвеєрний FPU, AMD дуже сильно обігнала інтеловський Pentium III в продуктивності при операціях з речовими числами. Однак, Intel у своєму Pentium 4 не став зосереджуватися на вдосконалення свого FPU, а просто збільшив можливості блоку SSE. В результаті, в Pentium 4 має місце розширений набір команд SSE2, в якому до наявного набору з 70 інструкцій було додано ще 144. Таке рішення – результат NetBurst ідеології, основною метою якої є збільшення швидкості роботи з потоками даних. Інструкції SSE дозволяли оперувати з вісьмома 128-бітними регістрами XMM0..XMM7, в яких зберігалися за чотири дійсних числа одинарної точності. При цьому всі SSE операції проводилися одночасно над четвірками чисел, в результаті чого спеціально оптимізовані програми, в яких проводилося велику кількість однотипних обчислень (а до них, крім обробки потоків даних в якійсь мірі відносяться і 3D-ігри), отримували істотний приріст в продуктивності. SSE2 ж оперує з тими ж самими регістрами і назад сумісний з SSE процесора Pentium III. А настільки вражаюче розширення набору команд викликано тим, що тепер операції з 128-бітними регістрами можуть виконуватися не тільки як з четвірками дійсних чисел подвійної точності, але і як з парами дійсних чисел подвійної точності, з шістнадцятьма однобайтовыми цілими, з вісьмома короткими двобайтовими цілими, з чотирма четырехбайтовыми цілими, з двома восьмибайтовыми цілими або з 16 байтовими цілими. Тобто, тепер SSE2 представляючи собою симбіоз MMX і SSE і дозволяє працювати з будь-якими типами даних, влезающими в 128-бітові регістри.

==Northwood==
Intel Pentium 4 1800 на ядрі Northwood

7 січня 2002 компанією Intel були анонсовані процесори Pentium 4 на новому ядрі Northwood на основі ядра ​​Willamette із збільшеним до ½ Мбайт об'ємом кеш-пам'яті другого рівня. Процесори на ядрі Northwood містили 55 млн транзисторів і вироблялися за новою 130 нм КМОП-технологією з мідними з'єднаннями. За рахунок використання нової технології виробництва вдалося значно скоротити площу кристала: кристал процесорів на ядрі Northwood ревізії (contracted; show full)
* {{Cite web|url=http://www.fcenter.ru/online.shtml?articles/hardware/processors/11103|title=Pentium 4: от Willamette до Prescott|archiveurl=http://www.webcitation.org/61BZPlSXH|archivedate=2011-08-25}}{{ref-en}}
* {{Cite web|url=http://www.hardwaresecrets.com/article/235|title=Inside P4 Architecture|archiveurl=http://www.webcitation.org/61BZRGf1l|archivedate=2011-08-25}}{{ref-en}}

== Див. також ==
* [[Pentium]]
* [[Intel]]

{{Intel CPU}}