Skip to content
конечные автоматы и такты машины

Устройство управления I: конечные автоматы и такты машины

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

ПараметрЗначение
Аудитория🟡🔴; пройдены М7–М9
Аутентичная задачапостроить «метроном микроопераций» — генератор фаз T0…T5 — и вручную, а затем жёсткой логикой, исполнить цикл выборки команды (Fetch)
Объём4 занятия × 90 мин
Оборудование74HC161, 74HC138, 74HC04/08/32, все узлы М6–М9 на общем стенде, RP2350-монитор
Ограничения5 В
Аутентичная задача. После модуля обучающиеся смогут: разложить любую команду Я74-ISA на последовательность микроопераций «кто говорит — кто слушает» и исполнить Fetch тремя способами: руками, жёсткой логикой, (в М12) микрокодом.

Цели

Обучающиеся …Блум—АндерсонМиллерПроверка
1описывают команду как таблицу микроопераций по тактаманализироватьпоказывает какписьменная раскладка LDA
2собирают генератор фаз: счётчик + дешифратор → T0…T5применятьпоказывает какбегущий огонёк фаз на однотактном CLK
3реализуют Fetch жёсткой логикой (T0: CO,MI; T1: RO,II,CE)создаватьделаеттрасса RP2350 совпадает с эталоном
4объясняют, почему жёсткая логика не масштабируется на 11 командоцениватьзнаетаргументация на мини-защите (мост к М12)

Оценивание

ЗанятиеЦельСредствоТип
11раскладка LDA/ADD по тактам сдана и защищенаформирующее
32, 3Fetch исполняется автоматически: PC растёт, IR получает код команды (эталонная трасса)итоговое

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

ТемаРазминкаЯдро
1Команда = таблицадисциплина шины (М7)worked example: LDA addr по тактам (см. ниже); обучающиеся раскладывают ADD сами
2Генератор фазраскладка LDA по памяти74HC161 (счёт 0–5, сброс на 6) → 74HC138 → T0..T5; прогон на однотактном режиме
3Fetch жёсткой логикой3 вопроса зан. 2сигналы: CO=T0, MI=T0, RO=T1, II=T1, CE=T1 (простые ИЛИ от фаз); проверка трассой
4Пределы жёсткой логикикумулятивный квиз М7–М11посчитать вентили на 11 команд × 6 тактов × 16 сигналов → вывод «нужна таблица» = мост к ПЗУ-микрокоду

Worked example — раскладка LDA addr (эталон курса):

ТактМикрооперацииСмысл
T0CO, MIадрес команды из PC → MAR
T1RO, II, CEбайт кода → IR; PC+1
T2CO, MIадрес операнда из PC → MAR
T3RO, MI-операнда → BI врем./MIбайт операнда → MAR (адрес данных); CE
T4RO, AIданные → A
T5пустой такт (выравнивание цикла)
    stateDiagram-v2
    T0 --> T1: CLK
    T1 --> T2: CLK
    T2 --> T3: CLK
    T3 --> T4: CLK
    T4 --> T5: CLK
    T5 --> T0: CLK (сброс счётчика фаз)
  
Fetch одинаков для всех команд — машина не знает, что выбрала, пока код не попал в IR. Это ключевая структурная идея: T0–T1 общие, T2+ зависят от кода операции. Именно она превращает управление в таблицу «(код, такт) → набор сигналов», то есть в ПЗУ, — и именно её обучающийся должен сформулировать сам в занятии 4 (SSDL: наставник доводит вопросами, не отвечает первым).
Типичные ошибки: счётчик фаз считает по тому же фронту, что и регистры, но сигналы меняются «впритык» — на макеточных частотах прощается, на ПЛИС нет (заложить разговор о синхронном дизайне, М16); сброс фаз на 6 сделан асинхронно от дешифратора — иглы на T0 (показать осциллографом — редкая возможность увидеть глитч живьём); забытый CE в T1 — машина вечно исполняет один адрес.

Уровни

Глоссарий