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 | Операция | Чем считается |
|---|---|---|
| 00 | A + B | 74HC283 |
| 01 | A − B | 283 + XOR-трюк (урок 4.1) |
| 10 | A AND B | 74HC08 |
| 11 | A OR B | 74HC32 |
Флаги — «настроение» результата
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 тестов