Домашнее задание - Устройство управления, шины и ввод-вывод

Выполняйте только если преподаватель назначил это задание. Срок сдачи сообщит преподаватель.

Резервный комплект для обучающихся, пропустивших практическое занятие №17 или нуждающихся в повторной аттестации. Задание включает разбор эталонного примера трассировки циклов шины, аналитические упражнения по устройству управления и инженерный расчет шины ввода-вывода.

Разобранный образец: Трассировка цикла чтения памяти при микропрограммном управлении

Эталонная инженерная задача:

Условие: Процессор выполняет инструкцию ассемблера MOV EAX, [EBX] (загрузка 32-битного двойного слова из оперативной памяти по адресу в регистре EBX в аккумулятор EAX). Опишите поведение микропрограммного устройства управления и состояние шинных стробов на протяжении четырех машинных тактов ($T_1, T_2, T_w, T_3$).

Эталонное решение и ход рассуждений:

  1. Такт $T_1$ (Фаза адреса): Микрокоманда считывается из управляющей памяти CROM. УУ выставляет содержимое регистра EBX на шину адреса. На шине управления выставляется сигнал M/IO# = 1 (индикация обращения к памяти, а не к портам ввода-вывода) и W/R# = 0 (чтение).
  2. Такт $T_2$ (Активация строба): Устройство управления активирует строб чтения памяти MEMR# = 0 (активный низкий уровень). На конце такта опрашивается линия READY от контроллера оперативной памяти.
  3. Такт $T_w$ (Такт ожидания): Поскольку ОЗУ требует время на регенерацию и перезаряд емкостей строк DRAM (задержка CAS Latency), контроллер памяти удерживает READY = 0. Процессор вставляет дополнительный такт ожидания $T_w$, удерживая строб MEMR# = 0 и адрес на шине адреса неизменными.
  4. Такт $T_3$ (Фиксация данных): Контроллер памяти выставляет 32-битное слово на шину данных и переводит линию READY = 1. Устройство управления процессора по срезу тактового импульса стробирует данные во внутренний буферный регистр данных, после чего пересылает их в регистр EAX. Строб MEMR# деактивируется (переходит в 1). Цикл шины завершен.

Упражнение 1. Анализ циклов шины и управляющих стробов

Упражнение 2. Сравнение УУ с жесткой логикой и микропрограммного УУ

  • 1. Быстродействие и тактовая частота: почему УУ с жесткой логикой (RISC) формирует управляющие сигналы быстрее, чем микропрограммное УУ?
  • 2. Аппаратная сложность и площадь кристалла: как влияет наличие внутренней памяти микрокоманд (CROM) на сложность трассировки процессора?
  • 3. Возможность исправления критических уязвимостей (Microcode Patching): почему процессоры x86 способны исправлять ошибки архитектуры (например, Spectre/Meltdown) без физической замены чипа, а микроконтроллеры с жесткой логикой — нет?

Упражнение 3. Инженерный расчет арбитража шины и прерываний

  • 1. Что произойдет с операционной системой и ядрами процессора, если для приема такого трафика попытаться использовать классические проводные прерывания IRQ (INTx) и программный опрос (PIO)?
  • 2. Какая комбинация аппаратных механизмов (MSI-X, RSS, Bus Master DMA с дескрипторными кольцами в памяти) решает данную проблему?
  • 3. Почему классический контроллер DMA Intel 8237A непригоден для таких задач (укажите разрядность адреса и лимит блока)?