КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Интерфейсы устройств хранения

Запуск осуществляется при пере¬ходе бита 0 из нуля в единицу, останов для текущего сеанса необратим. Останов контроллера (сброс бита) обычно выполняют по окончании выполнения коман¬ды ATA/ATAPI (по прерыванию). Преждевременный останов приведет к ошибке выполнения команды с соответствующим сообщением. Направление должно быть задано до запуска контроллера, изменять его «на ходу» нельзя.
В регистре состояния BMISx биты 1 и 2 устанавливаются аппаратно, а сбрасывают¬ся при записи байта с единичным значением в соответствующем бите. После сброса бита запроса прерывания он снова установится только по следующему фронту сигнала прерывания от устройства. Биты 5 и 6 устанавливаются программно, обыч¬но когда POST определяет возможности подключенных устройств и программи¬рует режимы контроллера. Регистр состояния должен быть прочитан после завер¬шения выполнения команды для определения успешности операций на шине PCI. В регистр ВМI DPTx заносят адрес таблицы дескрипторов областей памяти, с кото¬рыми производится обмен данными. Контроллер способен при чтении памяти собрать поток данных из произвольного числа областей (gathered read), а при запи¬си «разбросать» поток по этим областям (scatter write). Такая возможность ветре-

9.2. Интерфейс ДТА/ATAPI (IDE)
387
чалась еще в EISA-системах, она позволяет преодолевать барьеры на границах страниц, свойственные стандартным контроллерам DMA и страничной пере¬адресации процессоров х86. Каждый дескриптор занимает 8 байтов:

байты 0-3 (двойное слово) — физический адрес начала области (четный);

байты 4-5 (слово) — счетчик байтов (четный, 0000 соответствует 65 536);

байты 6-7 (слово) — признак конца таблицы (бит 15), биты 0-14 не использу¬ются (0).
Каждая область может быть расположена в произвольном месте памяти (кроме отображаемой на шину ISA) и иметь произвольный размер, но не должна пересе¬кать границы страниц размером 64 Кбайт. Таблица дескрипторов должна быть выровнена по границе двойного слова и не должна пересекать границы страниц, имеющих размер 64 Кбайт.

Hosted by uCoz