Skip to content

4.3 · ALU: архитектура

4.3 · ALU: архитектура

Цель. Спроектировать (на бумаге и в симуляторе) арифметико-логическое устройство: все операции считаются параллельно, MUX выбирает результат, флаги описывают его.

🎣 Крючок (5 мин)

Открываем «калькулятор» в смартфоне: «Под каждой кнопкой операции — не отдельное устройство, а один блок: ALU. Сегодня спроектируем свой».

🧠 Теория (15 мин)

Блок-схема нашего 4-битного ALU

        A[3:0]   B[3:0]
          │        │
   ┌──────┼────────┼──────────┐
   │  [СУМ/ВЫЧ]  [AND×4]  [OR×4]     ← считают ВСЕ и ВСЕГДА
   │      │        │        │
   └──►[ MUX: код операции OP ]──► RESULT[3:0]
                                      │
                              [флаги: Z, C]
OPОперацияЧем считается
00A + B74HC283
01A − B283 + XOR-трюк (урок 4.1)
10A AND B74HC08
11A OR B74HC32

Флаги — «настроение» результата

Z (zero) = 1, когда результат 0000. Как проверить, что все 4 бита нули? (NOR четырёх бит; собирается из OR + NOT.) C (carry) — перенос C4 сумматора. Флаги кажутся мелочью, но именно они делают возможными условия и циклы в программах (урок 4.7).

🔧 Практика (22 мин)

Проектная сессия: полная схема ALU в CircuitVerse — по блокам из библиотеки (adder, gates, MUX), с тест-планом из 8 примеров (по два на операцию, включая случаи Z=1 и C=1). Паспорт ALU: схема, таблица OP, тест-план. Железо — на следующем уроке, строго по этому паспорту.

✅ Чек-лист

  • Объясняю принцип «считают все — выбирает MUX»
  • Спроектировал детектор нуля
  • ALU в симуляторе проходит все 8 тестов