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

Принципы RISC

Принципы RISC (от англ. Reduced Instruction Set Computer — компьютер с сокращённым набором команд) — это совокупность архитектурных принципов проектирования процессоров, ориентированных на выполнение простых, однородных по длине и времени исполнения инструкций, что позволяет достичь высокой производительности за счёт эффективного конвейера и упрощённого управления.

Основные принципы

Архитектура RISC была разработана в конце 1970-х — начале 1980-х годов как альтернатива доминировавшим тогда процессорам с комплексным набором команд (CISC). Исследователи, в том числе Дэвид Паттерсон и Джон Хеннесси, сформулировали ключевые принципы, которые легли в основу RISC-архитектуры.

Фиксированная длина команд

В RISC-процессорах все команды имеют одинаковую длину (обычно 32 бита). Это упрощает декодирование инструкций и позволяет процессору начинать выполнение следующей команды, не дожидаясь окончания декодирования предыдущей. В CISC-архитектурах длина команд варьируется (от 1 до 15 байт), что усложняет конвейер.

Простота и однородность команд

Каждая команда RISC выполняет ровно одну операцию (например, сложение, загрузку из памяти или переход). В отличие от CISC, где одна инструкция может выполнять несколько действий (например, «сложить содержимое памяти с регистром и сохранить результат в память»), RISC-команды не имеют встроенных циклов или сложных адресных режимов. Это позволяет реализовать аппаратное управление конвейером без микропрограммного управления.

Регистровая архитектура

RISC-процессоры оперируют исключительно с регистрами (обычно от 32 до 128 регистров общего назначения). Доступ к памяти осуществляется только через специальные команды загрузки (load) и сохранения (store). Арифметические и логические операции выполняются только над данными, находящимися в регистрах. Это минимизирует задержки, связанные с обращением к медленной оперативной памяти.

Конвейерная обработка

Благодаря фиксированной длине команд и их простоте, RISC-процессоры эффективно используют конвейер (pipeline). Типичный конвейер включает стадии: выборка команды (IF), декодирование (ID), выполнение (EX), доступ к памяти (MEM) и запись результата (WB). Однородность команд позволяет выполнять каждую стадию за один такт, что обеспечивает выполнение одной инструкции за такт (IPC ≈ 1) при идеальных условиях.

Отсутствие микропрограммного управления

В CISC-процессорах сложные инструкции реализуются через микропрограммы — последовательности микроопераций, хранящиеся в ПЗУ. В RISC управление осуществляется жёсткой логикой (hardwired control), что сокращает задержки и упрощает проектирование. Однако в современных RISC-процессорах (например, ARM Cortex-A) для управления сложными функциями (например, предсказанием переходов) всё же используются микропрограммы.

История развития

Предпосылки

В 1970-х годах доминировали CISC-процессоры (Intel 8086, Motorola 68000), которые стремились к максимальной функциональности каждой команды. Однако анализ программного кода, проведённый в 1975 году компанией IBM, показал, что около 80% вычислительного времени занимают лишь 20% простейших команд. Это привело к идее создания процессора, оптимизированного под часто используемые инструкции.

Первые реализации

  • IBM 801 (1979) — первый экспериментальный RISC-процессор, разработанный в исследовательском центре IBM. Он использовал 32-битные команды фиксированной длины и регистровую архитектуру.
  • MIPS R2000 (1985) — коммерческий процессор компании MIPS Technologies, ставший эталоном RISC. Его архитектура (MIPS I) включала 32 регистра и 5-ступенчатый конвейер.
  • SPARC (1987) — архитектура, разработанная компанией Sun Microsystems, использующая регистровые окна для ускорения вызовов процедур.
  • ARM (1985) — процессор Acorn RISC Machine, созданный компанией Acorn Computers. Отличался низким энергопотреблением и стал основой для мобильных устройств.

Распространение

В 1990-х годах RISC-архитектуры (MIPS, SPARC, PowerPC, ARM) доминировали в рабочих станциях, серверах и суперкомпьютерах. Однако с развитием технологий CISC-процессоры (x86) начали внедрять RISC-подобные принципы (например, декодирование x86-команд в микрооперации, которые выполняются как RISC-инструкции). В 2000-х годах ARM стала лидером на рынке мобильных устройств, а в 2020-х — начала вытеснять x86 в сегменте серверов (например, процессоры Ampere Altra).

Сравнение с CISC

ХарактеристикаRISCCISC
Длина командФиксированная (32 бита)Переменная (1–15 байт)
Количество командНебольшое (50–100)Большое (200–1000)
Адресные режимыПростые (регистр, регистр+смещение)Сложные (до 10 режимов)
Доступ к памятиТолько load/storeКоманды могут читать/писать память
УправлениеЖёсткая логикаМикропрограммное
КонвейерЭффективный, 1 такт на командуСложный, часто с задержками
ПримерыARM, MIPS, RISC-V, PowerPCx86, 68000, VAX

Современные реализации

RISC-V

Открытая архитектура набора команд (ISA), разработанная в 2010 году в Калифорнийском университете в Беркли. RISC-V использует все классические принципы RISC: фиксированную длину команд (32 бита), 32 регистра, простые адресные режимы. Архитектура является модульной: базовый набор команд (RV32I) может быть расширен дополнительными модулями (например, для работы с плавающей запятой, атомарными операциями, векторными вычислениями). RISC-V активно применяется в образовании, научных исследованиях и встраиваемых системах, а также начинает внедряться в серверные процессоры (например, Esperanto Technologies).

ARM

Архитектура ARM (Advanced RISC Machines) является доминирующей на рынке мобильных устройств (смартфоны, планшеты) и встраиваемых систем. Современные процессоры ARM (Cortex-A, Cortex-M) используют 32-битные и 64-битные команды, поддерживают Thumb-режим (16-битные команды для экономии памяти) и включают сложные функции, такие как предсказание переходов и спекулятивное выполнение. В 2023 году ARM Holdings объявила о выпуске процессоров ARMv9, которые включают поддержку векторных расширений SVE2.

MIPS

Архитектура MIPS (Microprocessor without Interlocked Pipeline Stages) изначально была разработана для рабочих станций (SGI), но в 2010-х годах перешла в сегмент встраиваемых систем (маршрутизаторы, игровые консоли). В 2018 году компания Wave Computing открыла архитектуру MIPS для сообщества, однако её популярность снизилась из-за конкуренции с ARM и RISC-V.

PowerPC

Архитектура PowerPC (Performance Optimization With Enhanced RISC — Performance Computing) была разработана альянсом Apple, IBM и Motorola в 1991 году. Использовалась в компьютерах Macintosh (до 2006 года), игровых консолях (Xbox 360, PlayStation 3) и серверах IBM. В 2020-х годах PowerPC применяется в основном в встраиваемых системах (например, в автомобильных контроллерах) и суперкомпьютерах (IBM Summit).

Критика и ограничения

Несмотря на преимущества, RISC-архитектуры имеют ряд недостатков:

  • Увеличение объёма кода. Из-за простоты команд программы на RISC занимают больше памяти, чем на CISC (например, для загрузки 32-битной константы требуется две команды вместо одной в x86). Это критично для встраиваемых систем с ограниченной памятью.
  • Сложность компиляции. Компиляторы для RISC должны эффективно использовать регистры и минимизировать обращения к памяти, что требует сложных алгоритмов оптимизации.
  • Зависимость от конвейера. При возникновении конфликтов (например, при переходе) конвейер простаивает, что снижает производительность. Современные RISC-процессоры решают эту проблему с помощью предсказания переходов и спекулятивного выполнения, что усложняет архитектуру.

Применение

RISC-архитектуры широко применяются в:

  • Мобильные устройства — ARM (смартфоны, планшеты).
  • Встраиваемые системы — ARM Cortex-M, RISC-V (микроконтроллеры, датчики).
  • Серверы — Ampere Altra (ARM), Fujitsu A64FX (ARM) в суперкомпьютере Fugaku.
  • Научные вычисления — IBM PowerPC в суперкомпьютерах Summit и Sierra.
  • Образование — RISC-V (используется в университетских курсах по архитектуре компьютеров).

Источники

  • 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. (2019). The RISC-V Instruction Set Manual, Volume I: Unprivileged ISA. RISC-V Foundation.
  • ARM Holdings. (2023). ARM Architecture Reference Manual ARMv8-A. ARM Limited.
  • «RISC vs CISC: The Post-RISC Era». IEEE Micro, 2020.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →