Тип процессора по системе команд — это классификация архитектур по тому, какой набор машинных команд понимает ядро и как эти команды устроены. Именно систему команд (ISA, Instruction Set Architecture) имеют в виду, когда говорят про CISC, RISC, VLIW и другие типы микропроцессоров.
Содержание
Дальше разберем, чем отличаются CISC и RISC на принципиальном уровне, на примерах x86, ARM и RISC-V; что такое VLIW и EPIC; и почему сегодня граница между CISC и RISC во многом стерлась. Это классификация именно по системе команд, а не общий рассказ об устройстве процессора. В конце — сводная таблица для выбора.
Система команд: что это и почему по ней делят процессоры
Система команд — это набор инструкций, который процессор умеет выполнять напрямую в железе, плюс правила их кодирования и работы с регистрами и памятью. Это контракт между программой в машинном коде и аппаратурой.
Важно различать два уровня. ISA (система команд) — это внешний интерфейс: какие команды видит компилятор. Микроархитектура — это внутреннее устройство конкретного чипа: конвейер, кэши, блоки исполнения. Один и тот же ISA (например x86-64) реализуют десятки разных микроархитектур.
CISC, RISC и VLIW — это подходы к проектированию именно ISA. Они отвечают на вопрос: делать команды сложными и разнообразными или простыми и единообразными, и кто отвечает за параллелизм — железо или компилятор.
CISC и RISC: два подхода к набору команд
CISC (Complex Instruction Set Computer) — архитектура со сложным набором команд. Идея: дать одну команду на целую типовую операцию, чтобы программа была короче.
Признаки CISC:
- много команд, часто сотни, плюс расширения;
- команды переменной длины (у x86 — от 1 до 15 байт);
- одна команда может обращаться к памяти напрямую и выполнять несколько действий сразу;
- сложный декодер, потому что форматов команд много.
Живой пример CISC — x86 и x86-64 (процессоры Intel и AMD в ПК и серверах). Исторические примеры — VAX, IBM System/360, Motorola 68000.
RISC (Reduced Instruction Set Computer) — архитектура с сокращенным набором команд. Идея обратная: сделать команды простыми и единообразными, чтобы железо было проще и быстрее, а сложные операции собирал компилятор из простых.
Признаки RISC:
- сравнительно небольшой набор простых команд;
- фиксированная длина команды в базовом наборе (обычно 32 бита), что упрощает декодирование;
- модель load/store: с памятью работают только команды загрузки и записи, а арифметика идет между регистрами;
- много регистров общего назначения.
Оговорка про длину: фиксированные 32 бита — это про базовый набор. У ARM есть режим Thumb с 16-битными командами, у RISC-V — расширение C со сжатыми 16-битными командами. Так что абсолютного правила тут нет.
Оговорка про такт: классический тезис RISC — одна команда за такт. Это упрощенная учебная модель. Современные RISC-ядра конвейерные и суперскалярные, за такт завершается несколько команд, а отдельная команда проходит через несколько стадий конвейера.
Примеры RISC: ARM и RISC-V
ARM — самая массовая RISC-архитектура. Она стоит практически во всех смартфонах и планшетах, в ноутбуках Apple на чипах Apple Silicon и во все большей доле серверов (например AWS Graviton, Ampere). Современная 64-битная версия — AArch64, появилась с ARMv8 (2011), развивается в линейке ARMv9.
Сильная сторона ARM — энергоэффективность и масштабируемость от микроконтроллеров до серверов. Тезис из старых статей про низкую популярность и проблемы совместимости ARM устарел: сегодня это одна из двух доминирующих архитектур наряду с x86.
RISC-V — открытый стандарт системы команд, который развивает организация RISC-V International. Его не нужно лицензировать, что и объясняет быстрый рост.
Устроен он модульно: есть базовый набор (RV32I для 32 бит или RV64I для 64 бит) и стандартные расширения, которые подключают по потребности:
- M — умножение и деление;
- A — атомарные операции;
- F и D — вычисления с плавающей точкой одинарной и двойной точности;
- C — сжатые 16-битные команды.
Набор RV64I плюс расширения IMAFD и служебные обозначают буквой G — это ходовая конфигурация общего назначения. RISC-V применяют и в микроконтроллерах, и в производительных системах; экосистема и поддержка год от года растут.
VLIW и EPIC: параллелизм закладывает компилятор
VLIW (Very Long Instruction Word) — архитектура с очень длинным командным словом. Одна такая команда кодирует сразу несколько операций, которые выполняются параллельно в разных блоках процессора.
Ключевое отличие от суперскалярных CISC и RISC — кто ищет параллелизм. В суперскалярном ядре порядок и параллельное исполнение подбирает аппаратный планировщик на лету. В VLIW это делает компилятор на этапе сборки: он заранее раскладывает операции по слотам длинной команды. Железо получается проще, но нагрузка и ответственность переносятся на компилятор.
Примеры VLIW — российские процессоры Эльбрус (МЦСТ) и графические ядра AMD поколения TeraScale (до серии Northern Islands, дальше AMD перешла на архитектуру GCN).
EPIC (Explicitly Parallel Instruction Computing) — развитие идей VLIW от Intel и HP с явным указанием параллелизма в коде. На нем строилась архитектура Intel Itanium. Коммерчески Itanium не выстрелил, и Intel прекратила его выпуск (последние поставки — около 2021 года).
Отдельно стоит упомянуть MISC (Minimal Instruction Set Computer) — подход с минимальным набором команд, обычно на стековой архитектуре (например процессоры Чака Мура MuP21 и семейство GreenArrays). MISC — это про предельную простоту и низкое энергопотребление, и его не надо путать с VLIW: длинное командное слово с несколькими операциями — это как раз признак VLIW, а не MISC.
Почему граница между CISC и RISC размылась
Сегодня деление на чистый CISC и чистый RISC описывает систему команд (внешний интерфейс), но плохо описывает внутреннее устройство чипа.
Причина — микрооперации. Современные x86-процессоры снаружи остаются CISC: они принимают сложные команды переменной длины. Но внутри аппаратный декодер разбирает каждую такую команду на поток простых микроопераций (micro-ops), и дальше их исполняет по сути RISC-подобное ядро. Так работают процессоры Intel начиная с микроархитектуры P6 (Pentium Pro, 1995) и AMD начиная с K5 (тоже 1995).
Встречное движение идет со стороны RISC: наборы команд ARM и RISC-V обросли сложными расширениями — векторными инструкциями (NEON и SVE у ARM, векторное расширение у RISC-V), криптографией, специализированными операциями. Простой RISC перестал быть совсем простым.
Поэтому корректный вывод такой: CISC и RISC — это про философию системы команд, а реальная производительность определяется микроархитектурой (конвейером, кэшами, предсказанием переходов), а не ярлыком CISC или RISC.
CISC, RISC и VLIW: таблица сравнения
| Признак | CISC | RISC | VLIW |
|---|---|---|---|
| Набор команд | большой, сложные команды | сокращенный, простые команды | средний, упор на явный параллелизм |
| Длина команды | переменная | фиксированная в базовом наборе | очень длинное слово из нескольких операций |
| Доступ к памяти | команды могут работать с памятью напрямую | только через load/store | обычно только через load/store |
| Кто ищет параллелизм | аппаратный планировщик (у суперскалярных) | аппаратный планировщик | компилятор при сборке |
| Декодер | сложный | простой | простой, но слово длинное |
| Примеры | x86, x86-64, System/360 | ARM, RISC-V, MIPS, SPARC | Эльбрус, Itanium (EPIC) |
| Где встречается | ПК, серверы | смартфоны, Apple Silicon, ARM-серверы, микроконтроллеры | нишевые и спец. процессоры, GPU прошлых поколений |
Как читать таблицу для выбора: если нужна совместимость с обширным софтом для ПК и серверов — это мир x86 (CISC). Если важны энергоэффективность, мобильные и встраиваемые устройства или открытость — смотрят в сторону RISC (ARM, RISC-V). VLIW и EPIC остаются нишевыми решениями под специфические задачи.
Где это применяется на практике
Понимание типов процессоров по системе команд нужно системным программистам, разработчикам встраиваемых устройств, специалистам по производительности и всем, кто пишет или оптимизирует низкоуровневый код. Выбор архитектуры влияет на компилятор, набор инструментов и то, как код ложится на железо.
Смежные темы: Память компьютера: виды и классификация, Компиляторы: назначение и виды, Двоичный код: как он работает.
FAQ
RISC быстрее CISC?
Само по себе нет. Скорость определяет микроархитектура конкретного чипа, а не ярлык. Современный x86 (CISC) внутри исполняет микрооперации RISC-подобным ядром, поэтому прямое сравнение по типу ISA некорректно.
Чем ARM отличается от RISC-V, если оба RISC?
ARM — это лицензируемая архитектура компании Arm со зрелой экосистемой. RISC-V — открытый бесплатный стандарт системы команд с модульными расширениями. Различие в модели лицензирования и зрелости, а не в базовом принципе RISC.
К какому типу относится Эльбрус?
Эльбрус построен на VLIW: параллелизм закладывает компилятор в длинное командное слово, а не аппаратный планировщик во время выполнения. Совместимость с x86-кодом при этом обеспечивается программной трансляцией.
Выводы
- Типы процессоров различают по системе команд (ISA): CISC, RISC, VLIW и другие.
- CISC (x86) — сложные команды переменной длины и работа с памятью напрямую; RISC (ARM, RISC-V) — простые команды фиксированной длины и модель load/store.
- VLIW (Эльбрус, Itanium через EPIC) перекладывает поиск параллелизма на компилятор.
- Граница CISC и RISC размылась: x86 внутри исполняет микрооперации, а RISC добрал сложные расширения; производительность решает микроархитектура, а не ярлык.
- Для выбора смотрят на задачу: совместимость и ПК — x86, энергоэффективность и мобильные или открытость — ARM и RISC-V.
Освойте тему на практике
Разобраться в устройстве процессоров и низкоуровневом коде удобнее на практике: на курсе Системное программирование архитектуру разбирают на реальных задачах. А посмотреть формат и уровень занятий можно на открытых уроках Otus.



