Использование профотладчика “AFD” при диагностике и ремонте

Сформировав в регистре данных еще один байт из считанной с диска информации, контроллер НГМД опять выдает сигнал DRQ2# и начинается следующая операция обмена и т. д.. Операции обмена по прямому доступу продолжаются до переполнения регистра счетчика байтов 2~го канала, что означает — весь массив данных передан, и контроллер прямого доступа формирует сигнал Т/С (конец прямого доступа). Сигнал Т/С блокирует в контроллере НГМД выработку сигналов DRQ2# и переключает контроллер гибкого диска в «фазу результата». В этом состоянии аппаратура контроллера НГМД заканчивает чтение информации из текущего блока данных сектора, формирует по считанной информации контрольную сумму и сравнивает ее с контрольной суммой, считанной за блоком данных сектора. Если контрольные суммы совпали, то информация из блока данных сектора прочитана верно. Отсутствие сигнала DRQ2# в течение некоторого времени, заставляет контроллер прямого доступа освободить интерфейс, а процессор снова «захватывает интерфейс» и продолжает выполнение приостановленной ранее программы.
После операции, выполняемой по команде «Чтение данных», в фазе результата контроллер НГМД формирует 7 байтов уточненного состояния. Он записывает первый из байтов состояния в свой регистр данных и ожидает, что процессор прочитает их через регистр данных контроллера НГМД, а для привлечения процессора к обслуживанию окончания обмена, выдает сигнал IRQ6 — запрос на обслуживание (прерывание). Сигнал IRQ6 поступает на 6-й вход контроллера прерываний, который выдает активный сигнал на вход INTR микропроцессора. Микропроцессор через выполнение процедуры прерывания переходит на выполнение программы обслуживания НГМД, и считывает последовательно из регистра данных контроллера НГМД семь байтов состояния и записывает их в оперативную память (в область данных BIOS) начиная с адреса 442h (кроме того, программа BIOS записывает код ошибки в регистр АН и ячейку памяти 44 lh), после чего контроллер НГМД переключается в фазу приема команды» и готов принять новую команду от процессора. Процессор, в конце программы обслуживания, выбирает команду IRET (возврат из прерывания), и выполняя ее возвращается к прерванной ранее программе.

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *