Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия
- Название:Аппаратные интерфейсы ПК. Энциклопедия
- Автор:
- Жанр:
- Издательство:Издательский дом «Питер»
- Год:2002
- Город:Санкт-Петербург
- ISBN:5-94723-180-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Михаил Гук - Аппаратные интерфейсы ПК. Энциклопедия краткое содержание
Книга посвящена аппаратным интерфейсам, использующимся в современных персональных компьютерах и окружающих их устройствах. В ней подробно рассмотрены универсальные внешние интерфейсы, специализированные интерфейсы периферийных устройств, интерфейсы устройств хранения данных, электронной памяти, шины расширения, аудио и видеоинтерфейсы, беспроводные интерфейсы, коммуникационные интерфейсы, вспомогательные последовательные интерфейсы. Сведения по интерфейсам включают состав, описание сигналов и их расположение на разъемах, временные диаграммы, регистровые модели интерфейсных адаптеров, способы использования в самостоятельно разрабатываемых устройствах. Книга адресована широкому кругу специалистов, связанных с эксплуатацией ПК, а также разработчикам аппаратных средств компьютеризированной аппаратуры и их программной поддержки.
Аппаратные интерфейсы ПК. Энциклопедия - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Протокол обмена PIO хорош только для однозадачных ОС. Для многозадачных ОС больший интерес представляет обмен по протоколу DMA, если, конечно, поддерживаемый режим обеспечивает приемлемую скорость обмена. С точки зрения драйвера есть различия лишь между типами режимов (PIO, DMA и UltraDMA); аппаратные нюансы режимов внутри типа влияют только на скорость передачи. Режим UltraDMA значительно отличается от обычного DMA необходимостью обработки возможных ошибок передачи по шине; в случае постоянных ошибок драйвер должен понизить режим UltraDMA (вплоть до перехода на традиционные режимы).
Протокол взаимодействия хоста с устройством выглядит следующим образом.
1. Хост читает регистр состояния устройства, дожидаясь нулевого значения бита ВSY
. Если присутствуют два устройства, хост обращается к ним «наугад» — состояние будет сообщаться последним выбранным устройством.
2. Дождавшись освобождения устройства, хост записывает в регистр D/H
байт, у которого бит DEV
указывает на адресуемое устройство. Здесь кроется причина невозможности параллельной работы двух устройств на одной шине ATА: обратиться к устройству можно только после освобождения обоих устройств.
3. Хост читает основной или альтернативный регистр состояния адресованного устройства, дожидаясь признака готовности ( DRDY
=1).
4. Хост заносит требуемые параметры в блок командных регистров.
5. Хост записывает код команды в регистр команд.
6. Устройство устанавливает бит BSY
и переходит к исполнению команды.
Дальнейшие действия зависят от протокола передачи данных, заданного командой.
Для команд, не требующих передачи данных , следующий шаг (шаг 7) — последний. Завершив исполнение команды, устройство сбрасывает бит BSY
и устанавливает запрос прерывания (если он не запрещен). К этому моменту в регистрах состояния и ошибок уже имеется информация о результате исполнения. Единичное значение бита BSY
может «промелькнуть» между шагами 6 и 7 так быстро, что хост его не зафиксирует, но для фиксации факта выполнения команды или ее части предназначен запрос прерывания.
Для команд, требующих чтения данных в режиме 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 содержит только буферы сигналов шины и дешифратор зоны адресов. Все регистры контроллера и схемы кодирования размещены в самом устройстве 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 предписывает следующее.
Читать дальшеИнтервал:
Закладка: