Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VPKS_v2_UKR_new.doc
Скачиваний:
21
Добавлен:
11.09.2019
Размер:
2.31 Mб
Скачать

Контрольні запитання

  1. Що являє собою буфер прогнозування умовних переходів?

  2. У чому полягає перевага двобітової системи буферу прогнозування перед одно бітовою?

  3. Які схеми прогнозування напрямку переходу називаються корельованими або дворівневими?

  4. Чи має переваги корельовано схема двобітового прогнозування напрямку переходів перед простою двобітовою схемою з однаковою ємністю буферів прогнозу?

  5. Що являє собою буфер цільових адрес переходів?

Рекомендована література

  1. Самофалов К.Г. и др. Основы теории многоуровневых конвеерных вычислительных систем- К., «Техника».

Лекція 12. Сучасні мікропроцесори

План лекції

  1. Процесор з архітектурою 80x86 і Pentium.

  2. Особливості процесорів з архітектурою spark компанії Sun Microsystems.

  3. Процесори pa-risc компанії Newlett-Packard

Виклад лекції

1.Процесори з архітектурою 80x86 і Pentium

Звичайно, коли нова архітектура створюється одним архітектором або групою архітекторів, її окремі частини дуже добре підігнані один до одного й вся архітектура може бути описана досить зв'язано. Цього не можна сказати про архітектуру 80x86, оскільки це продукт декількох незалежних груп розроблювачів, які розвивали цю архітектуру більше 15 років, додаючи нові можливості до первісного набору команд.

В 1978 році була анонсована архітектура Intel 8086 як сумісне вгору розширення в той час успішного 8-біт мікропроцесора 8080. 8086 являє собою 16-бітову архітектуру з усіма внутрішніми регістрами, що мають 16-бітову розрядність. Мікропроцесор 8080 був просто побудований на базі нагромаджуючого суматора (акумулятора), але архітектура 8086 була розширена додатковими регістрами. Оскільки майже кожний регістр у цій архітектурі має певне призначення, 8086 по класифікації частково можна віднести до машин з нагромаджуючим суматором, а частково - до машин з регістрами загального призначення, і його можна назвати розширеною машиною з нагромаджуючим суматором. Мікропроцесор 8086 (точніше його версія 8088 з 8-бітовою зовнішньою шиною) став основою серії комп'ютерів, що завоювала в наслідку весь світ, IBM PC, що працюють під керуванням операційної системи MS-DOS.

В 1980 році був анонсований сопроцесор плаваючої крапки 8087. Ця архітектура розширила 8086 майже на 60 команд плаваючої крапки. Її архітектори відмовилися від розширених нагромаджуючих суматорів для того, щоб створити якийсь гібрид стеків і регістрів, по суті розширену стекову архітектуру. Повний набір стекових команд доповнений обмеженим набором команд типу регістр-пам'ять.

Анонсований в 1982 році мікропроцесор 80286, ще далі розширив архітектуру 8086. Була створена складна модель розподілу й захисту пам'яті, розширений адресний простір до 24 розрядів, а також додане невелике число додаткових команд. Оскільки дуже важливо було забезпечити виконання без змін програм, розроблених для 8086, в 80286 був передбачений режим реальних адрес, що дозволяє машині виглядати майже як 8086. В 1984 році компанія IBM оголосила про використання цього процесора у своїй новій серії персональних комп'ютерів IBM PC/AT.

В 1987 році з'явився мікропроцесор 80386, що розширив архітектуру 80286 до

32 біт. На додаток до 32-бітової архітектури з 32-бітовими регістрами й 32-бітовим адресним простором, у мікропроцесорі 80386 з'явилися нові режими адресації й додаткові операції. Всі ці розширення перетворили 80386 у машину, по ідеології близьку до машин з регістрами загального призначення. На додаток до механізмів сегментації пам'яті, у мікропроцесор 80386 була додана також підтримка сторінкової організації пам'яті. Також як і 80286, мікропроцесор 80386 має режим виконання програм, написаних для 8086. Хоча в той час базовою операційною системою для цих мікропроцесорів залишалася MS-DOS, 32-розрядна архітектура й сторінкова організація пам'яті послужили основою для переносу на цю платформу операційної системи UNIX. Слід зазначити, що для процесора 80286 була створена операційна система XENIX (сильно урізаний варіант системи UNIX).

Ця історія ілюструє ефект, викликаний необхідністю забезпечення сумісності з 80x86, оскільки існуюча база програмного забезпечення на кожному кроці була занадто важливою. На щастя, наступні процесори (80486 в 1989 і Pentium в 1993 році) були націлені на збільшення продуктивності й додали до видимого користувачем набору команд тільки три нові команди, що полегшують організацію багатопроцесорної роботи.

Що б не говорилося про незручності архітектури 80x86, варто мати на увазі, що вона переважає у світі персональних комп'ютерів. Майже 80% установлених малих систем базуються саме на цій архітектурі. Суперечки щодо переваг CISC і RISC архітектур поступово стихають, оскільки сучасні мікропроцесори намагаються увібрати в себе найкращі властивості обох підходів.

Сучасне сімейство процесорів i486 (i486SX, i486DX, i486DX2 і i486DX4), у якому збереглися система команд і методи адресації процесора i386, уже має деякі властивості RISC-мікропроцесорів. Наприклад, найбільш вживані команди виконуються за один такт. Компанія Intel для оцінки продуктивності своїх процесорів ввела у вживання спеціальну характеристику, що називається рейтингом iCOMP. Компанія сподівається, що ця характеристика стане стандартною тестовою оцінкою і буде застосовуватися іншими виробниками мікропроцесорів, однак останні зі зрозумілою обережністю ставляться до системи вимірів продуктивності, введеною компанією Intel. Нижче в таблиці наведені порівняльні характеристики деяких процесорів компанії Intel на базі рейтингу iCOMP.

Процесор

Тактова частота (МГц)

Рейтинг iCOMP

386SX 386SL 386DX 386DX i486SX i486SX i486SX i486DX i486DX2 i486DX i486DX2 i486DX4 i486DX4 Pentium Pentium Pentium Pentium Pentium Pentium

25 25 25 33 20 25 33 33 50 50 66 75 100 60 66 90 100 120 133

39 41 49 68 78 100 136 166 231 249 297 319 435 510 567 735 815 1000 1200

Процесори i486SX і i486DX - це 32-бітові процесори із внутрішньою кеш-пам’яттю ємністю 8 Кбайт і 32-бітовою шиною даних. Основна відмінність між ними полягає в тому, що в процесорі i486SX відсутній інтегрований співпроцесор плаваючої крапки. Тому він має меншу ціну й застосовується в системах, для яких не дуже важлива продуктивність при обробці дійсних чисел. Для цих систем звичайно можливе розширення за допомогою зовнішнього співпроцесора i487SX.

Процесори Intel OverDrive і i486DX2 практично ідентичні. Однак кристал OverDrive має корпус, що може встановлюватися в гніздо розширення співпроцесора i487SX, застосовуване в ПК на базі i486SX. У процесорах OverDrive і i486DX2 застосовується технологія подвоєння внутрішньої тактової частоти, що дозволяє збільшити продуктивність процесора майже на 70%. Процесор i486DX4/100 використовує технологію потроєння тактової частоти. Він працює із внутрішньою тактовою частотою 99 Мгц, у той час як зовнішня тактова частота (частота, на якій працює зовнішня шина) становить 33 Мгц. Цей процесор практично забезпечує рівні можливості з машинами класу 60 Мгц Pentium, будучи їх повноцінною й доступною за ціною альтернативою.

Процесор Pentium, який з'явився в 1993 році, ознаменував собою новий етап у розвитку архітектури x86, пов'язаний з адаптацією багатьох властивостей процесорів з архітектурою RISC. Він виготовлений за 0.8 мікронної БиКМДП технологією й містить 3.1 мільйона транзисторів. Первісна реалізація була розрахована на роботу з тактовою частотою 60 і 66 Мгц. У цей час є також процесори Pentium, що працюють із тактовою частотою 75, 90, 100 і 120 Мгц. Процесор Pentium у порівнянні зі своїми попередниками володіє цілим рядом поліпшених характеристик. Головними його особливостями є:

  • двопотокова суперскалярна організація, що допускає паралельне виконання пари простих команд;

  • наявність двох незалежних двоканальних множинно-ассоціативних кешів для команд і для даних, що забезпечують вибірку даних для двох операцій у кожному такті;

  • динамічне прогнозування переходів;

  • конвеєрна організація пристрою плаваючої крапки з 8 ступенями;

  • двійкова сумісність із існуючими процесорами сімейства 80x86.

Блок-схема процесора Pentium представлена на рис.1. Насамперед нова мікроархітектура цього процесора базується на ідеї суперскалярної обробки (правда з деякими обмеженнями). Основні команди розподіляються по двох незалежних виконавчих пристроях (конвеєрам U і V). Конвеєр U може виконувати будь-які команди сімейства x86, включаючи цілочислені команди й команди із плаваючою крапкою. Конвеєр V призначений для виконання простих цілочислених команд і деяких команд із плаваючою крапкою. Команди можуть направлятися в кожний з цих пристроїв одночасно, причому при видачі пристроєм керування в одному такті пари команд більш складна команда надходить у конвеєр U, а менш складна - у конвеєр V. Така попарна видача команд можлива правда тільки для обмеженої підмножини цілочислених команд. Команди арифметики із плаваючою крапкою не можуть запускатися в парі з цілочисленими командами. Одночасна видача двох команд можлива тільки при відсутності залежностей по регістрах. При зупинці команди з будь-якої причини в одному конвеєрі, як правило зупиняється й другий конвеєр.

Інші пристрої процесора призначені для постачання конвеєрів необхідними командами й даними. На відміну від процесорів i486 у процесорі Pentium використовується роздільна кеш-пам'ять команд і даних ємністю по 8 Кбайт, що забезпечує незалежність звертань. За один такт із кожної кеш-пам'яті можуть зчитуватися два слова. При цьому кеш-пам'ять даних побудована на принципах двократного розшарування, що забезпечує одночасне зчитування двох слів, що належать одному рядку кеш-пам'яті. Кеш-пам'ять команд зберігає відразу три копії тегів, що дозволяє в одному такті зчитувати два командних слова, що належать або одному рядку, або суміжним рядкам для забезпечення попарної видачі команд, при цьому третя копія тегів використовується для організації протоколу спостереження за когерентністю стану кеш-пам'яті. Для підвищення ефективності перезавантаження кеш-пам'яті в процесорі застосовується 64-бітова зовнішня шина даних.

У процесорі передбачений механізм динамічного прогнозування напрямку переходів. Із цією метою на кристалі розміщена невелика кеш-пам'ять, що називається буфером цільових адрес переходів (BTB), і дві незалежні пари буферів попередньої вибірки команд (по двох 32-бітових буфера на кожний конвеєр). Буфер цільових адрес переходів зберігає адреси команд, які перебувають у буферах попередньої вибірки. Робота буферів попередньої вибірки організована таким чином, що в кожний момент часу здійснюється вибірка команд тільки в один з буферів відповідної пари. При виявленні в потоці команд операції переходу обчислена адреса переходу зрівнюється з адресами, що зберігаються в буфері BTB. У випадку збігу передвіщається, що перехід буде виконаний, і дозволяється робота іншого буфера попередньої вибірки, що починає видавати команди для виконання у відповідний конвеєр. При розбіжності вважається, що перехід виконуватися не буде й буфер попередньої вибірки не перемикається, продовжуючи звичайний порядок видачі команд. Це дозволяє уникнути простоїв конвеєрів при правильному прогнозі напрямку переходу. Остаточне рішення про напрямок переходу природно приймається на підставі аналізу коду умови. При неправильно зробленому прогнозі вміст конвеєрів анулюється й видача команд починається з необхідної адреси. Неправильний прогноз призводить до припинення роботи конвеєрів на 3-4 такту.

Рис. 1. Спрощена блок схема процесора Pentium

Слід зазначити, що зріст продуктивності процесора Pentium вимагає й відповідної організації системи на його основі. Компанія Intel розробила й поставляє всі необхідні для цього набори мікросхем. Насамперед для узгодження швидкості з динамічною основною пам'яттю необхідна кеш-пам'ять другого рівня. Контролер кеш-пам'яті 82496 і мікросхеми статичної пам'яті 82491 забезпечують побудову такої кеш-пам'яті обсягом 256 Кбайт і роботу процесора без тактів очікування. Для ефективної організації систем Intel розробила стандарт на високопродуктивну локальну шину PCI. Випускаються набори мікросхем для побудови потужних комп'ютерів на її основі.

У цей час компанія Intel веде розробку нового процесора, що продовжує архітектурну лінію x86. Цей процесор одержав назву P6. По оцінках експертів число транзисторів у новому кристалі складе 4-5 мільйонів, що може забезпечити підвищення продуктивності до рівня 200 MIPS (66 Мгц Pentium має продуктивність 112 MIPS). Для досягнення такої продуктивності необхідне використання технічних рішень, що широко застосовуються при побудові RISC-процесорів:

  • виконання команд не в запропонованій програмою послідовності, що усуває в багатьох випадках призупинення конвеєрів через очікування операндів операцій;

  • використання методики переіменування регістрів, що дозволяє збільшувати ефективний розмір регістрового файлу (мала кількість регістрів - одне із самих вузьких місць архітектури x86);

  • розширення суперскалярних можливостей стосовно процесора Pentium, у якому забезпечується одночасна видача тільки двох команд із досить твердими обмеженнями на їхній комбінації.

Крім того, у боротьбу за нове покоління процесорів x86 ввімкнулися компанії, що раніше займалися виготовленням Intel-сумісних процесорів. Це компанії Advanced Micro Devices (AMD), Cyrix Corp і NexGen. З погляду мікроархітектури найбільш близький до Pentium процесор М1 компанії Cyrix, що повинен з'явитися на ринку найближчим часом. Також як і Pentium він має два конвеєри й може виконувати до двох команд в одному такті. Однак у процесорі М1 число випадків, коли операції можуть виконуватися попарно, значно збільшено. Крім того в ньому застосовується методика обходів і прискорення пересилання даних, що дозволяє усунути припинення конвеєрів у багатьох ситуаціях, з якими не справляється Pentium. Процесор містить 32 фізичних регістра (замість 8 логічною, передбаченою архітектурою x86) і застосовує методику перейменування регістрів для усунення залежностей за даними. Як і Pentium, процесор M1 для прогнозування напрямку переходу використовує буфер цільових адрес переходу ємністю 256 елементів, але крім того підтримує спеціальний стек повернень, що відслідковує виклики процедур і наступні повернення.

Процесори ДО5 компанії AMD і Nx586 компанії NexGen використовують у корені інший підхід. Основа їхніх процесорів - дуже швидке RISC-ядро, яке виконує високорегулярні операції в суперскалярному режимі. Внутрішні формати команд (ROP у компанії AMD і RISC86 у компанії NexGen) відповідають традиційним системам команд RISC-процесорів. Всі команди мають однакову довжину й кодуються в регулярному форматі. Звертання до пам'яті виконується спеціальними командами завантаження й запису. Як відомо, архітектура x86 має дуже складну для декодування систему команд. У процесорах K5 і Nx586 здійснюється апаратна трансляція команд x86 у команди внутрішнього формату, що дає кращі умови для розпаралелення обчислень. У процесорі ДО5 є 40, а в процесорі Nx586 22 фізичних регістра, які реалізують методику переіменування. У процесорі ДО5 інформація, необхідна для прогнозування напрямку переходу, записується прямо в кеш команд і зберігається разом з кожним рядком кеш-пам'яті. У процесорі Nx586 для цих цілей використовується кеш-пам'ять адрес переходів на 96 елементів.

Таким чином, компанія Intel більше не має монополію на методи конструювання високопродуктивних процесорів x86, і можна чекати появи нових процесорів, не тільки які не уступають, але й можливо переважаючих по продуктивності процесори компанії, що стояла біля витоків цієї архітектури. Слід зазначити, що сама компанія Intel уклала стратегічну угоду з компанією Hewlett-Packard на розробку наступного покоління мікропроцесорів, у яких архітектура x86 буде сполучатися з архітектурою дуже довгого командного слова (VLIW -архітектурою). Поява цих мікропроцесорів не очікується до кінця 1998 року.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]