RISC: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
...стилевые правки, дополнение - частичная адаптация информации из англовики...
...стилевые правки (неверный перевод), ещё адаптация информации из англовики...
Строка 1: Строка 1:
{{К переименованию|17 мая 2010|RISC (значения)}}
{{К переименованию|17 мая 2010|RISC (значения)}}
{{другие значения|RNA-induced silencing complex}}
{{другие значения|RNA-induced silencing complex}}
'''RISC''' ({{lang-en|Restricted (reduced) instruction set computer}}<ref>{{книга|заглавие=Толковый словарь по вычислительным системам|оригинал=Dictionary of Computing|ответственный=Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е. К. Масловского|место={{М.}}|издательство=Машиностроение|год=1990|страниц=560|isbn=5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания)|тираж=70&nbsp;000 (доп.)}}</ref><ref>Reduced instruction set ''computing'' — неправильно.</ref> — '''компьютер с сокращённым [[система команд|набором команд]]''') — [[архитектура процессора]], в которой быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения  — короче. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение [[тактовая частота|тактовой частоты]] и делает более эффективной [[суперскалярность]] (распараллеливание инструкций между несколькими исполнительными блоками).
'''RISC''' ({{lang-en|Restricted (reduced) instruction set computer}}<ref>{{книга|заглавие=Толковый словарь по вычислительным системам|оригинал=Dictionary of Computing|ответственный=Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е. К. Масловского|место={{М.}}|издательство=Машиностроение|год=1990|страниц=560|isbn=5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания)|тираж=70&nbsp;000 (доп.)}}</ref><ref>Reduced instruction set ''computing'' — неправильно.</ref> — '''компьютер с сокращённым [[система команд|набором команд]]''') — [[архитектура процессора]], в которой быстродействие увеличивается за счёт упрощения [[Инструкция (информатика)|инструкций]], чтобы их декодирование было более простым, а время выполнения  — короче. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение [[тактовая частота|тактовой частоты]] и делает более эффективной [[суперскалярность]] (распараллеливание инструкций между несколькими исполнительными блоками).


Другие архитектуры для облегчения ручного написания программ на [[Язык ассемблера|языках ассемблеров]] или прямо в [[Машинный код|машинных кодах]] предоставляли наборы инструкций, выполняющие как можно больше работы. Нередко в наборы включались инструкции для прямой поддержки конструкций [[Высокоуровневый язык программирования|языков высокого уровня]]. При этом инструкции, для упрощения реализации компиляторов, как правило поддерживали все возможные [[методы адресации]] (т. н. «ортогональность системы команд») — например, операнды и результат в арифметических операциях помимо [[Регистр процессора|регистров]] или непосредственной адресации доступны прямо в [[Оперативная память|памяти]]. Позднее такие архитектуры были названы [[CISC]] ({{lang-en|Complex instruction set computer}}).
Другие архитектуры для облегчения ручного написания программ на [[Язык ассемблера|языках ассемблеров]] или прямо в [[Машинный код|машинных кодах]] предоставляли наборы инструкций, выполняющие как можно больше работы. Нередко в наборы включались инструкции для прямой поддержки конструкций [[Высокоуровневый язык программирования|языков высокого уровня]]. При этом инструкции, для упрощения реализации [[компилятор]]ов, как правило поддерживали все возможные [[методы адресации]] (т. н. «ортогональность системы команд») — например, операнды и результат в арифметических операциях помимо [[Регистр процессора|регистров]] или непосредственной адресации доступны прямо в [[Оперативная память|памяти]]. Позднее такие архитектуры были названы [[CISC]] ({{lang-en|Complex instruction set computer}}).


Однако многие компиляторы не задействовали все возможности таких наборов инструкций, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых инструкций, если при этом процессор упрощается и в нём остаётся место для большего числа регистров, за счёт которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство инструкций для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идёт через отдельные инструкции загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы [[Конвейер (процессор)|конвейеризации]], сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.
Однако многие компиляторы не задействовали все возможности таких наборов инструкций, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых инструкций, если при этом процессор упрощается и в нём остаётся место для большего числа регистров, за счёт которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство инструкций для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идёт через отдельные инструкции загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы [[Конвейер (процессор)|конвейеризации]], сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.


== Философия RISC ==
== Философия RISC ==
В середине 1970-х разные исследователи (в частности, из [[IBM]]) показали, что большинство комбинаций инструкций и ортогональных методов адресации не использовались в большинстве программ, порождаемых компиляторами того времени. Также, было обнаружено, что в некоторых архитектурах с [[микрокод]]ной реализацией сложные операции часто были медленнее последовательности более простых операций, выполняющих те же действия. Это было вызвано, в частности, тем, что многие архитектуры разрабатывались в спешке и хорошо оптимизировался микрокод только тех инструкций, которые использовались чаще.<ref>Примером является инструкция <code>INDEX</code> в архитектуре [[VAX]], которая медленнее эквивалентной реализации, использующей более простые операции. См.: {{статья|автор=D. A. Patterson, D. R. Ditzel.|заглавие=The case for the reduced instruction set computing|издание=SIGARCH Comput. Archit. News|год=октябрь 1980|выпуск=8, 6|pages=25—33|doi=10.1145/641914.641917}}</ref>
Идея создания RISC-процессоров возникла после того, как в 1970-х годах учёные из [[IBM]] обнаружили, что многие из функциональных особенностей традиционных процессоров игнорировались [[программист]]ами. Отчасти это был побочный эффект сложности [[компилятор]]ов. В то время компиляторы могли использовать лишь часть из набора команд процессора. Следующее открытие заключалось в том, что, поскольку некоторые сложные операции использовались редко, они, как правило, обрабатывались медленнее, чем аналогичные по функциональности наборы простых команд. Это происходило из-за того, что создатели процессоров тратили гораздо меньше времени на улучшение сложных команд, чем на улучшение простых.


Поскольку многие реальные программы тратят большинство своего времени на выполнение простых операций, многие исследователи решили сфокусироваться на том, чтобы сделать эти операции максимально быстрыми. Тактовая частота процессора ограничена временем, которое процессор тратит на выполнение наиболее медленных шагов в процессе обработки любой инструкции; уменьшение времени этого цикла зачастую ускоряет выполнение и других инструкций.<ref>{{статья|автор=Andrew Schulman.|заглавие=Microprocessors From the Programmer’s Perspective|ссылка=http://www.ddj.com/architect/184408418|издание=[[Dr. Dobb's Journal]]|год=1 сентября 1990}}</ref> Фокусирование на простых инструкциях и ведёт к архитектуре RISC. Цель при этом — сделать инструкции настолько простыми, чтобы они легко [[Конвейер (процессор)|конвейеризировались]] и тратили не более одного такта на каждом шаге конвейера на высоких частотах.
Первые RISC-процессоры были разработаны в начале 1980-х годов в Стэнфордском и Калифорнийском университетах [[США]]. Они выполняли небольшой (50—100) набор команд, тогда как обычные [[CISC]] (complex instruction set computer) выполняли 100—200.

Позднее было отмечено, что наиболее значимая характеристика RISC в том, что обращение к памяти идёт только через инструкции load и store. Все прочие инструкции ограничены внутренними регистрами. Это упростило архитектуру процессоров: позволило инструкциям иметь фиксированную длину, упростило конвейеры и изолировало логику, имеющую дело с задержками при доступе к памяти, только в двух инструкциях. В результате, RISC-архитектуры стали называть также ''архитектурами load/store''.<ref>{{книга|автор=Kevin Dowd.|заглавие=High Performance Computing|издательство=O’Reilly & Associates|год=1993}}</ref>

=== Количество инструкций ===
Часто название «компьютер с сокращённым [[система команд|набором команд]]» понимается неверно в том смысле, будто из системы команд убираются инструкции, получая в результате меньший набор инструкций. В действительности, наборы инструкций многих RISC-процессоров больше наборов инструкций CISC-процессоров.<ref>{{cite web|url=http://arstechnica.com/cpu/4q99/risc-cisc/rvc-5.html#Branch|author=Jon «Hannibal» Stokes.|title=RISC and CISC, Side by Side?|work=RISC vs. CISC: the Post-RISC Era|publisher={{translation|:en:Ars Technica|Ars Technica}}|date=август 1999|accessdate=11 июля 2010}}</ref><ref>{{cite web|url=http://www.borrett.id.au/computing/art-1991-06-02.htm|author=Lloyd Borrett.|title=RISC versus CISC|publisher=Australian Personal Computer|date=июнь 1991|accessdate=11 июля 2010}}</ref> Некоторые RISC-процессоры вроде INMOS {{translation|:en:Transputer|Transputer}} имеют наборы инструкций настолько большие, как, например, CISC [[IBM System/370]]; и наоборот — CISC-процессор DEC [[PDP-8]] имеет только 8 основных инструкций и несколько расширенных.

Термин «сокращённый» в названии описывает тот факт, что сокращён объём работы, выполняемый каждой отдельной инструкцией — как максимум один цикл доступа к памяти — тогда как сложные инструкции CISC-процессоров могут требовать сотен циклов доступа к памяти для выполнения одной инструкции.<ref>{{книга|ссылка=http://www.springerlink.com/content/u5t457g61q637v66/|автор=Sivarama P. Dandamudi.|часть=Chapter 3: RISC Principles|заглавие=Guide to RISC Processors for Programmers and Engineers|издательство=Springer New York|год=2005|pages=39—44|isbn=978-0-387-21017-9 (Print) ISBN 978-0-387-27446-1 (Online)|doi=10.1007/0-387-27446-4_3|цитата=the main goal was not to reduce the number of instructions, but the complexity}} {{DOI|10.1007/0-387-27446-4_3}} — «the main goal was not to reduce the number of instructions, but the complexity»</ref>


== Характерные особенности RISC-процессоров ==
== Характерные особенности RISC-процессоров ==

Версия от 03:53, 11 июля 2010

RISC (англ. Restricted (reduced) instruction set computer[1][2] — компьютер с сокращённым набором команд) — архитектура процессора, в которой быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения  — короче. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность (распараллеливание инструкций между несколькими исполнительными блоками).

Другие архитектуры для облегчения ручного написания программ на языках ассемблеров или прямо в машинных кодах предоставляли наборы инструкций, выполняющие как можно больше работы. Нередко в наборы включались инструкции для прямой поддержки конструкций языков высокого уровня. При этом инструкции, для упрощения реализации компиляторов, как правило поддерживали все возможные методы адресации (т. н. «ортогональность системы команд») — например, операнды и результат в арифметических операциях помимо регистров или непосредственной адресации доступны прямо в памяти. Позднее такие архитектуры были названы CISC (англ. Complex instruction set computer).

Однако многие компиляторы не задействовали все возможности таких наборов инструкций, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых инструкций, если при этом процессор упрощается и в нём остаётся место для большего числа регистров, за счёт которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство инструкций для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идёт через отдельные инструкции загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы конвейеризации, сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.

Философия RISC

В середине 1970-х разные исследователи (в частности, из IBM) показали, что большинство комбинаций инструкций и ортогональных методов адресации не использовались в большинстве программ, порождаемых компиляторами того времени. Также, было обнаружено, что в некоторых архитектурах с микрокодной реализацией сложные операции часто были медленнее последовательности более простых операций, выполняющих те же действия. Это было вызвано, в частности, тем, что многие архитектуры разрабатывались в спешке и хорошо оптимизировался микрокод только тех инструкций, которые использовались чаще.[3]

Поскольку многие реальные программы тратят большинство своего времени на выполнение простых операций, многие исследователи решили сфокусироваться на том, чтобы сделать эти операции максимально быстрыми. Тактовая частота процессора ограничена временем, которое процессор тратит на выполнение наиболее медленных шагов в процессе обработки любой инструкции; уменьшение времени этого цикла зачастую ускоряет выполнение и других инструкций.[4] Фокусирование на простых инструкциях и ведёт к архитектуре RISC. Цель при этом — сделать инструкции настолько простыми, чтобы они легко конвейеризировались и тратили не более одного такта на каждом шаге конвейера на высоких частотах.

Позднее было отмечено, что наиболее значимая характеристика RISC в том, что обращение к памяти идёт только через инструкции load и store. Все прочие инструкции ограничены внутренними регистрами. Это упростило архитектуру процессоров: позволило инструкциям иметь фиксированную длину, упростило конвейеры и изолировало логику, имеющую дело с задержками при доступе к памяти, только в двух инструкциях. В результате, RISC-архитектуры стали называть также архитектурами load/store.[5]

Количество инструкций

Часто название «компьютер с сокращённым набором команд» понимается неверно в том смысле, будто из системы команд убираются инструкции, получая в результате меньший набор инструкций. В действительности, наборы инструкций многих RISC-процессоров больше наборов инструкций CISC-процессоров.[6][7] Некоторые RISC-процессоры вроде INMOS Шаблон:Translation имеют наборы инструкций настолько большие, как, например, CISC IBM System/370; и наоборот — CISC-процессор DEC PDP-8 имеет только 8 основных инструкций и несколько расширенных.

Термин «сокращённый» в названии описывает тот факт, что сокращён объём работы, выполняемый каждой отдельной инструкцией — как максимум один цикл доступа к памяти — тогда как сложные инструкции CISC-процессоров могут требовать сотен циклов доступа к памяти для выполнения одной инструкции.[8]

Характерные особенности RISC-процессоров

  • Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
  • Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).
  • Большое количество регистров общего назначения (32 и более).
  • Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.
  • Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется микропрограммами, в RISC процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещённом в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байтов в слове и формат входов таблиц страниц виртуальной памяти.

Архитектуры, обычно упоминаемые в связи с RISC

  • Суперскалярные архитектуры (первоначально — большие ЭВМ конца 1960-х годов, в микропроцессорах — Sun SPARC, начиная с Pentium использованы в семействе x86). Распараллеливание исполнения команд между несколькими устройствами исполнения, причём решение о параллельном исполнении двух или более команд принимается аппаратурой процессора на этапе исполнения. Эффективное использование такой архитектуры требует специальной оптимизации машинного кода в компиляторе для генерации пар независимых команд (когда результат одной команды не является аргументом другой).
  • Архитектуры VLIW (very long instruction word — очень длинное слово команды). Отличаются от суперскалярной архитектуры тем, что решение о распараллеливании принимается не аппаратурой на этапе исполнения, а компилятором на этапе генерации кода. Команды очень длинны и содержат явные инструкции по распараллеливанию нескольких субкоманд на несколько устройств исполнения. Элементы архитектуры содержались в серии PA-RISC. VLIW-процессором в его классическом виде является Itanium. Разработка эффективного компилятора для VLIW является сложнейшей задачей. Преимущество VLIW перед суперскалярной архитектурой заключается в том, что компилятор может быть более развитым, нежели устройства управления процессора, и он способен хранить больше контекстной информации для принятия более верных решений по оптимизации.

Иные архитектурные решения, типичные для RISC

  • Спекулятивное исполнение. При встрече с командой условного перехода процессор исполняет (или, по крайней мере, читает в кэш инструкций) сразу обе ветви до тех пор, пока не окончится вычисление управляющего выражения перехода. Позволяет отказаться от простоев конвейера при условных переходах.
  • Переименование регистров. Каждый регистр процессора на самом деле представляет собой несколько параллельных регистров, хранящих несколько версий значения. Используется для реализации спекулятивного исполнения.

Начало развития RISC-архитектуры

Первая система, которая может быть названа RISC-системой, — суперкомпьютер CDC 6600, который был создан в 1964 году, за десять лет до появления соответствующего термина. CDC 6600 имел RISC-архитектуру всего с двумя режимами адресации («регистр+регистр» и «регистр+непосредственное значение») и 74 кодами команд (тогда как Intel 8086 имел 400 кодов команд). В CDC 6600 было 11 конвейерных устройств арифметической и логической обработки, а также пять устройств загрузки и два устройства хранения. Память была многоблочной, поэтому все устройства загрузки-хранения могли работать одновременно. Базовая тактовая частота/частота выдачи команд была в 10 раз выше, чем время доступа к памяти. Джим Торнтон и Сеймур Крэй, разработчики CDC 6600, создали в нём мощный процессор, позволявший быстро обрабатывать большие объемы цифровых данных. Главный процессор поддерживался десятью простыми периферийными процессорами, выполнявшими операции ввода-вывода и другие функции ОС. [9] Позднее появилась шутка, что термин RISC на самом деле расшифровывается как «Really invented by Seymour Cray» («На самом деле придуман Сеймуром Крэем»). Еще одна ранняя RISC-машина — миникомпьютер Data General Nova, разработанный в 1968 году.

Первая попытка создать RISC-процессор на чипе была предпринята в IBM в 1975. Эта работа привела к созданию семейства процессоров IBM 801, которые широко использовались в различных устройствах IBM. 801-й в конце концов был выпущен в форме чипа под именем ROMP в 1981 году. ROMP расшифровывается как Research OPD (Office Product Division) Micro Processor, то есть «Исследовательский микропроцессор», разработанный в Департаменте офисных разработок. Как следует из названия, процессор был разработан для «мини»-задач, и когда в 1986 году IBM выпустила на его базе компьютер IBM RT-PC, он работал не слишком хорошо. Однако за выпуском 801-ого процессора последовало несколько исследовательских проектов, в результате одного из которых появилась система POWER.

Однако наиболее известные RISC-системы были разработаны в рамках университетских исследовательских программ, финансировавшихся программой DARPA VLSI. Программа VLSI, практически неизвестная даже сегодня, на самом деле поспособствовала большому количеству открытий в области архитектуры чипов, технологий производства и даже компьютерной графики.

Проект RISC в Университете Беркли был начат в 1980 году под руководством Дэвида Паттерсона и Карло Секвина. Исследования базировались на использовании конвейерной обработки и агрессивного использования техники регистрового окна. В обычном процессоре имеется небольшое количество регистров и программа может использовать любой регистр в любое время. В процессоре, использующем технологии регистрового окна, очень большое количество регистров (например, 128), но программы могут использовать ограниченное количество (например, только 8 в каждый момент времени).

Программа, ограниченная лишь восемью регистрами для каждой процедуры, может выполнять очень быстрые вызовы процедур: «окно» просто сдвигается к 8-регистровому блоку нужной процедуры, а при возврате из процедуры сдвигается обратно, к регистрам вызвавшей процедуры. (В обычном процессоре большинство процедур при вызове вынуждены сохранять значения некоторых регистров в стеке для того, чтобы пользоваться этими регистрами при исполнении процедуры. При возврате из процедуры значения регистров восстанавливаются из стека).

Проект RISC произвел на свет процессор RISC-I в 1982 году. В нем было всего 44 420 транзисторов (для сравнения: в наиболее современных CISC-процессорах того времени их было около 100 тыс.). RISC-I имел всего 32 инструкции, но превосходил по скорости работы любой одночиповый процессор того времени. Через год, в 1983 году, был выпущен RISC-II, который состоял из 40 760 транзисторов, использовал 39 инструкций и работал в три раза быстрее RISC-I.

Практически в то же время, в 1981 году, Джон Хеннесси начал аналогичный проект, названный «MIPS-архитектура» в Стэнфордском университете. Создатель MIPS практически полностью сфокусировался на конвейерной обработке, попытавшись «выжать всё» из этой технологии. Конвейерная обработка использовалась и в других продуктах, некоторые идеи, реализованные в MIPS, позволили разработанному чипу работать значительно быстрее аналогов. Наиболее важным было требование выполнения любой из инструкций процессора за один такт. Это требование позволило конвейеру работать на гораздо бо́льших скоростях передачи данных и привело к значительному ускорению работы процессора. С другой стороны, исполнение этого требования имело негативный побочный эффект в виде удаления из набора инструкций таких полезных операций как умножение или деление.

В первые годы попытки развития RISC-архитектуры были хорошо известны, однако оставались в рамках породивших их университетских исследовательских лабораторий. Многие в компьютерной индустрии считали, что преимущества RISC-процессоров не проявятся при использовании в реальных продуктах из-за низкой эффективности использования памяти в составных инструкциях. Однако с 1986 года исследовательские проекты RISC начали выпускать первые работающие продукты.

Последние годы

Как оказалось в начале 1990-х годов, RISC-архитектуры позволяют получить большую производительность, чем CISC, за счёт использования суперскалярного и VLIW-подхода, а также за счёт возможности серьёзного повышения тактовой частоты и упрощения кристалла с высвобождением площади под кэш, достигающую огромных емкостей. Также RISC-архитектуры позволили сильно снизить энергопотребление процессора за счёт уменьшения числа транзисторов.

Первое время RISC-архитектуры с трудом принимались рынком из-за отсутствия программного обеспечения для них. Эта проблема была быстро решена переносом UNIX-подобных операционных систем (SunOS) на RISC-архитектуры.

В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER и PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel 486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции x86-процессоров в более простой набор внутренних инструкций RISC.

С переводом внутренней архитектуры x86 на суперскалярную RISC-архитектуру, подавляющее большинство существующих процессоров использует архитектуру RISC.

См. также

Примечания

  1. Толковый словарь по вычислительным системам = Dictionary of Computing / Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е. К. Масловского. — М.: Машиностроение, 1990. — 560 с. — 70 000 (доп.) экз. — ISBN 5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания).
  2. Reduced instruction set computing — неправильно.
  3. Примером является инструкция INDEX в архитектуре VAX, которая медленнее эквивалентной реализации, использующей более простые операции. См.: D. A. Patterson, D. R. Ditzel. The case for the reduced instruction set computing // SIGARCH Comput. Archit. News. — октябрь 1980. — Вып. 8, 6. — P. 25—33. — doi:10.1145/641914.641917.
  4. Andrew Schulman. Microprocessors From the Programmer’s Perspective // Dr. Dobb's Journal. — 1 сентября 1990.
  5. Kevin Dowd. High Performance Computing. — O’Reilly & Associates, 1993.
  6. Jon «Hannibal» Stokes. RISC and CISC, Side by Side? RISC vs. CISC: the Post-RISC Era. Шаблон:Translation (август 1999). Дата обращения: 11 июля 2010.
  7. Lloyd Borrett. RISC versus CISC. Australian Personal Computer (июнь 1991). Дата обращения: 11 июля 2010.
  8. Sivarama P. Dandamudi. Chapter 3: RISC Principles // Guide to RISC Processors for Programmers and Engineers. — Springer New York, 2005. — P. 39—44. — ISBN 978-0-387-21017-9 (Print) ISBN 978-0-387-27446-1 (Online). — doi:10.1007/0-387-27446-4_3. doi:10.1007/0-387-27446-4_3 — «the main goal was not to reduce the number of instructions, but the complexity»
  9. Grishman, Ralph. Assembly Language Programming for the Control Data 6000 Series. Algorithmics Press. 1974. pg 12

Ссылки

  • RISC в каталоге ссылок Curlie (dmoz)