о набору машинних команд програмістами.
Крім того, складові мікрооперації, покликані збільшити швидкодію обчислень, почали програвати у швидкодії послідовностям елементарних машинних команд. Це стало результатом того, що в процесі еволюції обчислювальних ядер основна робота велася над оптимізацією виконання найбільш часто використовуваних елементарних машинних команд. Крім того, через обмеженого набору спеціалізованих регістрів в CISC-архітектурі, більшість обчислень велося за схемою: читання операндів з оперативної пам'яті в регістри, виконання арифметичної дії над операндами, запис отриманого результату з регістра в оперативну пам'ять. Так як швидкість читання даних з оперативної пам'яті в регістр і запису даних з регістра в оперативну пам'ять на порядок нижче швидкості пересилання даних між регістрами, з цієї причини інтенсивна робота з оперативною пам'яттю, властива CISC-архітектурі знижувала продуктивність програм.
Ще одним недоліком CISC-архітектури була різна довжина машинних команд і різний час їх виконання, це ускладнювало розрахунок часу, необхідного на виконання програми, але крім того не дозволяло реалізувати конвеєрну обробку машинних команд [3].
RISC - архітектура
Для вирішення проблем, властивих CISC-архітектурі була розроблена нова RISC-архітектура з скороченим набором машинних команд. У набір команд RISC-архітектури увійшли тільки основні елементарні мікрооперації, що дозволило уніфікувати формат команд обчислювального ядра, спростити конструкцію і знизити вартість виготовлення обчислювальних ядер. Розробниками було прийнято рішення зрівняти час виконання всіх машинних команд, що спростило розрахунок часу виконання програм, а найголовніше дозволило реалізувати конвеєрну обробку інструкцій.
Зменшення набору машинних команд в RISC-архітектурі дозволило розмістити на кристалі обчислювального ядра велика кількість регістрів загального призначення. Збільшення кількості регістрів загального призначення дозволило мінімізувати звернення до повільної оперативної пам'яті, залишивши для роботи з RAM тільки операції читання даних з оперативної пам'яті в регістр і запис даних з регістра в оперативну пам'ять, всі інші машинні команди використовують в якості операндів регістри загального призначення.
Основними перевагами RISC-архітектури є наявність таких властивостей:
· Велике число регістрів загального призначення.
· Універсальний формат всіх мікрооперацій.
· Рівна час виконання всіх машинних команд.
· Практично всі операції пересилання даних здійснюються за маршрутом регістр - регістр.
Рівна час виконання всіх машинних команд дозволяють обробляти потік командних інструкцій з конвеєрним принципом, тобто виконується синхронізація апаратних частин з урахуванням послідовної передачі керування від одного апаратного блоку до іншого.
Апаратні блоки в RISC-архітектурі:
· Блок завантаження інструкцій включає в себе наступні складові частини: блок вибірки інструкцій з пам'яті інструкцій, регістр інструкцій, куди поміщається інструкція після її вибірки і блок декодування інструкцій. Ця ступінь називається щаблем вибірки інструкцій.
· Регістри загального призначення спільно з блоками управління регістрами утворюють другу ступінь конвеєра, відповідальну за читання операндів інструкцій. Операнди можуть зберігатися в самій інструкції або в одному з регістрів загального призначення. Ця ступінь називається щаблем вибірки операндів.
· Арифметико-логічний пристрій і, якщо в даній архітектурі реалізований, акумулятор, разом з логікою управління, яка виходячи з вмісту регістра інструкцій визначає тип виконуваної мікрооперації. Джерелом даних крім регістра інструкцій може бути лічильник команд, при виконанні мікрооперацій умовного або безумовного переходу. Дана ступінь називається виконавчої щаблем конвеєра.
· Набір складається з регістрів загального призначення, логіки записи і іноді з RAM утворюють щабель збереження даних. На цьому ступені результат виконання інструкцій записуються в регістри загального призначення або в основну пам'ять.
Однак до моменту розробки RISC-архітектури, промисловим стандартом мікропроцесорів де-факто стала архітектура Intel x86, виконана за принципом CISC-архітектури. Наявність великої кількості програм, написаних під архітектуру Intel x86, унеможливила масовий перехід ЕОМ на RISC-архітектуру. З цієї причини основною сферою використання RISC-архітектури з'явилися мікроконтролери, завдяки тому, що вони не були прив'язані до існуючого програмного забезпечення. Крім того деякі виробники ЕОМ так само почали випускати ЕОМ, побудовані за RISC...