Открыть сервис

Сокращённый набор команд

Сокращённый набор команд (англ. 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

ХарактеристикаRISCCISC
Количество инструкцийМалое (30–100)Большое (сотни)
Длина инструкцийФиксированнаяПеременная
Сложность декодераНизкаяВысокая
Время выполнения инструкции1 такт (в среднем)2–10 тактов
Доступ к памятиТолько load/storeЛюбая инструкция может обращаться к памяти
Размер кодаБольше (требуется больше инструкций)Меньше (одна сложная инструкция заменяет несколько простых)
ЭнергопотреблениеНизкоеВысокое
ПримерыARM, MIPS, RISC-V, PowerPCx86, 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 →