- RISC (процессоры)
-
RISC (англ. Reduced Instruction Set Computing) — вычисления с сокращённым набором команд.
Это концепция проектирования процессоров, которая во главу ставит следующий принцип: более компактные и простые инструкции выполняются быстрее. Простая архитектура позволяет удешевить процессор, поднять тактовую частоту, а также распараллелить исполнение команд между несколькими блоками исполнения (т.н. суперскалярные архитектуры процессоров). Многие ранние RISC-процессоры даже не имели команд умножения и деления. Идея создания RISC процессоров пришла после того, как в 1970-х годах ученые из ЦПУ игнорировались программистами. Отчасти это был побочный эффект сложности компиляторов. В то время компиляторы могли использовать лишь часть из набора команд процессора. Следующее открытие заключалось в том, что, поскольку некоторые сложные операции использовались редко, они как правило были медленнее, чем те же действия, выполняемые набором простых команд. Это происходило из-за того, что создатели процессоров тратили гораздо меньше времени на улучшение сложных команд, чем на улучшение простых.
Первые RISC-процессоры были разработаны в начале 1980-х годов в Стэнфордском и Калифорнийском университетах США. Они выполняли небольшой (50?100) набор команд, тогда как обычные
Характерные особенности 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:
- Суперскалярные архитектуры (первоначально Sun SPARC, начиная с Pentium использованы в семействе x86). Распараллеливание исполнения команд между несколькими устройствами исполнения, причем решение о параллельном исполнении двух или более команд принимается аппаратурой процессора на этапе исполнения. Эффективное использование такой архитектуры требует специальной оптимизации машинного кода в компиляторе для генерации пар независимых (результат одной не является входом другой) команд.
- Архитектуры PA-RISC. VLIW-процессором в его классическом виде является
Иные архитектурные решения, типичные для RISC:
- Спекулятивное исполнение. При встрече с командой условного перехода процессор исполняет (или по крайней мере читает в кэш инструкций) сразу обе ветви, до тех пор, пока не окончится вычисление управляющего выражения перехода. Позволяет отказаться от простоев конвейера при условных переходах.
- Переименование регистров. Каждый регистр процессора на самом деле представляет собой несколько параллельных регистров, хранящих несколько версий значения. Используется для реализации спекулятивного исполнения.
Как оказалось в начале 90х годов, RISC-архитектуры позволяют получить большую производительность, чем CISC, за счет использования суперскалярного и VLIW подхода, а также за счет возможности серьезного повышения тактовой частоты DEC Alpha и за счет упрощения кристалла с высвобождением площади под кэш-память, могущую достигнуть огромных размеров. Также RISC-архитектуры позволили сильно снизить энергопотребление процессора за счет уменьшения числа транзисторов (ARM).
Первое время RISC-архитектуры с трудом принимались рынком из-за отсутствие программного обеспечения для них. Эта проблема была быстро решена переносом SunOS) на RISC архитектуры.
В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, DEC Alpha, AVR, MIPS, PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры CISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-инструкции процессоров
С отказом компаний Apple и Sun от использования серии CISC-процессоров Motorola 68xxx (в пользу PowerPC у Apple и в пользу SPARC у Sun), приведшем к фактическому прекращению производства серии, а также с переводом внутренней архитектуры серии x86 на суперскалярную RISC-архитектуру, подавляющее большинство существующих процессоров используют архитектуру RISC. Позже Apple перешла на CISC. Также такие архитектуры как MIPS и DEC Alpha прекратили своё существование.[1][2]
См. также
Ссылки
Устройство цифровых процессоров Архитектура Гарвардская • Фон Неймана • Битовые операции • Система команд • Кольца защиты • RISC • MISC • EPIC • ZISC Параллелизм Упреждающее выполнение • Конвейер • Суперскалярность • Подмена регистров • Мультипроцессор • Многопоточность Компоненты АЛУ • Математический сопроцессор • Корпус • Векторный процессор • Регистры • Кэш Управление питанием Динамическое изменение частоты • Динамическое изменение напряжения Реализации процессоров Микропроцессор • Графический процессор • Физический процессор • DSP • Система на кристалле • Микроконтроллер • ПЛИС
Wikimedia Foundation. 2010.