Чтение онлайн

на главную

Жанры

Аппаратные интерфейсы ПК. Энциклопедия

Гук Михаил Юрьевич

Шрифт:

Для команд, требующих чтения данных в режиме PIO, процедура продолжается следующим образом.

7. Подготовившись к передаче первого блока данных по шине ATA, устройство устанавливает бит

DRQ
. Если была ошибка, она фиксируется в регистрах состояния и ошибок. Далее устройство сбрасывает бит
BSY
и устанавливает запрос прерывания (если он не запрещен).

8. Зафиксировав обнуление бита

BSY
(или по прерыванию), хост считывает регистр состояния, что приводит к сбросу прерывания от устройства.

9. Если хост обнаружил единичное значение бита

DRQ
, он производит
чтение первого блока данных в режиме
PIO
(адресуясь к регистру данных). Если обнаружена ошибка, считанные данные могут быть недостоверными. После передачи блока данных возможно одно из следующих действий:

 • если на шаге 8 ошибка не обнаружена и требуется передача следующего блока, устройство устанавливает бит

BSY
и данная последовательность повторяется с шага 7;

 • если есть ошибка или передан последний блок данных, устройство сбрасывает бит

DRQ
и выполнение команды завершается.

Для операций записи данных после шага 6 для устройства начинается активная фаза записи на носитель, что отмечается установкой бита

BSY
.

Для команд, требующих записи данных в режиме PIO, процедура после шага 6 продолжается следующим образом.

7. Подготовившись к приему первого блока данных по шине ATА, устройство устанавливает бит

DRQ
(если нет ошибок) и сбрасывает бит
BSY
. Если была ошибка, она фиксируется.

8. Зафиксировав обнуление бита

BSY
, хост считывает регистр состояния.

9. Если хост обнаружил единичное значение бита

DRQ
, он производит запись первого блока данных в режиме PIO по адресу в регистре данных.

10. После передачи блока данных возможно одно из следующих действий:

 • если обнаружена ошибка, устройство сбрасывает бит

DRQ
, устанавливает запрос прерывания и выполнение команды завершается, а переданные по шине данные остаются устройством необработанными (не записываются на носитель);

 • если ошибка не обнаружена, устройство устанавливает бит

BSY
и переходит к следующему шагу.

11. Устройство обрабатывает принятый блок данных, затем:

 • если нет ошибок и обработанный блок — последний, устройство сбрасывает бит

BSY
и устанавливает запрос прерывания, на чем выполнение команды успешно завершается;

 • если обнаружена ошибка, выполнение команды завершается таким же об разом, но с установкой битов ошибок;

 • если нет ошибок и требуется передача следующего блока, процедура продолжается.

12. По готовности приема следующего блока устройство устанавливает бит

DRQ
, сбрасывает бит
BSY
и устанавливает запрос прерывания.

13. По обнулении бита

BSY
(или по прерыванию) хост считывает регистр состояния.

14. Обнаружив бит

DRQ
, хост выполняет запись очередного блока в регистр данных, и последовательность повторяется с шага 11.

Команды с передачей данных в режиме DMA выполняются похожим образом, но с некоторыми исключениями.

♦ Вместо PIO используется прямой доступ к памяти. Хост должен инициализировать канал DMA до записи кода в регистр команд, чтобы при появлении сигнала

DMARQ
начался обмен.

♦ Запрос прерывания даже в многосекторных передачах производится один раз — по выполнении команды.

Адаптеры и контроллеры шины ATA

Простейший адаптер ATA содержит только буферы сигналов шины

и дешифратор зоны адресов. Все регистры контроллера и схемы кодирования размещены в самом устройстве IDE. Шина ATA требует выделения системных ресурсов — двух областей портов ввода-вывода и линии прерывания; дополнительно может потребоваться канал DMA. Интерфейсу ATA первого канала выделили ресурсы, ранее использовавшиеся контроллером жестких дисков. Второму каналу назначили ресурсы альтернативного контроллера жестких дисков. Позже определили ресурсы еще для двух каналов (табл. 9.8). Традиционному контроллеру жестких дисков выделялся канал DMA3, но он является 8-битным, в то время как шина ATA требует 16-битного канала DMA. Производительности стандартных каналов DMA для шины ATA явно недостаточно.

Таблица 9.8. Системные ресурсы каналов ATA

Канал CS0 CS1 IRQ
1 1F0h-1F7h 3F6h-3F7h 14
2 170h-177h 376h-377h 15 или 10
3 1E8h-1Efh 3Eeh-3Efh 12 или 11
4 168h-16Fh 36Eh-36Fh 10 или 9

На системных платах с шиной PCI стандартом является установка двухканального адаптера, занимающего ресурсы каналов 1 и 2. В идеальном варианте двухканальные контроллеры имеют шины, полностью изолированные друг от друга буферными и логическими схемами. В самом дешевом варианте они используют общие буферы для линий данных и управляющих сигналов и отдельные только для некоторых сугубо индивидуальных сигналов. С точки зрения логики здесь все в порядке, но следует учитывать нагрузочную способность (влияние паразитных параметров): суммарная длина обоих ленточных кабелей не должна превышать 46 см, а суммарная емкость каждой линии со всеми устройствами не должна превышать 35 пФ. Иначе на высокоскоростных режимах обмена возможны неконтролируемые искажения передаваемых данных. Стандарт ATA/ATAPI-6 предписывает следующее.

♦ В каждом канале должны быть собственные формирователи управляющих сигналов

DIOR#
,
DIOW#
и приемник
IORDY
(рекомендуемый вариант); либо должны быть раздельные формирователи
CS0#
и
CS1#
(второй вариант логичнее, но хуже в плане помех). Такая конфигурация позволяет использовать все режимы обмена, кроме Ultra DMA.

♦ Для поддержки Ultra DMA 0, 1 и 2 (до 33 Мбайт/с) к этим требованиям добавляется наличие раздельных формирователей сигнала

DMACK#
.

♦ Для поддержки Ultra DMA 3 и выше (44-100 Мбайт/с) все линии должны иметь раздельные приемопередатчики. Общими могут быть только сигналы

RESET#
,
INTRQ
,
DA(2:0)
,
CS0#
,
CS1#
и
DASP#
, но стандарт этого не рекомендует.

Поскольку скорость программного обмена задается хост-адаптером, интересно индивидуальное программирование режимов PIO Mode для каждого канала/устройства. Ряд чипсетов этого не допускает и при инициализации назначает общий минимальный режим. В результате подключение «тихоходного» устройства замедляет обмен быстрого соседнего устройства.

Поделиться:
Популярные книги

Секси дед или Ищу свою бабулю

Юнина Наталья
Любовные романы:
современные любовные романы
7.33
рейтинг книги
Секси дед или Ищу свою бабулю

An ordinary sex life

Астердис
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
An ordinary sex life

Золушка вне правил

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.83
рейтинг книги
Золушка вне правил

Большая Гонка

Кораблев Родион
16. Другая сторона
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Большая Гонка

Курсант: назад в СССР 2

Дамиров Рафаэль
2. Курсант
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Курсант: назад в СССР 2

Идеальный мир для Лекаря 4

Сапфир Олег
4. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 4

Гром над Империей. Часть 2

Машуков Тимур
6. Гром над миром
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Гром над Империей. Часть 2

Я – Орк. Том 3

Лисицин Евгений
3. Я — Орк
Фантастика:
юмористическое фэнтези
попаданцы
5.00
рейтинг книги
Я – Орк. Том 3

Измена. Свадьба дракона

Белова Екатерина
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Измена. Свадьба дракона

Идеальный мир для Социопата 4

Сапфир Олег
4. Социопат
Фантастика:
боевая фантастика
6.82
рейтинг книги
Идеальный мир для Социопата 4

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Отмороженный 7.0

Гарцевич Евгений Александрович
7. Отмороженный
Фантастика:
рпг
аниме
5.00
рейтинг книги
Отмороженный 7.0