RISC процессор

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

RISC (англ. Reduced Instruction Set Computing) — обчислення з скороченим набором команд. Характерні особливості RISC-процесорів:

  1. Фіксована довжина машинних інструкцій (наприклад, 32 біта) і простий формат команди.
  2. Спеціалізовані команди для операцій з пам'яттю - читання або запису. Операції виду «прочитати-змінити-записати» відсутні. Будь-які операції "змінити" виконуються тільки над вмістом регістрів (т.зв. load-and-store архітектура).
  3. Велика кількість регістрів загального призначення (32 і більше).
  4. Відсутність підтримки операцій виду "змінити" над укороченими типами даних - байт, 16бітное слово. Так, наприклад, система команд DEC Alpha містила лише операції над 64-бітними словами, і вимагала розробки і подальшого виклику процедур для виконання операцій над байтами, 16- і 32-бітними словами.
  5. Відсутність мікропрограм всередині самого процесора. Те, що в CISC процесорі виконується мікропрограмами, в RISC процесорі виповнюється як звичайний (хоча і поміщений у спеціальне сховище) машинний код, не відрізняється принципово від коду ядра ОС і додатків.


Це концепція проектування процесорів, яка на перше ставить наступний принцип: більш компактні і прості інструкції виконуються швидше. Проста архітектура дозволяє здешевити процесор, підняти тактову частоту, а також розпараллелити виконання команд між декількома блоками виконання (т.зв. суперскалярні архітектури процесорів). Багато ранніх RISC-процесори навіть не мали команд множення і ділення. Ідея створення RISC процесорів прийшла після того, як в 1970-х роках вчені з IBM виявили, що багато з функціональних особливостей традиційних ЦПУ ігнорувалися програмістами. Частково це був побічний ефект складності компіляторів. У той час компілятори могли використовувати лише частину з набору команд процесора. Наступне відкриття полягало в тому, що, оскільки деякі складні операції використовувалися рідко, вони як правило були повільніше, ніж ті ж дії, що виконуються набором простих команд. Це відбувалося через те, що творці процесорів витрачали набагато менше часу на поліпшення складних команд, ніж на поліпшення простих.

Перші RISC-процесори були розроблені на початку 1980-х років в Стенфордському і Каліфорнійському університетах США. Вони виконували невеликий (50 - 100) набір команд, тоді як звичайні CISC (Complex Instruction Set computer) виконували 100 - 200.