Difference between revisions 24128980 and 24129000 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 стадій. Завдяки декомпозиції виконання кожної команди на більш дрібні етапи, кожен з цих етапів може виконуватися швидше, що дозволяє безперешкодно збільшувати частоту процесора. Так, якщо при використовуваному сьогодні технологічному процесі 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 новий конвеєрний математичний співпроцесор, [[Advanced Micro Devices|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-бітові регістри.{{дослівний переклад|url=https://www.bytemag.ru/articles/detail.php?ID=6521}} == Використання кешу == ===L1 кеш=== Що стосується кеша першого рівня в Pentium 4, оскільки тепер команди зберігаються в Trace Cache, він призначений тільки для зберігання даних. Однак, його розмір в Pentium 4, заснованому на ядрі Willamette складає всього 8 Кбайт. Це виглядає досить невеликий цифрою навіть на тлі 16-килобайтной області даних в кеші L1 Pentium III. Однак, Intel був змушений скоротити обсяг кеша першого рівня в Pentium 4, так як ядро цього процесора і без того виходило занадто великим. Тим(contracted; show full)* [http://www.radioland.net.ua/contentid-214.html Використання кеша] * [http://www.cpu-world.com/Cores/Cedar%20Mill.html Cedar Mill] == Див. також == * [[Pentium]] * [[Intel]] {{Intel CPU}} All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://uk.wikipedia.org/w/index.php?diff=prev&oldid=24129000.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|