Процесор

набору команд х86: нерегулярність кодування команд, операції цілочислових пересилань типу «регістр—пам'ять» і змінна довжина безпосередніх операндів.

Шина адреси процесорів Р6 розширилася до 36 розрядів, що дозволяє використовувати адресний простір обсягом до 64 ГБ.

У процесор Pentium II до архітектури процесора Pentium Pro додані команди ММХ. Для процесора Pentium II вводиться нова специфікація установки в материнську плату слота 1 і слота 2. У цій новій специфікації кеш L2 виноситься з кристала. Для слота 1 і слота 2 використовується ножове з'єднання замість сокета. У процесорі Pentium II збільшений кеш даних L1 і кеш інструкцій L1 до 16 КБ кожний. У процесорі Pentium II розмір кеша L2 може бути 256 КБ, 512 КБ і 1 МБ або 2 МБ (тільки для слота 2). Процесори слота 1 використовують «половинну тактову частоту» шини, а процесори слота 2 використовують «повну тактову частоту» шини.

Процесор Pentium !!!, випущений у 1999 p. , привніс в архітектуру ІА-32 розширення SSE (Streaming SIMD (Single Instruction Multiple Data) Extensions) — стали доступні нові 128-розрядні регістри і SIMD-операції над упакованими операндами з плаваючою комою з одинарною точністю.

Як працюють процесори ІА-32

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

Суперконвесризація (superpipelining), застосована в сімействі Р6, поділяє ступені стандартного конвеєра на дрібніші частини. Зі збільшенням числа ступенів кожний окремий ступінь виконує меншу роботу і, таким чином, містить менше апаратної логіки. Часовий інтервал між надходженням набору вхідних впливів на входи схеми й появою результуючих сигналів на її виходах — затримка поширення (propagation delay) — у результаті стає істотно меншим.

Завдяки більш коротким затримкам поширення сигналу в кожному окремо взятому ступені конвеєра стає можливим підвищення тактової частоти.

Аналогічний ефект зменшення затримок поширення сигналу досягається за допомогою переходу на тонший технологічний процес, наприклад, з 0,18 мікрон на 0,13. Очевидний шлях підвищення продуктивності — збільшення числа ступенів конвеєра й підвищення частоти процесора. Але суперконвеєрна архітектура має серйозний недолік. При виконанні неправильно передбачених переходів і операцій необхідне повне очищення конвеєра, що займає тим більше часу, чим більше ступенів нараховує конвеєр, причому зниження продуктивності в деяких випадках виходить просто обтяжуючим.

Розглянемо роботу конвеєра процесора Р6, що складається з 12 ступенів. Конвеєр можна розділити на три самостійні функціональні блоки — вхідний блок упорядкованої обробки (in-order front end), відповідальний за декодування

й обробку команд, ядро виконання зі зміною послідовності (out-of-order core), де, власне, і відбувається виконання команд, і конвеєр упорядкованого виведення команд із послідовності (in-order retirement).

Блок вибірки команди (instruction fetch unit) зчитує потік інструкцій з 1,1-кеша команд порціями по 32 байти за такт. Для пошуку початку команди використовується поточний покажчик команди (IP-instruction pointer), а потім команди передаються на три дешифратори. Перш ніж перейти до розгляду роботи дешифраторів, розглянемо механізм передбачення переходів

Покажчик команди розраховується блоком вибірки команди на підставі інформації, отриманої від

1 2 3 4 5 6 7 8 9 10 11