Сигналы AT-интерфейса и регистры ввода-вывода.
AT-интерфейс аппаратно соответствует сокращенному слоту расширения, квази-продленному с помощью кабеля. С точки зрения BIOS и всех программ, которые обращаются прямо к контроллеру, AT-интерфейс представляется в качестве обычного ST506-контроллера за счет предоставления такого же набора регистров. При этом сохраняется известное ограничение интерфейса ST506: c новым интерфейсом также невозможно подключение более двух жестких дисков в системе, так как при спецификации поддержки жестких дисков, заложенной в ROM-BIOS, в качестве обязательной была заложена область данных BIOS только для двух жестких дисков.
Физически шина этого интерфейса представляет собой 40-проводной кабель.
В персональных компьютерах (ПК), совместимых с IBM PC AT, коммуникация с накопителем на жестком магнитном диске (НЖМД) выполняется через три группы регистров в области ввода-вывода (см. приложение 2):
- 16-битный регистр данных ввода-вывода (1F0h);
- семь "Task File"-регистров (1F1h...1F7h);
- два регистра управления и состояния (3F6h...3F7h).
Регистры 1F0h...1F7h подлежат обращению с декодированным сигналом выборки /CS0, при обращении к регистрам 3F6h...3F7h должен быть активен /СS1. Выборка отдельных регистров выполняется адресными линиями А0...А2. Из верхней области адресов этих регистров при работе с НМЖД для записи и чтения используется только регистр 3F6h.
Адреса 3F2h...3F5h находятся в распоряжении контроллера накопителей на гибких магнитных дисках (НГМД). Регистр 3F7h в PC AT используется для записи только для контроллера НГМД; для чтения 7-й бит этого регистра используется при обмене с НГМД, а биты 0...6 информируют о текущем состоянии НЖМД.
Это разделение является осмысленным при комбинированном контроллере НЖМД и НГМД, но если эти функции разделяют, то необходимы более высокие затраты при управлении устройством сопряжения с шиной. При этом, если обмен с НГМД обрабатывается неправильно, то из-за ошибочного декодирования может возникать обращение к 7-му биту регистра 3F7h.
Наряду с модулем устройства сопряжения для сигналов шины ввода-вывода PC AT адаптер содержит также вентильную схему для формирования сигнала выборки. Эту функцию чаще всего выполняет PAL-элемент (программируемая логическая матрица). Некоторые функции адаптера могут находиться под влиянием штекерных перемычек.
Если контроллером НЖМД информационные сигналы еще не сформированы, то с помощью сигнала /IOCHRDY контроллер может побудить процессор к циклам ожидания. Необходимость в этом может возникнуть для ПК, которые могут работать на шине ввода-вывода с тактовой частотой выше, чем 8 мГц. Правда почти все предлагаемые в настоящее время на рынке НЖМД являются достаточно быстродействующими и до тактовой частоты в 12 МГц работают без формирования сигнала /IOCHRDY, так что, например, диски фирм Conner и Seagate этот сигнал не поддерживают.
У первых НЖМД с АТ-интерфейсом (например, Conner CP342) были проблемы с возвратам сигнала IRQ14, который указывает на выполнение команды и управляет передачей данных. Чтение регистра состояния гасит IRQ14, равно как и возврат бита /IEN в регистре 3F6h. Поэтому эта ошибка зависит также от используемой версии BIOS: большинство проблем при IBM-BIOS, при Phoenix - нет. Если появляются непонятные системные сообщения, то решению может помочь использование задуманного для управленияс ветодиодом НЖМД сигнала /ACT для предотвращения освобождения прерывания во время выполнения команды.
>>
|