Дисциплина «ОП.02 Архитектура аппаратных средств». Практическое занятие объединяет две смежные темы программы (§2.2, с. 8): «Практическое занятие №5 «Устройство управления и шины»» и «Практическое занятие №6 «Ввод-вывод»». Оценочный продукт — единый протокол диагностики пути данных.
Данное занятие является критической узловой точкой курса. Обучающиеся связывают микроархитектуру центрального процессора (устройство управления, регистры, конвейер) с внешними интерфейсами, системной шиной и периферийными контроллерами.
READY $\to$ фиксация на шине данных $\to$ прерывание или прямой доступ к памяти DMA.
В практической части предусмотрена дифференциация по 4 вариантам целевых устройств:
Итоговая оценка за практическую работу выставляется по прозрачной 4-балльной матрице (срок сдачи — до следующей пары):
| Критерий | Баллы | Требования для зачета |
|---|---|---|
| 1. Корректность сопоставления методов и стробов шины | 0–2 б. |
2 балла: безошибочно заполнены таблицы методов обмена (PIO, IRQ, DMA) и стробов (RD#, WR#, IOR#, IOW#, DREQ, DACK#); точно указаны активные уровни и направления сигналов.1 балл: допущена 1 негрубая неточность в стробах или классификации уровней. 0 баллов: грубая путаница стробов памяти и ввода-вывода или неверное определение роли сигналов DMA. |
| 2. Объяснение принципов УУ и прерываний | 0–1 б. |
1 балл: аргументированно раскрыты различия схемного УУ (Hardwired RISC FSM) и микропрограммного УУ (ROM/CROM microcode), описана пошаговая цепочка конвейера прерывания (проверка IF, строб INTA#, сохранение контекста EFLAGS/CS/EIP в стек, переход по IDT, возврат по IRET). 0 баллов: поверхностные бытовые ответы без физико-логической конкретики. |
| 3. Проверка диагностического кейса пути данных | 0–1 б. |
1 балл: по выбранному варианту составлена логически выверенная трассировка (пространство адресов, стробы/TLP, тип IRQ/MSI, режим DMA), корректно локализована смоделированная неисправность и предложен действенный способ устранения. 0 баллов: неверный выбор подсистемы обмена, абсурдный диагноз неисправности. |
Перевод в академическую отметку: 4 балла — «5» (отлично); 3 балла — «4» (хорошо); 2 балла — «3» (удовлетворительно); 0–1 балл — «2» (незачет, отправка на резервное домашнее задание).
IN AL, 60h на шине активируется строб MEMR#.M/IO#. Команда IN переводит M/IO# в 0 и формирует отдельный строб IOR#. Команда MOV AL, [60h] обращается к первому килобайту ОЗУ (таблица векторов реального режима) со стробом MEMR# при M/IO# = 1!
IOR# = 0 и строб записи в память MEMW# = 0! Байт перетекает из периферийного контроллера прямо в ячейку ОЗУ за один такт шины.
EAX, EBX, ECX сохраняются в стек аппаратно самим процессором до вызова прерывания.EFLAGS, CS и EIP (а также код ошибки в исключениях). Сохранение регистров общего назначения (PUSHAD / PUSH RAX...) — это обязанность программиста в первых строках кода обработчика ISR!