Skip to content
4.9 · Блок управления и микрооперации

4.9 · Блок управления и микрооперации

Цель. Понять «дирижёра» процессора: как одна инструкция разворачивается в последовательность управляющих сигналов. 2 урока.

🎣 Крючок (5 мин)

Возврат к уроку 4.5: передача байта по шине потребовала от вас нажать ~OE источника и дать фронт приёмнику — в правильном порядке. «В процессоре такие ручки дёргаются миллионы раз в секунду. Кто дёргает?»

🧠 Теория

Управляющее слово

У каждого блока SAP-1 — свои «ручки»: PC_out, PC_inc, PC_load, MAR_load, RAM_out, IR_load, A_load, A_out, B_load, ALU_out, SUB, OUT_load, HLT… Набор их значений в данный такт — управляющее слово. Работа процессора = правильная последовательность управляющих слов.

Микрооперации: инструкция по шагам

Каждая инструкция — 4–6 тактов. Первые два одинаковы у всех — Fetch (принести команду):

 T0: PC_out, MAR_load        ; адрес из PC → в регистр адреса
 T1: RAM_out, IR_load, PC_inc; байт из памяти → в регистр команд; PC++
 T2…: своё у каждой команды (Execute)

Например, ADD a: T2: IR_out(адрес), MAR_loadT3: RAM_out, B_loadT4: ALU_out, A_load. Распишите так же LDA и JMP — это и есть микропрограммирование.

Чем генерировать слова?

Вариант «из вентилей» — декодер opcode × счётчик тактов → лес логики. Вариант курса — микрокод в ПЗУ (EEPROM AT28C16): адрес = {opcode, номер такта}, данные = управляющее слово. Меняешь прошивку — меняешь поведение процессора без паяльника. (Прошивает учитель программатором; содержимое таблицы составляют бригады.)

🔧 Практика (2 урока)

  1. Ролевая машина: класс — процессор. Роли: PC, RAM, IR, A, B, ALU, шина (два ученика носят «байт»-карточку), дирижёр-CU по карточкам микроопераций. Исполнить LDA 9; ADD 10; OUT — вживую. Метод смешной ровно до момента, когда он сработает; запоминается навсегда.
  2. Таблица микрокода: бригады заполняют управляющие слова для своего подмножества команд; перекрёстная проверка; учитель сводит в прошивку.

✅ Чек-лист

  • Расписываю Fetch наизусть
  • Составил микрооперации для LDA, ADD, JMP
  • Объясняю преимущество микрокода в ПЗУ перед «лесом вентилей»