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

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

от admin

Все существующие способы обмена поддерживаются соответствующими возможностями аппаратуры, интерфейсов и набором команд контроллера, которые использует программа
для организации обмена данными с оперативной памятью соответствующим способом. Примеры некоторых команд контроллера жестких дисков, запускающих различные способы обмена по DMA, приведены ниже:
READ DMA (w/retry) — чтение по DMA с повторами (код команды — C8h);
READ DMA (w/o retry) — чтение no DMA без повторов (код команды — C9h);
WRITE DMA (w/retry) — запись no DMA с повторами (код команды — CAh);
WRITE DMA (w/o retry) — запись no DMA без повторов (код команды — CBh).
Для иллюстрации способа обмена по прямому доступу, рассмотрим простой вариант организации обмена по прямому доступу между оперативной памятью и накопителем на гибких магнитных дисках. Накопители на гибких магнитных дисках традиционно используют 2 канал контроллера прямого доступа. Обмен по прямому доступу в память подготавливает и запускает на выполнение процессор, выполняющий соответствующую программу ввода-вывода. Перед началом обмена необходимо включить шпиндельный двигатель накопителя на гибких магнитных дисках (НГМД). Для этого процессор пересылает в регистр управления контроллера НГМД (порт с адресом 3F2) байт, содержащий ICh (00011100В). Этот код осуществляет выбор накопителя «0», вызывает сброс адаптера, разрешает работу по прерываниям и прямому доступу в память и включает двигатель шпиндельного двигателя накопителя «0». После этого процессор программным путем реализует задержку по времени, чтобы шпиндельный двигатель накопителя «0» «набрал» номинальные обороты. Затем необходимо установить головки накопителя на «нужную» дорожку дискеты. Для этого процессор (по программе) пересылает в регистр данных контроллера НГМД (порт с адресом 3F5), последовательно байт за байтом, три байта, составляющие команду Поиск » (рис. 1). Первый байт команды содержит код команды «Поиск» (0F), второй — номер головки и номер накопителя, третий — номер «нужной» дорожки.

0 0 0 0 1 1 1 1
x x x x x HD US1 US2
NCN

Рис. 1. Команда ‘Поиск’ (х — разряд безразличен контроллеру)

0 комментарий
0

Еще статьи