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

4.Особливості архітектури power компанії ibm і PowerPc компаній Motorola, Apple і ibm

Як уже було відзначено, одним з розроблювачів фундаментальної концепції RISC-архітектури був Джон Кук з Дослідницького центра IBM ім. Уотсона, що у середині 70-х проводив дослідження в цьому напрямку й побудував мінікомп’ютер IBM 801, що так ніколи й не з'явився на ринку. Подальший розвиток цих ідей у компанії IBM знайшло відбиття при розробці архітектуру POWER наприкінці 80-х. Архітектура POWER (і її піднапрямки POWER2 і PowerPC) у цей час є основою сімейства робочих станцій і серверів RISC System /6000 компанії IBM.

Розвиток архітектури IBM 801 у напрямку POWER йшов в наступних напрямках: втілення концепції суперскалярної обробки, поліпшення архітектури як цільового об'єкта компіляторів, скорочення довжини конвеєра й часу виконання команд і, нарешті, пріоритетна орієнтація на ефективне виконання операцій із плаваючою крапкою.

Архітектура power

Архітектура POWER у багатьох відносинах являє собою традиційну RISC-архітектуру. Вона дотримується найбільш важливих відмінних рис RISC: фіксованої довжини команд, архітектури регістр-регістр, простих способів адресації, простих (не потребуючі інтерпретації) команд, великого регістрового файлу й трьохоперандного (неруйнівного) формату команд. Однак архітектура POWER має також кілька додаткових властивостей, які відрізняють її від інших RISC-архітектур.

По-перше, набір команд був заснований на ідеї суперскалярної обробки. У базовій архітектурі команди розподіляються по трьом незалежним виконавчим пристроям: пристрою переходів, пристрою з фіксованою крапкою й пристрою із плаваючою крапкою. Команди можуть направлятися в кожний із цих пристроїв одночасно, де вони можуть виконуватися одночасно й закінчуватися не в порядку надходження. Для збільшення рівня паралелізму, що може бути досягнуть на практиці, архітектура набору команд визначає для кожного із пристроїв незалежний набір регістрів. Це мінімізує зв'язки й синхронізацію, необхідні між пристроями, дозволяючи тим самим виконавчим пристроям настроюватися на динамічну суміш команд. Будь-який зв'язок за даними, що вимагається між пристроями, повинна аналізуватися компілятором, що може її ефективно спланувати. Слід зазначити, що це тільки концептуальна модель. Будь-який конкретний процесор з архітектурою POWER може розглядати кожне з концептуальних пристроїв як безліч виконавчих пристроїв для підтримки додаткового паралелізму команд. Але існування моделі приводить до погодженої розробки набору команд, що природно підтримує ступінь паралелізму принаймні рівну трьом.

По-друге, архітектура POWER розширена декількома "змішаними" командами для скорочення часів виконання. Можливо єдиним недоліком технології RISC у порівнянні з CISC, є те, що іноді вона використовує більшу кількість команд для виконання того самого завдання. Було виявлено, що в багатьох випадках збільшення розміру коду можна уникнути шляхом невеликого розширення набору команд, що зовсім не означає повернення до складних команд, подібним до команд CISC. Наприклад, значна частина збільшення програмного коду була виявлена в кодах прологу й епілогу, пов'язаних зі збереженням і відновленням регістрів під час виклику процедури. Щоб усунути цей фактор IBM ввела команди "групового завантаження й запису", які забезпечують пересилання декількох регістрів в/з пам'яті за допомогою єдиної команди. Угоди про зв'язки, використовувані компіляторами POWER, розглядають завдання планування, поділювані бібліотеки й динамічне зв'язування як простій, єдиний механізм. Це було зроблено за допомогою непрямої адресації за допомогою таблиці змісту (TOC - Table Of Contents), що модифікується під час завантаження. Команди групового завантаження й запису були важливим елементом цих угод про зв'язки.

Іншим прикладом змішаних команд є можливість модифікації базового регістра знову обчисленою ефективною адресою при виконанні операцій завантаження або записи (аналог автоінкрементної адресації). Ці команди усувають необхідність виконання додаткових команд додавання, які в противному випадку потрібні були б для інкрементування індексу при звертаннях до масивів. Хоча це змішана операція, вона не заважає роботі традиційного RISC-конвеєра, оскільки модифікована адреса вже обчислена й порт запису регістрового файлу під час очікування операції з пам'яттю вільний.

Архітектура POWER забезпечує також кілька інших способів скорочення часу виконання команд такі як: великий набір команд для маніпуляції бітовими полями, змішані команди множення-додавання із плаваючою крапкою, установку регістра умов як побічний ефект нормального виконання команди й команди завантаження й запису рядків (які працюють із довільно вирівняними рядками байтів).

Третому фактором, що відрізняє архітектуру POWER від багатьох інших RISC-архітектур, є відсутність механізму "затриманих переходів". Звичайно цей механізм забезпечує виконання команди, що випливає за командою умовного переходу, перед виконанням самого переходу. Цей механізм ефективно працював у ранніх RISC-машинах для заповнення "міхура", що з'являється при оцінці умов для вибору напрямку переходу й вибірки нового потоку команд. Однак у більш просунутих, суперскалярних машинах, цей механізм може виявитися неефективним, оскільки один такт затримки команди переходу може призвести до появи декількох "міхурів", які не можуть бути покриті за допомогою одного архітектурного слота затримки. Майже всі такі машини, щоб усунути вплив цих "міхурів", змушені вводити додаткове устаткування (наприклад, кеш-пам'ять адрес переходів). У таких машинах механізм затриманих переходів стає не тільки мало ефективним, але й привносить значну складність у логіку обробки послідовності команд. Замість цього архітектура переходів POWER була організована для підтримки методики "попереднього перегляду умовних переходів" (branch-lockahead) і методики "згортання переходів" (branch-folding).

Методика реалізації умовних переходів, використовувана в архітектурі POWER, є четвертою унікальною властивістю в порівнянні з іншими RISC-процесорами. Архітектура POWER визначає розширені властивості регістра умов. Проблема архітектур із традиційним регістром умов полягає в тому, що установка бітів умов як побічного ефекту виконання команди, ставить серйозні обмеження на можливість компілятора змінити порядок проходження команд. Крім того, регістр умов являє собою єдиний архітектурний ресурс, що створює серйозне вузьке горло в машині, що паралельно виконує кілька команд або виконує команди не в порядку їхньої появи в програмі. Деякі RISC-архітектури обходять цю проблему шляхом повного виключення зі свого состава регістра умов і вимагають установки коду умов за допомогою команд порівняння в універсальний регістр, або шляхом включення операції порівняння в саму команду переходу. Останній підхід потенційно перевантажує конвеєр команд при виконанні переходу. Тому архітектура POWER замість того, щоб виправляти проблеми, пов'язані із традиційним підходом до регістра умов, пропонує: a) наявність спеціального біта в коді операції кожної команди, що робить модифікацію регістра умов додатковою можливістю, і тим самим відновлює здатність компілятора реорганізувати код, і b) трохи (вісім) регістрів умов для того, щоб обійти проблему єдиного ресурсу й забезпечити більше число імен регістра умов так, що компілятор може розмістити й розподілити ресурси регістра умов, як він це робить для універсальних регістрів.

Іншою причиною вибору моделі розширеного регістра умов є те, що вона погодиться з організацією машини у вигляді незалежних виконавчих пристроїв. Концептуально регістр умов є локальним стосовно пристрою переходів. Отже, для оцінки напрямку виконання умовного переходу не обов'язково звертатися до універсального регістрового файлу (який є локальним для пристрою з фіксованою крапкою). Для того ступеня, з якої компілятор може заздалегідь спланувати модифікацію коду умови (і/або завантажити заздалегідь регістри адреси переходу), апаратура може заздалегідь переглянути й згорнути умовні переходи, виділяючи їх з потоку команд. Це дозволяє звільнити в конвеєрі тимчасовий слот (такт) видачі команди, звичайно зайнятий командою переходу, і дає можливість диспетчерові команд створювати безперервний лінійний потік команд для обчислювальних виконавчих пристроїв.

Перша реалізація архітектури POWER з'явилася на ринку в 1990 році. З тих пір компанія IBM представила на ринок ще дві версії процесорів POWER2 і POWER2+, що забезпечують підтримку кеш-пам'яті другого рівня й що мають розширений набір команд.

По даним IBM процесор POWER вимагає менше одного такту для виконання однієї команди в порівнянні із приблизно 1.25 такту в процесора Motorola 68040, 1.45 такту в процесора SPARC, 1.8 такту в Intel i486DX і 1.8 такту Hewlett-Packard PA-RISC. Тактова частота архітектурного ряду залежно від моделі змінюється від 25 Мгц до 62 Мгц.

Процесори POWER працюють на частоті 33, 41.6, 45, 50 і 62.5 МГЦ. Архітектура POWER включає роздільну кеш-пам'ять команд і даних (за винятком робочих станцій і серверів робочих груп початкового рівня, які мають однокристальну реалізацію процесора POWER і загальну кеш-пам'ять команд і даних), 64- або 128-бітову шину пам'яті й 52-бітова віртуальна адреса. Вона також має інтегрований процесор плаваючої крапки й у такий спосіб добре підходить для додатків з інтенсивними обчисленнями, типовими для технічного середовища, хоча поточна стратегія RS/6000 націлена як на комерційні, так і на технічні додатки. RS/6000 показує гарну продуктивність на плаваючій крапці: 134.6 SPECp92 для POWERstation/Powerserver 580. Це менше, ніж рівень моделей Hewlett-Packard 9000 Series 800 G/H/I-50, які досягають рівня 150 SPECfp92.

Для реалізації швидкої обробки введення/виводу в архітектурі POWER використовується шина Micro Channel, що має пропускну здатність 40 або 80 Мбайт/сек. Шина Micro Channel включає 64-бітову шину даних і забезпечує підтримку роботи декількох головних адаптерів шини. Така підтримка дозволяє мережевим контролерам, відеоадаптерам і іншим інтелектуальним пристроям передавати інформацію із шини незалежно від основного процесора, що знижує навантаження на процесор і відповідно збільшує системну продуктивність.

Багатокристальний набір POWER2 складається з восьми напівзамовлених мікросхем (пристроїв):

  • Блок кеш-пам'яті команд (ICU) - 32 Кбайт, має два порти з 128-бітовими шинами;

  • Блок пристроїв цілочисленої арифметики (FXU) - містить два цілочислених конвеєри й два блоки регістрів загального призначення (по 32 32-бітових регістра). Виконує всі цілочислені й логічні операції, а також всі операції звертання до пам'яті;

  • Блок пристроїв плаваючої крапки (FPU) - містить два конвеєри для виконання операцій із плаваючою крапкою подвійної точності, а також 54 64-бітових регістра плаваючої крапки;

  • Чотири блоки кеш-пам'яті даних - максимальний обсяг кеш-пам'яті першого рівня становить 256 Кбайт. Кожний блок має два порти. Пристрій реалізує також ряд функцій виявлення й корекції помилок при взаємодії із системою пам'яті;

  • Блок керування пам'яттю (MMU).

Набір кристалів POWER2 містить порядку 23 мільйонів транзисторів на площі 1217 квадратних мм і виготовлений за технологією КМДП із проектними нормами 0.45 мікронів. Потужність, що розсіює, на частоті 66.5 Мгц становить 65 Вт.

Продуктивність процесора POWER2 у порівнянні з POWER значно підвищена: при тактовій частоті 71.5 Мгц вона досягає 131 SPECint92 і 274 SPECfp92.

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