Skip to content
Арифметико-логическое устройство

АЛУ: дополнительный код, флаги, своя операция

Паспорт модуля

ПараметрЗначение
Аудиториясмешанная: 🟢 5–7 кл. (занятия 1–2 и сборка платы на зан. 4), 🟡🔴 8–11 индивидуально; пройдены М0–М3
Аутентичная задачапревратить сумматор в полноценное вычислительное ядро процессора «Ядро-74» и защитить свой вариант узла; для 🔴 — опора для олимпиадных задач на машинную арифметику
Объём4 занятия × 60–90 мин
Оборудованиеузел сумматора из М3 (2×74HC283), 74HC86, 74HC32, 74HC04, светодиоды, DIP; паяльная станция (зан. 4); логический пробник; RP2350 — опережающее знакомство как «вольтметр шины», полноценный монитор — в М10
Ограничения5 В; пайка с 8 класса под надзором
Источники анализашаблон и «Основы педдизайна» гл. 2–5; олимпиадные задачи зан. 3 — типовые, заменяются на реальные после загрузки архива в проект
Аутентичная задача. Когда обучающиеся выйдут с этого модуля, они смогут: показать на своём железе вычитание 5−7, расшифровать ответ из дополнительного кода и объяснить жюри каждый корпус и каждый флаг на плате.

Образовательные цели

Обучающиеся …Блум—АндерсонМиллерЧем проверяем
1объясняют дополнительный код и читают отрицательные числа с индикациипониматьзнаетквиз + устная расшифровка на светодиодах
2модифицируют сумматор в АЛУ: тракт SUB, флаги C и Zприменять/создаватьпоказывает какпрактикум с контрольными примерами
3локализуют неисправность в АЛУ методом деления тракта пополаманализироватьпоказывает какдебаг-кейс с протоколом
4проектируют и защищают собственное расширение (новая операция/флаг)создаватьделаетмини-защита по рубрике
5обосновывают решения: почему доп. код, зачем FI-дисциплина флаговоцениватьпоказывает каквопросы на мини-защите

Оценивание

Контрольные точки

ЗанятиеЦельСредствоТип
11, 2демонстрация 5−7 с расшифровкой; примеры 9−4, 4−9, 7−7, 0−1формирующее
22флаги: Z только на равенстве, поведение C при вычитании объясненоформирующее
33дебаг-кейс: 3 неисправности, лимит 30 мин, протокол «проверил→увидел→вывод»формирующее
42, 4, 5мини-защита по рубрикеитоговое

Рубрика мини-защиты

Критерий012
Работоспособностьоперация не выполняетсячасть контрольных примероввсе примеры, включая граничные (переполнение)
Обоснование«так в инструкции»объясняет назначение каждого корпусаобъясняет выбор и альтернативы (доп. код vs отдельный вычитатель)
Качество исполненияхаос, нет развязкимонтаж читаем, питание развязаноцветовая конвенция, подписи сигналов, пайка без дефектов
Понимание границне знает, когда узел ошибаетсяназывает случай переполнениядемонстрирует переполнение и трактует флаги

🟢 защищается по первым двум критериям; 🟡🔴 — по всем.

Путь обучающегося

    flowchart LR
    A["Зан. 1<br/>доп. код и SUB<br/>роль: инструктор"] --> B["Зан. 2<br/>флаги C и Z<br/>роль: фасилитатор"]
    B --> C["Зан. 3<br/>ПИК: дебаг-кейс<br/>роль: наблюдатель"]
    C --> D["Зан. 4<br/>своя операция, пайка<br/>роль: консультант"]
  
ТемаЦель занятия (одна!)Retrieval-разминкаАктивностьМини-проверка
1Доп. код и вычитаниевычитают тем же сумматоромсудьба 9-го бита при 255+1; путь переноса между корпусами; XOR-таблица (М1)worked example кольца чисел → врезка 74HC86 в линию B, SUB на XOR и на Cin5−7 расшифровано вслух
2Флаги C и Zснимают признаки результата3 вопроса зан. 1Z = ИЛИ-НЕ по выходам (каскад 74HC32 + 74HC04); C = Cout старшего; таблица «операция→флаги»Z горит только на 7−7
3Дебаглокализуют за лимит временикак ведёт себя C при вычитании без заёмакейс на чужой сборке: 3 неисправности из банка комплекта; 🔴 параллельно — задачи на времяпротокол, ≥2 из 3 найдены
4Расширение и платасоздают и защищаюткумулятивный квиз М3–М4🟢 пайка платы АЛУ по монтажке; 🟡 операция AND/OR/INC; 🔴 сдвиг или флаг Vмини-защита

Содержание занятий

Занятие 1. Дополнительный код

Worked example «кольцо чисел». 8-битные числа живут на кольце из 256 позиций: шаг назад от 0 — это 255, значит −1 ≡ 255 (0xFF). Проверка сумматором: 255+1 = 0 (перенос ушёл в 9-й бит — вспоминаем чек-лист М3). Отсюда рецепт: A − B = A + (не B) + 1. Схемно: линейка XOR (74HC86) в линии B; сигнал SUB на вторые входы всех XOR и одновременно на Cin младшего корпуса — тот самый «+1». Наставник прослеживает 5−7 бит за битом до 0b11111110 и расшифровывает −2.

Доп. код — не соглашение «по традиции», а инженерный компромисс: один корпус XOR вместо восьми корпусов вычитателя, и знаковые/беззнаковые числа складываются одной и той же схемой. Это первый в курсе полноценный ответ на вопрос жюри «почему так спроектировано».

Симулятор (5 минут)

Врезать XOR-линейку в проверенную схему М3, убедиться на 9−4 и 4−9.

Макетка

Перенести; примеры 9−4, 4−9, 7−7, 0−1; отрицательные ответы расшифровать письменно обратно в десятичные.

Граница

0−1: что на светодиодах и почему это одновременно и 255, и −1? Записать вывод.

Типичные ошибки: SUB заведён на XOR, но забыт на Cin — все разности меньше на 1 (разобрать этот симптом заранее как диагностический); XOR врезан в линию A вместо B — вычитание «в другую сторону»; висящие вторые входы XOR при SUB=0 — плавающая арифметика.

Занятие 2. Флаги

Z-флаг: «результат равен нулю» = ни один выход не единица = ИЛИ-НЕ по восьми линиям (каскад 74HC32 + инвертор 74HC04). C-флаг: Cout старшего корпуса. Ключевой разбор — поведение C при вычитании: 9−4 даёт C=1 (заёма нет), 4−9 даёт C=0 (заём был). Это следствие представления A+не B+1, и оно вернётся дважды: в эмуляторе М14 и в HDL М16 — запланированный интервальный возврат самого скользкого факта модуля.

Типичные ошибки: Z собран как И по выходам — горит на 255, а не на 0; путают знаковый бит (старший разряд результата) с флагом C; флаги снимают со схемы до установления результата — на макеточных частотах прощается, дисциплина FI появится в М12 (проговорить мост).

Занятие 3. Дебаг-кейс

Демонстрация стратегии на одной неисправности: симптом → деление тракта пополам (входы / после XOR / после сумматора / флаги-индикация) → проверка средней точки пробником → отсечение исправной половины → повторение. Дебаг — бинарный поиск по тракту данных, а не перетыкивание проводов. Затем обмен сборками; банк неисправностей комплекта: обрыв межкорпусного переноса, XOR-вход на земле, зеркальная индикация, Z от семи линий из восьми. Протокол обязателен и оценивается наравне с результатом. 🔴-трек параллельно: 3 задачи на время (диапазон знакового байта; минимальное число бит под диапазон; когда C=1 при SUB) — заменить на реальные задачи после загрузки архива олимпиад.

Занятие 4. Расширение, пайка, мини-защита

🟡: операция AND/OR/INC параллельно сумматору с выбором результата (мост к мультиплексору М2 — «выход АЛУ — это MUX операций»); 🔴: сдвиг влево (это же удвоение — доказать на примерах) или флаг переполнения V = C_in⊕C_out знакового разряда — с объяснением, чем V отличается от C. Маршрут строго «симулятор → макетка → пайка платы модуля». Свой чек-лист из 6 примеров с минимум одним граничным. Мини-защита 5 минут по рубрике; плата маркируется и уходит в фонд общего процессора (М13).

Техника безопасности (пайка): с 8 класса, под надзором; паяльник на подставке, температура по припою комплекта; очки и вытяжка/проветривание; не передавать из рук в руки, не оставлять включённым; мыть руки после работы. Электрика — по-прежнему только 5 В.

Уровни сложности

Данные и итерация

Метрики модуля: % прошедших дебаг-кейс в лимит; типовая карта ошибок (какая заложенная неисправность «держится» дольше всех — сигнал для правки worked example); баллы рубрики по критериям (проседание «обоснования» = усилить callout-разборы). Сравнение протоколов дебага топ/боттом-30 % — какие стратегии различают группы.

Глоссарий