Сокращённый набор команд
Сокращённый набор команд (англ. Reduced Instruction Set Computer, RISC) — это архитектура процессора, в которой используется ограниченное количество простых и однотипных по длине инструкций, выполняемых, как правило, за один такт. В отличие от архитектуры с полным набором команд (CISC), RISC-процессоры ориентированы на максимальную скорость выполнения базовых операций, что достигается за счёт упрощения декодера команд и конвейерной обработки. Концепция RISC возникла в 1980-х годах как альтернатива сложным и энергоёмким CISC-процессорам, доминировавшим в то время.
История
Предпосылки появления
К концу 1970-х годов микропроцессоры, такие как Intel 8086 и Motorola 68000, содержали сотни сложных инструкций, многие из которых использовались редко. Исследования, проведённые в IBM и Калифорнийском университете в Беркли, показали, что большинство программ выполняют лишь небольшое подмножество команд (около 20 % от всего набора). Это привело к идее создания процессора, который бы оптимизировал выполнение именно этих часто используемых операций.
Разработка первых RISC-процессоров
В 1980 году группа под руководством Дэвида Паттерсона в Беркли начала проект RISC-I, а в 1981 году — RISC-II. Эти процессоры имели всего 31 и 39 инструкций соответственно. В то же время в Стэнфордском университете под руководством Джона Хеннесси разрабатывался проект MIPS (Microprocessor without Interlocked Pipeline Stages), который также базировался на принципах RISC. Первый коммерческий RISC-процессор, ARM1, был выпущен компанией Acorn Computers в 1985 году. В 1986 году компания MIPS Technologies представила процессор R2000, а в 1987 году IBM выпустила IBM 801 — один из первых промышленных RISC-чипов.
Коммерциализация и развитие
В 1990-х годах RISC-архитектура стала доминировать в сегменте встраиваемых систем, мобильных устройств и серверов. Процессоры ARM (Advanced RISC Machines) стали стандартом для смартфонов, планшетов и микроконтроллеров. Архитектура PowerPC, разработанная альянсом Apple, IBM и Motorola, использовалась в компьютерах Macintosh до 2006 года, а также в игровых консолях (Nintendo Wii, PlayStation 3). В 2010-х годах компания Apple перешла на собственные RISC-процессоры Apple Silicon на базе архитектуры ARM, что обеспечило значительный рост производительности и энергоэффективности.
Основные принципы архитектуры RISC
Ограниченный набор инструкций
RISC-процессоры содержат всего несколько десятков (обычно от 30 до 100) базовых команд, таких как сложение, вычитание, загрузка из памяти, сохранение в память и условные переходы. Каждая инструкция имеет фиксированную длину (обычно 32 бита), что упрощает декодирование и конвейерную обработку.
Регистровая архитектура
Все операции с данными выполняются только над содержимым регистров. В RISC-процессорах используется большое количество регистров общего назначения (обычно 32 или 128). Доступ к памяти осуществляется только через специальные инструкции загрузки (load) и сохранения (store). Это позволяет избежать частых обращений к медленной оперативной памяти.
Конвейерная обработка
Благодаря простоте инструкций, RISC-процессоры могут эффективно использовать конвейер (pipeline) — одновременное выполнение нескольких этапов обработки разных команд. Стандартный конвейер включает 5 стадий: выборка команды, декодирование, выполнение, доступ к памяти и запись результата. В современных RISC-процессорах глубина конвейера может достигать 10–20 стадий.
Однотактное выполнение
Большинство инструкций RISC выполняются за один такт процессора. Исключение составляют операции с плавающей запятой и некоторые сложные команды, которые могут занимать несколько тактов. Однако в целом, RISC-процессоры имеют более высокий показатель IPC (инструкций за такт) по сравнению с CISC.
Сравнение с архитектурой CISC
| Характеристика | RISC | CISC |
|---|---|---|
| Количество инструкций | Малое (30–100) | Большое (сотни) |
| Длина инструкций | Фиксированная | Переменная |
| Сложность декодера | Низкая | Высокая |
| Время выполнения инструкции | 1 такт (в среднем) | 2–10 тактов |
| Доступ к памяти | Только load/store | Любая инструкция может обращаться к памяти |
| Размер кода | Больше (требуется больше инструкций) | Меньше (одна сложная инструкция заменяет несколько простых) |
| Энергопотребление | Низкое | Высокое |
| Примеры | ARM, MIPS, RISC-V, PowerPC | x86, x86-64 (Intel, AMD) |
Классификация RISC-архитектур
По разрядности
- 32-битные — ARMv7, MIPS32, RISC-V 32I. Используются в микроконтроллерах и встраиваемых системах.
- 64-битные — ARMv8, MIPS64, RISC-V 64I. Применяются в мобильных процессорах, серверах и суперкомпьютерах.
По лицензированию
- Проприетарные — ARM, MIPS, PowerPC. Разработка и производство контролируются одной компанией.
- Открытые — RISC-V. Архитектура и набор команд являются открытыми, что позволяет любому разработчику создавать собственные реализации без лицензионных отчислений.
По области применения
- Встраиваемые системы — ARM Cortex-M, RISC-V RV32E. Оптимизированы для низкого энергопотребления и малой стоимости.
- Мобильные устройства — ARM Cortex-A, Apple Silicon. Обеспечивают баланс производительности и энергоэффективности.
- Серверы и суперкомпьютеры — IBM POWER, Fujitsu A64FX. Нацелены на высокую вычислительную мощность.
Применение
Мобильные устройства
Процессоры на архитектуре ARM (Cortex-A, Apple Silicon) используются в подавляющем большинстве смартфонов и планшетов. Например, процессор Apple M1 (2020 год) содержит 16 миллиардов транзисторов и обеспечивает производительность, сопоставимую с настольными CISC-процессорами при значительно меньшем энергопотреблении.
Встраиваемые системы
RISC-процессоры (ARM Cortex-M, RISC-V) широко применяются в микроконтроллерах для управления бытовой техникой, автомобильными системами, промышленными контроллерами и устройствами Интернета вещей. Низкая стоимость и энергопотребление делают их идеальными для автономных устройств.
Серверы и суперкомпьютеры
Архитектура PowerPC (IBM POWER) использовалась в серверах IBM и суперкомпьютерах, таких как IBM Roadrunner (первый суперкомпьютер, достигший производительности 1 петафлопс). В 2020 году японский суперкомпьютер Fugaku, построенный на процессорах Fujitsu A64FX (ARMv8), занял первое место в рейтинге TOP500 с производительностью 442 петафлопс.
Образовательные и исследовательские проекты
Открытая архитектура RISC-V активно используется в университетах и исследовательских лабораториях для изучения принципов работы процессоров и разработки новых вычислительных архитектур. Например, проект UC Berkeley Rocket Chip позволяет создавать собственные реализации RISC-V на программируемых логических интегральных схемах (ПЛИС).
Критика
Недостатки размера кода
Из-за того, что каждая сложная операция в RISC заменяется несколькими простыми инструкциями, размер программного кода для RISC-процессоров обычно больше, чем для CISC. Это может быть критично для встраиваемых систем с ограниченной памятью.
Зависимость от компилятора
Эффективность работы RISC-процессора сильно зависит от качества компилятора, который должен оптимально преобразовывать высокоуровневый код в последовательность простых инструкций. Плохая оптимизация может привести к снижению производительности.
Сложность конвейера
Хотя RISC-процессоры проще в проектировании, чем CISC, современные реализации с глубокими конвейерами (10–20 стадий) сталкиваются с проблемами зависимостей данных и условных переходов, что требует сложных механизмов предсказания ветвлений и спекулятивного выполнения.
Перспективы развития
В 2020-х годах наблюдается рост интереса к открытой архитектуре RISC-V, которая может стать альтернативой проприетарным ARM и MIPS. Китайские компании (например, Alibaba) активно разрабатывают процессоры на RISC-V для снижения зависимости от иностранных технологий. Одновременно архитектура ARM продолжает доминировать в мобильном сегменте, а Apple расширяет использование собственных RISC-процессоров в компьютерах Mac. Ожидается, что в будущем RISC-архитектура будет всё активнее внедряться в серверные системы и суперкомпьютеры, особенно в контексте роста энергоэффективных вычислений.
Источники
- Patterson, D. A., & Hennessy, J. L. (2017). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann.
- Hennessy, J. L., & Patterson, D. A. (2019). Computer Architecture: A Quantitative Approach. Morgan Kaufmann.
- Waterman, A., & Asanović, K. (2017). The RISC-V Instruction Set Manual, Volume I: User-Level ISA. RISC-V Foundation.
- ARM Holdings. (2021). ARM Architecture Reference Manual. ARM.
- IBM. (1987). IBM 801 Processor: Principles of Operation. IBM Technical Report.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →