Архитектура RISC¶
Архитектура RISC (от англ. Reduced Instruction Set Computer — компьютер с сокращённым набором команд) — это тип архитектуры процессора, в основе которого лежит использование небольшого, фиксированного по длине и упрощённого набора инструкций, каждая из которых выполняется, как правило, за один такт. RISC противопоставляется архитектуре CISC (Complex Instruction Set Computer), где набор команд включает сложные, многоцикловые операции. Основные принципы RISC были сформулированы в 1980-х годах в рамках исследований в Калифорнийском университете в Беркли (проект RISC-I) и Стэнфордском университете (проект MIPS). Ключевая идея заключается в том, что простые инструкции могут выполняться быстрее, а сложные операции компилируются из последовательности простых, что в итоге повышает производительность за счёт более эффективного конвейера и меньшего времени такта.
¶История и предпосылки
¶Предпосылки создания
К концу 1970-х годов доминирующей архитектурой в микропроцессорах стала CISC, примером которой служили процессоры Intel 8086 и Motorola 68000. Разработчики стремились добавлять всё более сложные инструкции (например, для работы со строками или математическими вычислениями), чтобы облегчить написание программ на ассемблере и сократить объём кода. Однако это приводило к росту сложности декодирования, увеличению числа транзисторов и снижению тактовой частоты. Кроме того, эмпирические исследования, проведённые в начале 1980-х годов, показали, что компиляторы редко используют сложные инструкции, а бо́льшая часть времени выполнения приходится на простые операции, такие как загрузка, сложение и переход.
¶Разработка в университетах
В 1980–1984 годах группа под руководством Дэвида Паттерсона в Беркли создала процессор RISC-I, который содержал всего 31 инструкцию. В 1983 году был выпущен RISC-II, который при меньшем числе транзисторов (около 40 000) превосходил по производительности коммерческие процессоры VAX-11/780. Параллельно в Стэнфорде под руководством Джона Хеннесси разрабатывался проект MIPS (Microprocessor without Interlocked Pipeline Stages), где особое внимание уделялось устранению блокировок конвейера. Эти проекты легли в основу первых коммерческих RISC-процессоров: SPARC (от Sun Microsystems) и MIPS (от MIPS Computer Systems).
¶Коммерциализация и распространение
В середине 1980-х годов RISC-архитектуры начали активно внедряться в рабочие станции и серверы. Компания Sun Microsystems выпустила процессоры SPARC, SGI использовала MIPS, а IBM разработала архитектуру POWER (Performance Optimization With Enhanced RISC), которая позже легла в основу процессоров PowerPC. В 1990-е годы RISC-процессоры, такие как DEC Alpha, HP PA-RISC и ARM, стали доминировать на рынке высокопроизводительных систем и встраиваемых устройств. В 2000-е годы архитектура ARM стала стандартом для мобильных устройств, а в 2010-е годы RISC-принципы были применены в открытой архитектуре RISC-V.
¶Основные принципы и характеристики
¶Набор инструкций
- Ограниченное количество инструкций: обычно от 30 до 150, в отличие от CISC, где их может быть несколько сотен.
- Фиксированная длина инструкции: чаще всего 32 бита, что упрощает декодирование и конвейерную обработку.
- Регистровая архитектура: все операции выполняются над регистрами, а не над памятью. Используются отдельные инструкции загрузки (load) и сохранения (store) для доступа к памяти.
- Однотактное выполнение: большинство инструкций выполняется за один такт процессора (за исключением инструкций загрузки/сохранения, которые могут занимать два такта).
¶Конвейерная обработка
RISC-архитектуры проектируются с учётом эффективного конвейера. Фиксированная длина инструкций и отсутствие сложных микроопераций позволяют разбить выполнение на несколько стадий (например, выборка, декодирование, выполнение, запись результата) без дополнительных задержек. В первых RISC-процессорах, таких как MIPS, конвейер состоял из 5 стадий, что стало классическим примером.
¶Компиляторная оптимизация
Упрощённый набор инструкций перекладывает часть работы на компилятор. Компилятор должен эффективно преобразовывать высокоуровневый код в последовательность простых инструкций, оптимизируя использование регистров и планирование конвейера. Это делает RISC-архитектуры более зависимыми от качества компилятора, чем CISC.
¶Сравнение с архитектурой CISC
| Характеристика | RISC | CISC |
|---|---|---|
| Размер набора инструкций | Маленький (30–150) | Большой (200–1000+) |
| Длина инструкции | Фиксированная (обычно 32 бита) | Переменная (от 1 до 15 байт) |
| Выполнение инструкции | Один такт (в среднем) | Много тактов (сложные инструкции) |
| Доступ к памяти | Только load/store | Многие инструкции могут работать с памятью |
| Количество регистров | Большое (32–128) | Ограниченное (8–16) |
| Сложность декодирования | Низкая | Высокая |
| Типичное применение | Мобильные устройства, серверы, встраиваемые системы | Персональные компьютеры, серверы (x86) |
¶Примеры RISC-архитектур
¶ARM (Advanced RISC Machine)
Архитектура ARM, разработанная компанией Acorn Computers в 1985 году, стала самой распространённой RISC-архитектурой в мире. Она используется в подавляющем большинстве смартфонов, планшетов, микроконтроллеров и встраиваемых систем. Отличительные черты: низкое энергопотребление, большое количество регистров (16–32), поддержка Thumb-режима (16-битные инструкции для уменьшения объёма кода). Современные версии (ARMv8, ARMv9) поддерживают 64-битные вычисления.
¶MIPS (Microprocessor without Interlocked Pipeline Stages)
Архитектура MIPS была разработана в Стэнфорде в 1981 году и использовалась в рабочих станциях SGI, игровых консолях (Nintendo 64, PlayStation) и маршрутизаторах. Характеризуется простым конвейером и отсутствием аппаратных блокировок (все конфликты решаются компилятором). С 2010-х годов MIPS постепенно уступает позиции архитектуре RISC-V.
¶RISC-V
Открытая и свободная архитектура, разработанная в 2010 году в Калифорнийском университете в Беркли. RISC-V не требует лицензионных отчислений, что делает её привлекательной для академических и коммерческих проектов. Базовый набор инструкций (RV32I) содержит 47 инструкций, а расширения позволяют добавлять поддержку умножения, плавающей арифметики, векторных операций и т.д. RISC-V активно применяется в микроконтроллерах, IoT-устройствах и исследовательских проектах.
¶SPARC (Scalable Processor Architecture)
Разработана компанией Sun Microsystems в 1987 году. Использовалась в серверах и рабочих станциях Sun. Отличительная особенность — регистровые окна, которые позволяют быстро переключать контекст между функциями. К началу 2020-х годов SPARC утратила коммерческое значение, но продолжает использоваться в некоторых нишевых системах.
¶PowerPC (Performance Optimization With Enhanced RISC)
Совместная разработка IBM, Apple и Motorola (альянс AIM), начатая в 1991 году. Использовалась в компьютерах Macintosh до 2006 года, а также в игровых консолях (Xbox 360, PlayStation 3) и встроенных системах. В настоящее время PowerPC применяется в некоторых автомобильных и промышленных контроллерах.
¶Применение
¶Мобильные устройства и встраиваемые системы
Архитектура ARM доминирует в этом сегменте благодаря низкому энергопотреблению и высокой производительности на ватт. Процессоры на базе ARM используются в смартфонах (Qualcomm Snapdragon, Apple A-серии), планшетах, умных часах, маршрутизаторах и микроконтроллерах (STM32, NXP).
¶Серверы и высокопроизводительные вычисления
В 2010-х годах RISC-архитектуры, такие как ARM и RISC-V, начали проникать в серверный сегмент. Например, процессоры Amazon Graviton (на базе ARM) используются в облачных сервисах AWS. RISC-V рассматривается как перспективная платформа для суперкомпьютеров и специализированных ускорителей.
¶Образование и исследования
RISC-V широко используется в университетах для изучения архитектуры компьютеров и проектирования процессоров. Открытость набора инструкций позволяет студентам и исследователям разрабатывать собственные реализации без лицензионных ограничений.
¶Критика и ограничения
¶Зависимость от компилятора
RISC-архитектуры требуют высокоэффективных компиляторов, так как сложные операции (например, умножение с накоплением) приходится разбивать на несколько инструкций. В CISC-архитектурах такие операции могут быть реализованы одной инструкцией, что упрощает написание кода, но усложняет аппаратуру.
¶Размер кода
Фиксированная длина инструкций (32 бита) приводит к увеличению объёма программного кода по сравнению с CISC, где инструкции могут быть короче. Это критично для встраиваемых систем с ограниченной памятью. Для решения этой проблемы в ARM был введён Thumb-режим (16-битные инструкции), а в RISC-V — сжатый набор инструкций (RVC).
¶Производительность в некоторых задачах
В задачах, где требуется интенсивное использование сложных операций (например, криптография или обработка мультимедиа), CISC-процессоры могут иметь преимущество за счёт аппаратной реализации этих операций. Однако современные RISC-архитектуры компенсируют это за счёт расширений (например, NEON в ARM или векторные расширения в RISC-V).
¶Перспективы
На 2025 год RISC-архитектуры продолжают расширять своё присутствие. Архитектура ARM активно вытесняет x86 в сегменте персональных компьютеров (например, процессоры Apple M-серии). RISC-V становится стандартом для открытых процессорных проектов, поддерживаемых такими организациями, как RISC-V International. В России архитектура RISC-V также привлекает внимание как альтернатива западным решениям в условиях импортозамещения. Разрабатываются отечественные процессоры на базе RISC-V, в том числе в рамках проектов «Эльбрус» и «Байкал» (хотя последние исторически основаны на других архитектурах, интерес к RISC-V растёт).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


