Для динамічного прогнозу розгалуження використовується пристрій, званий Branch Target Buffer - ВТВ. Він являє собою кеш-пам'ять, в якій зберігається інформація про зроблені раніше переходи. Коли команда вибирається з пам'яті, її адреса транслюється через ВТВ і ВТВ видає пристрою передвиборку адресу наступної команди.
ВТВ працює за наступним принципом:
-якщо адреса команди відсутня в ВТВ, то передвиборка продовжується далі з наступної адреси;
-якщо адреса команди знаходиться в ВТВ і перехід передбачається як зроблений, то це вимагає одного зайвого такту;
ВТВ зберігає 4-бітну історію переходів.
Переходи, які відсутні в ВТВ, передбачаються з використанням статичного алгоритму прогнозу розгалуження:
-безумовні переходи передбачаються як зроблені;
-умовні переходи назад передбачаються як зроблені;
-умовні переходи уперед передбачаються як не зроблені.
Затримка на статичний прогноз становить 6 тактів.
З допомогою ВТВ можна успішно передбачати один
перехід, якщо він має закономірність виконання, що регулярно повторюється. Наприклад, буде коректно передбачений умовний перехід, який виконується при кожній парній ітерації і не виконується при кожній непарній ітерації. Переходи по покажчику, значення якого не є постійним для переважної більшості випадків, а також умовні переходи, що не мають закономірності виконання є непередбачуваними або погано передбачуваними. Якщо такі переходи зустрічаються всередині циклів, що часто повторюються, то це може істотно позначитися на продуктивності.
Якщо процесор зчитує дані з 32-розрядного регістру (наприклад, ЕАХ) відразу після того, як був зроблений запис у фрагмент цього регістра (наприклад, AL, АН, АХ), мікрооперація зчитання не зможе проникнути в (ROB) до того як мікрооперація запису не виконається і не буде видалена з (ROB). Це займає мінімум 7 тактів.
Затримка пов'язана з тим, що після повернення в (ROB) результату мікрооперації, яка записує в регістр, (ROB) буде міститися лише фрагмент регістра, а мікроперації, яка прочитує з регістра, потрібен цілий регістр.
Процесор не може збирати один регістр по частинах з різних місць. Мікрооперація на стадії (RAT) буде чекати, поки з (ROB) не будуть видалені мікрооперації.[2]
Мікропроцесор Pentium ІІІ побудований на архітектурі P6 і має ряд нововведень. Він виготовляється по 0.25-мікронній технології, має 32 Кв кеша L1 та 512 Кв кеша L2. Він розрахований на роботу на частоті 100 MHz, кеш другого рівня працює на половині тактової частоти. Серед сосбливостей його архітектури - динамічне виконання команд і технологія потокової пам’яті, яка дозволяє покращити систему вводу/виводу з комбінованим записом (WC) та використовувати інструкції попередньої виборки і потокового запам’ятовування. В Pentium ІІІ з’явилось вісім нових регістрів з прямим доступом, які здатні зберігати чотири числа ординарної точності (всього 128 розрядів).[8]
Потокові розширення SIMD (Single Instruction Multiply Data, відомі раніше як KNI- Katmai New Instructions) добавили 50 інструкцій для операції (ординарної точності) над числами з плаваючою точкою, що дозволяє отримувати до чотирьох результатів за один цикл процесора. З’явились також 12 нових мультимедійних інструкцій (в додаток до тих, що залишились у спадщину від технології MMX) і 8 інструкцій кешування.[9]
3. Процесори фірми Intel в порівнянні з моделями інших фірм
Компанія Advanced Micro Devices (AMD) є , мабуть, основним конкурентом Intel в секторі процесорів IA архітектури. Потрібно зазначити, що процесори AMD, no крайній мірі починаючи з моделі К5, завжди відрізнялися більш розвиненою мікроархітектурою. Наприклад, вони містять найбільшу кількість транзисторів, в порівнянні з процесорами того ж класу фірми Intel.
Мікроархітектура сімейства К6, про яке піде мова, характеризується всіма особливостями, властивими шостому поколінню мікропроцесорів Це, передусім, - конвергенція технологій RISC і CISC, яка забезпечує суперконвейєрність, виконання інструкцій з порушенням черговості їх проходження (out of-order), спекулятивне виконання, розвинений механізм прогнозу розгалужень і перейменування регістрів. Всі моделі мають так звану гарвардську архітектуру - роздільну для інструкцій і даних кеш-пам'ять першого рівня (в цьому випадку по 32 KB).
На початку січня 1998 року компанія AMD випустила нову модель процесора К6, працюючу на частоті 266 MHz, - перший процесор AMD, виготовлений по 0,25-мікронній технології.
7 квітня AMD анонсувала процесор К6 300 MHz, одночасно оголосивши про зниження цін на всю лінійку шостого покоління. 28 травня на виставці Electronics Entertainment Expo в Атланті (штат Джорджія) компанія AMD повідомила про початок поставок нового чіпа AMD-K6-2. Це - перший процесор з суперскалярною обробкою ММХ-інструкцій і технологією 3DNow, що включає набір з 21 нової інструкції, які використовуються для прискорення побудови тривимірних об'єктів, а також для підтримки стереозвука і відео. Технологію ж 3DNow багато хто оцінюють як першу в історії суперництва перемогу AMD над Intel. Були випущені три модифікації процесора - з частотами 266, 300 і 333 MHz
У серпні AMD представила К6-2 з технологією 3DNow, що оперує на частоті 350 MHz, а 16 листопада компанія оголосила про випуск трьох версій процесора AMD-K6-2, працюючих на частотах 366, 380 і 400 MHz
Процесори містять 9,3 млн транзисторів і виконані по 0.25 мікронній технології з п’ятишаровою металізацією. AMD K6-2 став першим процесором для Socket 7/Super 7, підтримуючим частоту шини 100 MHz, що надало процесору деякі переваги над тогочасними процесорами фірми Intel.
Слід визнати талановитість команди розробників фірми Cyrix. На сьогоднішній день це - єдиний процесор, що досягає досить високого рейтингу при реально менших тактових частотах. Крім того, пригадаємо, що це був перший процесор, що подолав бар'єр 66 MHz для системної шини.
У кінці березня 1998 Cyrix/IBM випускає процесор IBM 6x86MX PR266, підтримуючий частоту системної шини 83 MHz Процесор працює на тактовій частоті 208 MHz (83 х 2,5), виготовлений по 0,35-мікронній технології, має 64 KB кэш пам'яті L1 (по 32 KB для інструкції і даних, відповідно) і підтримує набір інструкцій ММХ.
Бар'єр PR300 IBM і Cyrix вирішили подолати роздільно В травні 1998 р. IBM Microelectronics представила два нових процесори - 6x86MX-PR300 і PR333, а Cyrix - модель з маркуванням Cyrix Mil 300, але вона не перевищувала в продуктивності аналогічні моделі фірми Intel.
Процесор 6х86 PR300 є першим чіпом, виготовленим IBM по 0,25 мікронній технології. В порівнянні з версією 6х86 PR266, частота системної шини понижена і становить 75 MHz, тому виграш в продуктивності невеликий Однак незаперечною перевагою процесора над процесорами фірми Intel є менше розсіяння енергії, а значить, велика надійність Внутрішня частота процесорів рівна 225 MHz (75 х 3)
Заслуговує уваги і така інновація Суrix, як сімейство процесорів MediaGX. Вони призначаються для мультимедійных ПК початкового рівня.
18 березня 1998 року National Semiconductor анонсувала процесор MediaGX (Mxi), працюючий на частоті 233 MHz , що підтримував технологію MMX . Реалізовуючи ідеологію «система на чіпі», процесор представляє високоінтегровану систему, яка об'єднує на одному кристалі функції графіки і аудіо, управління пам'яттю і інтерфейс з шиною РСI. Таке об'єднання системних, мультимедіних і графічних функцій в процесорі дозволяє досягнути значної продуктивності на відповідних додатках, що максимально наблизило продуктивність цих мікропроцесорів до мікропроцесорів фірми Intel.
Компанія Integrated Device Technology скромно з'явилася на «полі битви» гігантів, запропонувавши в 1997 р. процесор початкового рівня WinChip C6 архітектури х86, розроблений дочірньою компанією Centaur Technology. Цей чіп відверто націлений на нижній ціновий рівень ринку і позиціонується розробниками як недорога, але гідна альтернатива процесору Pentium ММХ. Хоч WinChip C6 і підтримує набір команд ММХ, його мікроархітектура істотно відрізняється від мікроархітектури процесорів шостого покоління.
Вона гранично спрощена і близька до мікроархітектури RISC процесора з елементами 486-го. Розробники не робили секрету з того, що блоки обчислення з плаваючою точкою і ММХ не так швидкі, як у Pentium ММХ. Це - перший процесор з 1993 р. (після виходу Pentium) без суперскалярного конвейєра і механізму прогнозу розгалужень.Тут немає ні позачергового виконання команд, ні перейменування регістрів, однак все підлегле задачі швидкого виконання інструкції . Ядро процесора містить класичний п’ятиступінчатий конвейєр з додатковим рівнем трансляції інструкції х86 у внутрішній мікрокомандний код Відтрансльовані інструкції асинхронно поступають на конвейєр, де згодом виконуються в порядку проходження в програмі.
Продуктивність досягається за рахунок високої внутрішньої частоти (очікується модель з частотою 400 MHz), об'ємної і швидкої кеш пам'яті першого рівня (в сьогоднішніх версіях по 32 KB для інструкції і даних, відповідно) окремих блоків для операції з плаваючою точкою і для команд ММХ і ряду інших хитрощів. Проте переваг в продуктивності над продукцією фірми Intel ці процесори не мають.
Варто звернути увагу і на те, що процесор вимагає живлення тільки одного рівня 3,5 В при цьому він розсіює всього 10 Вт .Таке живлення дозволяє виконати апгрейд комп'ютерів зі старими материнськими платами, що може виявитися привабливим для певного сектора ринку. WinChip C6 містить 5,4 млн. транзисторів, виконаний по 0,35 мікронній технології . Оголошена в квітні 1998 модель з частотою 200 MHz підтримує частоту системної шини 66 MHz і сумісна з роз'єм Socket 7.
19 травня 1998 року IDT оголосила про початок випробовувань моделей процесорів WinChip 2 i WinChip 2 3D .[1]