Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
84.2 Кб
Скачать

2.2 Risc-архітектура

У 70-ті роки XX століття вчені висунули революційну за тими часами ідею створення мікропроцесора, "розуміє" тільки мінімально можливу кількість команд.

Задум RISC-процесора (Reduced Instruction Set Computer, комп'ютер зі скороченим набором команд) народився в результаті практичних досліджень частоти використання команд програмістами, проведених у 70-х роках у США та Англії. Їх безпосередній підсумок - відоме "правило 80/20": у 80% коду типовою прикладної програми використовується лише 20% найпростіших машинних команд з усього доступного набору.

Перший "справжній" RISC-процесор з 31 командою був створений під керівництвом Девіда Паттерсона з Університету Берклі, потім пішов процесор з набором з 39 команд. Вони включали в себе 20-50 тис. транзисторів. Плодами праць Паттерсона скористалася компанія Sun Microsystems, що розробила архітектуру SPARC з 75 командами в кінці 70-х років. У 1981 р. в Стенфордському університеті стартував проект MIPS з випуску RISC-процесора з 39 командами. У результаті була заснована корпорація Mips Computer в середині 80-х років і сконструйований наступний процесор вже з 74 командами.

За даними незалежної компанії IDC, в 1992 році архітектура SPARC займала 56% ринку, далі йшли MIPS - 15% і PA-RISC - 12,2%

Приблизно в той же час Intel розробила серію 80386, останніх "істинних" CISC-процесорів в сімействі IA-32. В останній раз підвищення продуктивності було досягнуто тільки за рахунок ускладнення архітектури процесора: з 16-розрядної вона перетворилася на 32-розрядну, додаткові апаратні компоненти підтримували віртуальну пам'ять, і додався цілий ряд нових команд.

Основні особливості RISC-процесорів:

  • Скорочений набір команд (від 80 до 150 команд).

  • Більшість команд виконуються за 1 такт.

  • Велика кількість регістрів загального призначення.

  • Наявність жорстких багатоступеневих конвеєрів.

  • Всі команди мають простий формат, і використовуються деякі способи адресації.

  • Наявність місткою роздільною кеш-пам'яті.

  • Застосування оптимізують компіляторів, які аналізують вихідний код і частково змінюють порядок проходження команд.

RISC-процесори 3-го покоління

Найбільшими розробниками RISC-процесорів вважаються Sun Microsystems (архітектура SPARC - Ultra SPARC), IBM (багатокристальні процесори Power, однокристальні PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (сімейство Rxx00 - R 10000), а також Hewlett-Packard (архітектура PA-RISC - PA-8000).

Всі RISC-процесори третього покоління:

  • є 64-х розрядними і суперскалярной (запускаються не менше 4-х команд за такт);

  • мають вбудовані конвеєрні блоки арифметики з плаваючою точкою;

  • мають багаторівневу кеш-пам'ять. Більшість RISC-процесорів кешують попередньо дешифровані команди;

  • виготовляються по КМОП-технології з 4 шарами металізації.

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

Підвищення продуктивності RISC-процесорів досягається за рахунок підвищення тактової частоти і ускладнення схеми кристалу. Представниками першого напрямку є процесори Alpha фірми DEC, найбільш складними залишаються процесори компанії Hewlett-Packard.

Зменшення набору машинних команд в RISC-архітектурі дозволило розмістити на кристалі обчислювального ядра велику кількість регістрів загального призначення. Збільшення кількості регістрів загального призначення дозволило мінімізувати звернення до повільної оперативної пам'яті, залишивши для роботи з RAM тільки операції читання даних з оперативної пам'яті в регістр і запис даних з регістра в оперативну пам'ять, всі інші машинні команди використовують в якості операндів регістри загального призначення.

Основними перевагами RISC-архітектури є наявність наступних властивостей:

  • Велике число регістрів загального призначення.

  • Універсальний формат всіх мікрооперацій.

  • Рівний час виконання всіх машинних команд.

  • Практично всі операції пересилання даних здійснюються за маршрутом регістр - регістр.

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

Апаратні блоки в RISC-архітектурі:

Блок завантаження інструкцій включає в себе наступні складові частини: блок вибірки інструкцій з пам'яті інструкцій, регістр інструкцій, куди поміщається інструкція після її вибірки і блок декодування інструкцій. Ця ступінь називається щаблем вибірки інструкцій.

Регістри загального призначення спільно з блоками управління регістрами утворюють другий ступінь конвеєра, що відповідає за читання операндів інструкцій. Операнди можуть зберігатися в самій інструкції або в одному з регістрів загального призначення. Ця ступінь називається щаблем вибірки операндів.

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

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

Однак до моменту розробки RISC-архітектури, промисловим стандартом мікропроцесорів де-факто стала архітектура Intel x86, виконана за принципом CISC-архітектури. Наявність великої кількості програм, написаних під архітектуру Intel x86, зробила неможливим масовий перехід ЕОМ на RISC-архітектуру. З цієї причини основною сферою використання RISC-архітектури з'явилися мікроконтролери, завдяки тому, що вони не були прив'язані до існуючого програмного забезпечення. Крім того деякі виробники ЕОМ на чолі з IBM так само почали випускати ЕОМ, побудовані за RISC-архітектурі, проте несумісність програмного забезпечення між Intel x86 і RISC-архітектурою в значній мірі обмежувала поширення останніх.

Однак, переваги RISC-архітектури були настільки істотні, що інженери знайшли спосіб перейти на обчислювачі, виконані за RISC-архітектурі, при цьому не відмовляючись від існуючого програмного забезпечення. Ядра більшість сучасних мікропроцесорів, підтримують архітектуру Intel x86, виконані за RISC-архітектурі з підтримкою мультіскалярной конвеєрної обробки. Мікропроцесор отримує на вхід інструкцію в форматі Intel x86, замінюємо її декількома (до 4-х) RISC-інструкціями.

Таким чином, ядра більшості сучасних мікропроцесорів, починаючи з Intel 486DX, виконані за RISC-архітектурі з підтримкою зовнішнього Intel x86 інтерфейсу. Крім того, переважна більшість мікроконтролерів, а так само деякі мікропроцесори випускаються по RISC-архітектурі.

У сучасному RISC-процесорі використовується не менше 32 регістрів, часто більше 100, в той час, як в класичних ЦВМ зазвичай 8-16 регістрів загального призначення. У результаті процесор на 20% -30% рідше звертається до оперативної пам'яті, що також підвищило швидкість обробки даних. Крім того, наявність великої кількості регістрів спрощує роботу компілятора з розподілу регістрів під змінні. Спростилася топологія процесора, встановлений у вигляді однієї інтегральної схеми, скоротилися терміни її розробки, вона стала дешевше.

Після появи RISC-процесорів традиційні процесори отримали позначення CISC - тобто з повним набором команд (Complete Instruction Set Computer).

В даний час RISC-процесори одержали широке поширення. Сучасні RISC-процесори характеризуються наступним:

- Спрощеним набором команд;

- Використовуються команди фіксованої довжини і фіксованого формату,

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

- Більшість команд виконуються за один цикл процесора;

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

- Взаємодія з оперативною пам'яттю обмежується операціями

пересилання даних;

- Для обробки, як правило, використовуються трехадресние команди, що крім спрощення дешифрування дає можливість зберігати більшу кількість змінних у регістрах без їх подальшої перезавантаження;

- Створено конвеєр команд, що дозволяє обробляти кілька з них одночасно;

- Наявність великої кількості регістрів;

- Використовується високошвидкісна пам'ять.

У RISC-процесорах обробка машинної команди розділена на кілька ступенів, кожний ступінь обслуговують окремі апаратні засоби і організована передача даних від одного ступеня до наступної.

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

Виконання типовою команди можна розділити на наступні етапи:

  • вибірка команди IF - за адресою, заданому лічильником команд, з пам'яті витягується команда;

  • 2) декодування команди ID - з'ясування її змісту, вибірка операндів із регістрів;

  • 3) виконання операції EX, при необхідності звернення до пам'яті - обчислення фізичної адреси;

  • 4) звернення до пам'яті ME;

  • 5) запам'ятовування результату WB

У процесорах з RISC-архітектурою набір команд, що виконуються скорочений до мінімуму. Для реалізації більш складних операцій доводиться комбінувати команди. При цьому всі команди мають формат фіксованої довжини (наприклад, 12, 14 або 16 біт), вибірка команди з пам'яті і її виконання здійснюється за один цикл (такт) синхронізації. Система команд RISC-процесора припускає можливість рівноправного використання всіх регістрів процесора. Це забезпечує додаткову гнучкість при виконанні ряду операцій. До МК із RISC-процесором відносяться МК AVR фірми Atmel, МК PIC 16 і PIC 17 фірми Microchip і інші.

На перший погляд, МК із RISC-процесором повинні мати більш високу продуктивність у порівнянні з CISC МК при одній і тій же тактовій частоті внутрішньої магістралі. Однак на практиці питання про продуктивність більш складний і неоднозначний.

Рис.2 Структура МК з RISC архітектурою

Гарвардська архітектура майже не використовувалася до кінця 70-х років, поки виробники МК не зрозуміли, що вона дає певні переваги розробникам автономних систем управління.

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

Крім того, гарвардська архітектура забезпечує потенційно більш високу швидкість виконання програми в порівнянні з фон-неймановскої за рахунок можливості реалізації паралельних операцій. Вибірка наступної команди може відбуватися одночасно з виконанням попередньої, і немає необхідності зупиняти процесор на час вибірки команди. Цей метод реалізації операцій дозволяє забезпечувати виконання різних команд за однакове число тактів, що дає можливість більш просто визначити час виконання циклів і критичних ділянок програми.

Більшість виробників сучасних 8-розрядних МК використовують гарвардську архітектуру. Однак гарвардська архітектура є недостатньо гнучкою для реалізації деяких програмних процедур. Тому порівняння МК, виконаних з різних архітектур, варто проводити стосовно до конкретного додатком.

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