Найти в Дзене
IT - это просто

Что такое CISC и RISC? Про архитектуру процессоров простыми словами

Автор уже однажды рассказывал про архитектуру компьютера — ту самую, которая определяет, как наша железная коробка вообще соображает. Но тогда мы говорили о самом верхнем уровне. Сегодня Автор предлагает заглянуть глубже, прямо в самое сердце — в процессор. А точнее, залезть к нему в голову и понять, как именно он «думает». Здравствуй, дорогой читатель! Это снова Автор, и вы на канале, где сложные вещи становятся простыми. Обещание будет сложным, но, как всегда, честным. Если вы когда-нибудь слышали загадочные аббревиатуры CISC и RISC, то знайте — это просто две философии, два способа отдавать приказы процессору. Автору они напоминают названия секретных правительственных агентств. Так давайте разберем их. И используем для этого, как всегда, аналогии. Сегодня с помощью кухни и, конечно, наших старых знакомых — Ильи, Алисы и Арины. Представьте, что вам нужно приготовить ужин. Конкретно — яблочный пирог. У вас есть две кулинарные книги. Она для ленивых или очень занятых хозяев. В ней реце
Оглавление

Автор уже однажды рассказывал про архитектуру компьютера — ту самую, которая определяет, как наша железная коробка вообще соображает. Но тогда мы говорили о самом верхнем уровне. Сегодня Автор предлагает заглянуть глубже, прямо в самое сердце — в процессор. А точнее, залезть к нему в голову и понять, как именно он «думает».

Автор и компания заглядывают внутрь процессора. Почтальон принес загадочные письма.
Автор и компания заглядывают внутрь процессора. Почтальон принес загадочные письма.

Здравствуй, дорогой читатель! Это снова Автор, и вы на канале, где сложные вещи становятся простыми.

Обещание будет сложным, но, как всегда, честным. Если вы когда-нибудь слышали загадочные аббревиатуры CISC и RISC, то знайте — это просто две философии, два способа отдавать приказы процессору.

Автору они напоминают названия секретных правительственных агентств. Так давайте разберем их. И используем для этого, как всегда, аналогии. Сегодня с помощью кухни и, конечно, наших старых знакомых — Ильи, Алисы и Арины.

Две кулинарные книги

Представьте, что вам нужно приготовить ужин. Конкретно — яблочный пирог. У вас есть две кулинарные книги.

Две кулинарные книги: для шеф-повара и для малыша.
Две кулинарные книги: для шеф-повара и для малыша.

Книга первая (CISC)

Она для ленивых или очень занятых хозяев. В ней рецепты выглядят так: «Испеките яблочный пирог». Всё. Это одна команда. Но что внутри? Волшебство? Нет, мелкий шрифт, который вы не видите. На самом деле там скрыт целый алгоритм: «Возьми муку, яйца, масло... замеси... почисти яблоки... собери... поставь в духовку... жди... вытащи». Просто книга уже знает, как это делать, и прячет всю сложность за одной фразой.

Книга вторая (RISC)

Это книга для перфекционистов или роботов, которые не умеют в обобщения. Здесь нет команды «испеки пирог». Там написано пошагово:

  1. Возьми миску.
  2. Разбей яйцо в миску.
  3. Насыпь муки.
  4. Перемешай.
  5. Возьми нож...
    И так 100500 шагов. Команды простые до безобразия, но чтобы получить пирог, их нужно выполнить очень много.

Это и есть главное отличие двух миров.

Помощь Ильи, Алисы и Арины

Но давайте добавим в эту кухню наших старых друзей, чтобы стало совсем кристально ясно. По мнению Автора, через детей любую технологию объяснять проще.

Илья (ему уже 12) — типичный CISC

Илья — опытный кулинар. Он уже не раз пёк этот пирог. Если мама крикнет ему: «Илья, испеки пирог!» — он справится. Он выполнит одну сложную команду. Почему? Потому что у него в голове (в «микропрограммах», если по-научному) уже есть готовая последовательность действий. Процессор CISC устроен так же: у него внутри есть встроенные «рецепты» для сложных операций. Программисту удобно — написал одну команду, а процессор сам разобрался, что с ней делать.

Илья (CISC): выполнил сложную команду «испеки пирог».
Илья (CISC): выполнил сложную команду «испеки пирог».

Алиса (ей 4 года) — чистый RISC

Алиса — умная девочка, но она ещё маленькая. Если ей сказать: «Испеки пирог», она просто растеряется. Это слишком сложно. Ей нужно говорить по-другому: «Алиса, возьми стульчик. Алиса, залезь на стул. Алиса, достань муку. Алиса, положи муку...». Каждая команда — элементарное действие. Ей легко их понять и быстро выполнить, даже если она не очень «крутой» повар. RISC-процессор работает точно так же: он не умеет в сложные рецепты, но простые команды он щёлкает как орешки — быстро и с минимальными усилиями.

Алиса (RISC): выполняет простые шаги. Арина тренируется.
Алиса (RISC): выполняет простые шаги. Арина тренируется.

Зачем это нужно в реальном мире?

Автор часто слышит вопрос: «Ну, допустим, понятно. А почему так?»

В реальности процессоры, конечно, умнее наших примеров и используют элементы обоих подходов. Но вектор задан четко.

CISC (Complex Instruction Set Computer) — это процессоры типа Intel x86, которые стоят в ваших больших компьютерах и ноутбуках, за исключением процессоров Apple и новых Snapdragon.

  • Плюс: Программисту (и компилятору) писать код проще. Одна сложная команда вместо кучи простых.
  • Минус: Эти сложные команды выполняются долго, могут занимать много тактов и греться. Как Илья: он может всё, но если его заставлять печь пирог каждую минуту, он устанет и начнет потеть (процессор греется).

RISC (Reduced Instruction Set Computer) — это ARM-процессоры. Они у вас в телефонах, планшетах, в «умных» колонках и даже в новых ноутбуках (Apple M1, M2 и т.д.).

  • Плюс: Команды простые и короткие. Процессор может выполнять их одну за другой с бешеной скоростью (конвейером). И главное — он тратит мало энергии. Как Алиса: если давать ей простые задачи, она может играть хоть весь день и не устать (батарейка держится долго).
  • Минус: Чтобы сделать что-то серьёзное, этих простых команд нужно очень много. Но если они выполняются быстро, то в сумме получается даже лучше, чем у CISC.
CISC в компьютере, RISC в телефоне. Кто кого?
CISC в компьютере, RISC в телефоне. Кто кого?

Итог

CISC и RISC — это как два способа обучения.
Можно дать ученику сложную инструкцию, если он уже опытный (как Илья). А можно разбить задачу на тысячу простых шагов, которые поймет даже малыш Арина.

Раньше считалось, что CISC — это круто и мощно, а RISC — для бедных. Но времена изменились. Сейчас RISC-подход (благодаря своей энергоэффективности и скорости) захватывает мир.

Подписывайтесь на канал, чтобы не пропустить новые приключения Ильи, Алисы и Арины в мире высоких технологий. В следующий раз Автор обещает залезть в дебри еще глубже!

Хэппи-энд: оба подхода ведут к пирогу!
Хэппи-энд: оба подхода ведут к пирогу!

UPD

Автор намеренно упростил описание до уровня «есть два лагеря», опустив технические детали о длине команд, количестве регистров и методах оптимизации.

В реальном мире границы давно стерлись, и современные CISC-процессоры внутри часто работают как RISC (разбивают сложные команды на простые микрооперации). Для тех, кто хочет копнуть глубже, Автор рекомендует почитать про архитектуры x86/64 (AMD/Intel) и ARM — это и есть главные бойцы на поле CISC и RISC.