АЛУ: дополнительный код, флаги, своя операция
Паспорт модуля
| Параметр | Значение |
|---|---|
| Аудитория | смешанная: 🟢 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 — типовые, заменяются на реальные после загрузки архива в проект |
Образовательные цели
| № | Обучающиеся … | Блум—Андерсон | Миллер | Чем проверяем |
|---|---|---|---|---|
| 1 | объясняют дополнительный код и читают отрицательные числа с индикации | понимать | знает | квиз + устная расшифровка на светодиодах |
| 2 | модифицируют сумматор в АЛУ: тракт SUB, флаги C и Z | применять/создавать | показывает как | практикум с контрольными примерами |
| 3 | локализуют неисправность в АЛУ методом деления тракта пополам | анализировать | показывает как | дебаг-кейс с протоколом |
| 4 | проектируют и защищают собственное расширение (новая операция/флаг) | создавать | делает | мини-защита по рубрике |
| 5 | обосновывают решения: почему доп. код, зачем FI-дисциплина флагов | оценивать | показывает как | вопросы на мини-защите |
Оценивание
Контрольные точки
| Занятие | Цель | Средство | Тип |
|---|---|---|---|
| 1 | 1, 2 | демонстрация 5−7 с расшифровкой; примеры 9−4, 4−9, 7−7, 0−1 | формирующее |
| 2 | 2 | флаги: Z только на равенстве, поведение C при вычитании объяснено | формирующее |
| 3 | 3 | дебаг-кейс: 3 неисправности, лимит 30 мин, протокол «проверил→увидел→вывод» | формирующее |
| 4 | 2, 4, 5 | мини-защита по рубрике | итоговое |
Рубрика мини-защиты
| Критерий | 0 | 1 | 2 |
|---|---|---|---|
| Работоспособность | операция не выполняется | часть контрольных примеров | все примеры, включая граничные (переполнение) |
| Обоснование | «так в инструкции» | объясняет назначение каждого корпуса | объясняет выбор и альтернативы (доп. код 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 и на Cin | 5−7 расшифровано вслух |
| 2 | Флаги C и Z | снимают признаки результата | 3 вопроса зан. 1 | Z = ИЛИ-НЕ по выходам (каскад 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.
Симулятор (5 минут)
Врезать XOR-линейку в проверенную схему М3, убедиться на 9−4 и 4−9.
Макетка
Перенести; примеры 9−4, 4−9, 7−7, 0−1; отрицательные ответы расшифровать письменно обратно в десятичные.
Граница
0−1: что на светодиодах и почему это одновременно и 255, и −1? Записать вывод.
Занятие 2. Флаги
Z-флаг: «результат равен нулю» = ни один выход не единица = ИЛИ-НЕ по восьми линиям (каскад 74HC32 + инвертор 74HC04). C-флаг: Cout старшего корпуса. Ключевой разбор — поведение C при вычитании: 9−4 даёт C=1 (заёма нет), 4−9 даёт C=0 (заём был). Это следствие представления A+не B+1, и оно вернётся дважды: в эмуляторе М14 и в HDL М16 — запланированный интервальный возврат самого скользкого факта модуля.
Занятие 3. Дебаг-кейс
Демонстрация стратегии на одной неисправности: симптом → деление тракта пополам (входы / после XOR / после сумматора / флаги-индикация) → проверка средней точки пробником → отсечение исправной половины → повторение. Дебаг — бинарный поиск по тракту данных, а не перетыкивание проводов. Затем обмен сборками; банк неисправностей комплекта: обрыв межкорпусного переноса, XOR-вход на земле, зеркальная индикация, Z от семи линий из восьми. Протокол обязателен и оценивается наравне с результатом. 🔴-трек параллельно: 3 задачи на время (диапазон знакового байта; минимальное число бит под диапазон; когда C=1 при SUB) — заменить на реальные задачи после загрузки архива олимпиад.
Занятие 4. Расширение, пайка, мини-защита
🟡: операция AND/OR/INC параллельно сумматору с выбором результата (мост к мультиплексору М2 — «выход АЛУ — это MUX операций»); 🔴: сдвиг влево (это же удвоение — доказать на примерах) или флаг переполнения V = C_in⊕C_out знакового разряда — с объяснением, чем V отличается от C. Маршрут строго «симулятор → макетка → пайка платы модуля». Свой чек-лист из 6 примеров с минимум одним граничным. Мини-защита 5 минут по рубрике; плата маркируется и уходит в фонд общего процессора (М13).
Уровни сложности
Данные и итерация
Метрики модуля: % прошедших дебаг-кейс в лимит; типовая карта ошибок (какая заложенная неисправность «держится» дольше всех — сигнал для правки worked example); баллы рубрики по критериям (проседание «обоснования» = усилить callout-разборы). Сравнение протоколов дебага топ/боттом-30 % — какие стратегии различают группы.