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

на главную

Жанры

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

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

Шрифт:

Назначение битов регистра

SR
описано ниже.

♦ Бит 7 —

BSY
(Busy) указывает на занятость устройства, значение этого бита действительно всегда. При
BSY
=1 устройство игнорирует попытки записи в командный блок регистров, а чтение этих регистров дает неопределенный результат. При
BSY
=0 регистры командного блока доступны, в это время устройство не может устанавливать бит
DRQ
, изменять значение битов
ЕRR
и содержимое остальных командных регистров (могут меняться только значения битов
IDX
,
DRDY
,
DF
,
DSC
и
CORR
). Бит может устанавливаться на кратковременный интервал, так что хост может этого не заметить. Бит устанавливается:

 • при сбросе устройства;

 • по получении команды, если не устанавливается

DRQ
;

 • между передачами блоков данных в режиме PIO

и после них, пока не обнулился
DRQ
;

 • во время передач данных в режиме DMA.

♦ Бит 6 —

DRDY
(Device Ready) указывает на готовность устройства к восприятию любых кодов команд. Если состояние бита изменилось, оно не может вернуться обратно до чтения регистра состояния. При
DRDY
=0 устройство воспринимает только команды
Execute Device Diagnostic
и
Initialize Device Parameters
, прекращая выполнение текущей команды и сообщая об этом флагом
ABRT
в регистре ошибок и флагом
ERR
в регистре состояния. Другие команды приводят к непредсказуемым результатам. Устройства ATAPI сбрасывают бит по любому сбросу и команде
Execute Device Diagnostic
. Бит устанавливается устройством ATA, когда оно готово к выполнению всех команд. Устройство ATAPI устанавливает бит до завершения выполнения команд, за исключением команд
Device Reset
и
Execute Device Diagnostic
.

♦ Бит 5 —

DF
(Device Fault) — индикатор отказа устройства.

♦ Бит 4 —

DSC
(Device Seek Complete) — индикатор завершения поиска трека. В командах, допускающих перекрытие, бит называется
SERV
(Service Required) — устройство требует обслуживания.

♦ Бит 3 —

DRQ
(Data Request) — индикатор готовности к обмену словом или байтом данных.

♦ Бит 2 —

CORR
(Corrected Data) — индикатор исправленной ошибки данных.

♦ Бит 1 —

IDX
(Index) — индекс, трактуется особо каждым производителем.

♦ Бит 0 —

ERR
(Error) — индикатор ошибки выполнения предыдущей операции.

Дополнительная информация содержится в регистре ошибок. Если установлен бит

ERR
, до приема следующей команды, программного или аппаратного сброса устройство не изменит состояние этого бита, а также регистра ошибок, регистра количества секторов и регистров цилиндра, головки и номера сектора. Для команд
Packet
и
Service
бит называется
CHK
и служит признаком исключительной ситуации.

В стандарте ATA/ATAPI-4 для некоторых команд биты 4 и 5 могут иметь иное назначение, а биты 1 и 2 объявлены устаревшими.

Назначение регистра команд

CR
(1F7h, 177h) очевидно из названия. Устройство начинает исполнять команду сразу, как только ее код записан в данный регистр. Команда
Device Reset
выполняется устройством ATAPI независимо от состояния битов
BSY
и
DRQ
, и даже в состоянии Sleep.

Полный список команд ATA приведен в литературе [4, 5, 9].

Протоколы и режимы передачи данных

Программа общается с устройствами ATA через регистры, используя инструкции ввода-вывода

IN
и
OUT
. Для передачи данных с максимальной скоростью применяют программный доступ PIO к регистру данных инструкциями
INSW
/
OUTSW
или по каналу DMA. Тип обмена (PIO или DMA) определяется командой обращения. Программный доступ PIO обязателен для всех устройств, команды режима DMA устройствами могут не поддерживаться. Параметры различных режимов обмена приведены в табл. 9.7.

Таблица 9.7. Параметры режимов передачи

Режим передачи Минимальное время цикла, нс Скорость передачи, Мбайт/с Интерфейс
PIO mode 0 600 3,3 ATA
PIO mode 1 383 5,2 ATA
PIO mode 2 240 8,3 ATA
PIO mode 3 180 11,1 E-IDE, ATA-2 (используется IORDY)
PIO mode 4 120 16,6 E-IDE, Fast ATA-2 (используется IORDY)
Singleword DMA Mode 0 960 2,08 ATA
Singleword DMA Mode 1 480 4,16 ATA
Singleword DMA Mode 2 240 8,33 ATA
Multiword DMA Mode 0 480 4,12 ATA
Multiword DMA Mode 1 150 13,3 ATA-2
Multiword DMA Mode 2 120 16,6 FastАТА-2
Ultra DMA Mode 0 120¹ 16,6 ATA/ATAPI-4
Ultra DMA Mode 1 80¹ 25 ATA/ATAPI-4
Ultra DMA Mode 2 60¹ 33 ATA/ATAPI-4
Ultra DMA Mode 3 45¹ 44,4 ATA/ATAPI-5
Ultra DMA Mode 4 30¹ 66,6 ATA/ATAPI-5
Ultra DMA Mode 5 20¹ 100 ATA/ATAPI-6

¹ В

пакете данных режима Ultra DMA за каждый такт передаются два слова данных, один по фронту синхронизирующего сигнала, другой по спаду. Период следования синхросигналов равен удвоенному времени цикла.

Программный доступ PIO (Programmed Input/Output) выполняется в виде следующих друг за другом операций чтения или записи в пространстве ввода-вывода по адресу регистра данных. Готовность устройства проверяется перед началом передачи блока, после чего хост производит серию операций в определенном темпе, который определяется выбранным режимом PIO Mode 0–4. Для каждого режима определены допустимые параметры временной диаграммы цикла обмена. Обмен PIO программно реализуется с помощью процессорных инструкций ввода-вывода строк

REP INS
или
REP OUTS
с занесенным в регистр
СХ
количеством слов (или байтов) в передаваемом блоке. Эти инструкции обеспечивают максимально возможную скорость обмена для данного процессора и системной шины. «Обуздать» процессор в соответствии с выбранным режимом входит в задачу адаптера ATА, который использует для удлинения цикла сигнал готовности шины (для ISA —
IOCHRDY
). Традиционные режимы 0, 1 и 2 имеют временные параметры, фиксируемые только хост-адаптером. Для прогрессивных режимов ATA-2 (PIO Mode 3 и выше) устройство может затормозить обмен, используя сигнал готовности
IORDY
. Программный обмен на все время передачи блока занимает и процессор, и системную шину.

Обмен по каналу DMA занимает исключительно шины ввода-вывода и памяти. Процессору требуется выполнить только процедуру инициализации канала, после чего он свободен до прерывания от устройства в конце передачи блока (этим могут воспользоваться многозадачные системы). Стандартные каналы DMA шины ISA для интерфейса ATA не используются из-за низкой пропускной способности. Высокопроизводительные адаптеры ATA имеют собственные более эффективные контроллеры. Режимы обмена по каналу DMA бывают одиночными и множественными. При одиночном режиме — Singleword DMA — устройство для передачи каждого слова вырабатывает сигнал запроса

DMARQ
и сбрасывает его по сигналу
DMACK#
, подтверждающему цикл обмена. При множественном режиме — Multiword DMA — на сигнал
DMARQ
хост отвечает потоком циклов, сопровождаемых сигналами
DMACK#
. Если устройство не справляется с потоком, оно может приостановить его снятием сигнала
DMARQ
, а по готовности установить его снова. Множественный режим позволяет развить более высокую скорость передачи.

В спецификации ATA/ATAPI-4 появился новый режим — Ultra DMA, позволяющий перешагнуть барьер в 16,6 Мбайт/с, свойственный традиционным режимам и используемому кабелю. При этом обеспечивается и контроль достоверности передачи данных по шине, чего не делалось ни в PIO, ни в стандартных режимах DMA (а зря!). Стандартом ATA-4 было определено 3 режима Ultra DMA (0, 1 и 2), впоследствии ввели новые; выбор режима осуществляется командой

Set Features
. В режимах Ultra DMA сигналы
DMARQ
и
DMACK#
сохраняют свое назначение, а вот смысл сигналов
DIOR#
,
DIOW#
и
IORDY
на время передачи пакета (Ultra DMA Burst) существенно меняется. В пакете данные на шине сопровождаются стробом, генерируемым источником данных, причем для синхронизации используются оба перепада сигналов. Это позволяет повысить пропускную способность шины до 33 Мбайт/с, не увеличивая частоту переключения сигналов сверх 8,33 с– 1 (этот предел для обычного кабеля достигается в режиме PIO Mode 4 и Multiword DMA Mode 2). Каждое переданное слово участвует в подсчете CRC-кода, который передается хост-контроллером в конце пакета. Подсчет ведется и источником данных, и приемником.

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

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

Юнина Наталья
Любовные романы:
современные любовные романы
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