Skip to content

Регистры и шина: дисциплина общего провода

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

ПараметрЗначение
Аудитория🟡🔴; 🟢 — занятие 1 (регистры) в упрощении; пройдены М5–М6
Аутентичная задачасобрать регистры A и B и общую 8-битную шину — «нервную систему» процессора, по которой пойдут все данные М13
Объём4 занятия × 90 мин
Оборудование74HC173 ×4 (по два корпуса 4 бита на регистр) или 74HC377+74HC245, 74HC245 ×2, линейки светодиодов с буферами, узел CLK из М6, RP2350-монитор
Ограничения5 В; шинный конфликт = перегрев — правило «одного передатчика» отрабатывается до автоматизма
Аутентичная задача. После модуля обучающиеся смогут: переслать байт из регистра A в регистр B через общую шину одним тактом, управляя сигналами AO/BI вручную, — это половина любой будущей команды процессора.

Цели

Обучающиеся …Блум—АндерсонМиллерПроверка
1объясняют three-state выход и правило «на шине один передатчик»пониматьзнаетквиз
2собирают 8-битный регистр с сигналами загрузки (·I) и выдачи (·O)применятьпоказывает какпрактикум
3пересылают данные A→шина→B, управляя сигналами вручную с DIPприменятьпоказывает какдемонстрация пересылки
4диагностируют шинный конфликт и «пустую шину» по симптомаманализироватьпоказывает какдебаг-кейс

Оценивание

ЗанятиеЦельСредствоТип
21, 2регистр проходит сценарии: загрузка по фронту при AI=1, хранение при AI=0формирующее
33«эстафета байта»: 0x5A проходит A→B→A без искажений (контроль RP2350-монитором)формирующее
44дебаг-кейс: 2 заложенные неисправности (конфликт, вечная «пустая шина»), лимит 25 мин, протоколитоговое

Путь и разборы

ТемаРазминкаЯдро
1Регистр 8 битфронт vs уровень (М5)worked example 74HC173: тактируемая загрузка, входы разрешения; два корпуса = один байт; индикация всегда через отдельный буфер, не с шины
2Выход на шину3 вопроса зан. 174HC245: DIR, /OE; сигнал AO открывает буфер регистра A на шину
3Пересылка A→Bсценарии регистраручное «микропрограммирование» DIP-переключателями: AO=1, BI=1, такт; затем AO=0
4Дебаг шиныкумулятивный квиз М5–М7кейс конфликтов + подключение RP2350-монитора как штатной практики
    flowchart TB
    BUS(("ШИНА 8 бит")):::bus
    A[Регистр A\nAI загрузка / AO выдача] <--> BUS
    B[Регистр B\nBI / BO] <--> BUS
    MON[RP2350-монитор\nтолько слушает] --> BUS
    classDef bus fill:#f5f5f5,stroke:#333
  
Дисциплина шины — главный концепт модуля. В каждый момент времени ровно один источник держит шину (его /OE активен), остальные — в высокоимпедансном состоянии Z. Слушать могут все. Сигналы ·I защёлкивают шину в регистр по фронту CLK. Вся будущая работа УУ (М11–М12) — это раздача разрешений «кто говорит, кто слушает» по тактам. Обучающиеся уже на этом модуле вручную исполняют то, что потом автоматизирует микрокод, — приём «сначала руками, потом автоматом» снижает нагрузку при интеграции.
Типичные ошибки и опасности: два открытых /OE одновременно — шинный конфликт: корпуса греются, уровни «серые» (≈2–3 В), возможно повреждение — при первом подозрении снять питание; «пустая шина» (никто не передаёт) — входы читают мусор: для отладки допустимы слабые подтяжки 100 кОм; индикаторные светодиоды прямо на шине искажают уровни — только через буфер; сигналы управления без определённого уровня по умолчанию (все ·O — подтяжка к неактивному).

Уровни

Глоссарий