Перейти до вмісту

Reduced instruction set computing

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 08:31, 27 березня 2013, створена ReAl (обговорення | внесок) (вікіфікація, правопис)

RISC (англ. Reduced Instruction Set Computing — комп'ютер зі скороченим набором команд) — архітектура процесорів зі скороченим набором команд. Ще відома як «Load/Store» архітектура. Найвідоміші представники: DEC Alpha, ARC, ARM, AVR, MIPS, PA-RISC, Power Architecture (включаючи PowerPC), SuperH, та SPARC.

Основними рисами RISC архітектури є:

  • Мала кількість інструкцій
  • Однакова довжина всіх інструкцій
  • Мала кількість різних форматів інструкцій
  • Відсутність інструкцій які працюють з операндами в пам’яті (за виключенням інструкцій завантаження та збереження)
  • Мала кількість апаратно підтримуваних типів даних
  • Велика кількість ідентичних регістрів загального призначення

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

RISC-процесори швидші і економічніші, ніж CISC. У принципі, є можливість проектувати процесори на чистій RISC-архітектурі. Але відмовитися від архітектури x86 вже важко, оскільки під неї написано більшість поширених у світі програм, включаючи комп’ютерні ігри.[1]

Філософія перед RISC-ової архітектури

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

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

На противагу RISC, таку архітектуру називають CISC (англ. Complex Instruction Set Computing)

Філософія RISC архітектури

Ряд наукових досліджень середини 1970-х років довів, що тогочасні компілятори не використовували переваги складної адресації, а також те що більшість процесорів мали надлишковий набір інструкцій. Також було доведено, що в багатьох випадках складні інструкції виконувались повільніше ніж аналогічний по функціональності набір простіших інструкцій. Відомим прикладом цьому була інструкція INDEX ком’ютера VAX, яка виконувалась повільніше ніж її реалізація на базі циклу (але при цьому вона займала менше місця у пам’яті, що було важливо в ті часи). Також, складні інструкції менше підлягали оптимізації під конкретну задачу (напр. заміна множення/ділення операціями зсуву). Метою створення RISC архітектури було:

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

Найуспішніші реалізації

Примітки

  1. Таненбаум Э. Архитектура компьютера. 5 издание