Рефераты. Сравнительный анализ и оценка возможностей НГМД и НЖМД

Контроллер FDC AT поддерживает только два накопителя (стало ясно, что за счет гибких дисков объем дисковой памяти увеличивать. неэффективно), но появилась новая скорость 500 Кбит/с для плотности HD (1,2 и 1,44 Мбайт), а также 300 Кбит/с для работы с дискетами SD, DD и QD в приводах HD 5". Современные контроллеры, поддерживающие накопители ED (2,88 Мбайт), должны обеспечивать и скорость 1000 Кбит/с. Режимы контроллеров, соответствующие скоростям 250/300, 500 и 1000 Кбит/с, обозначаются соответственно 1М, 2М и 4М. В режиме 1М на одном треке умещается 9 секторов (по 512 байт); для этого при частоте вращения 300 об/мин требуется скорость 250 Кбит/с, а при 360 об/мин — 300 Кбит/с. В режиме 2М при частоте вращения 300 об/мин (у дисководов HD 3,5"). на одном треке умещается 18 секторов, а при частоте вращения 360 об/мин (у дисководов HD 5") — 15 секторов. Режим 4М, похоже, так и останется невостребованным. Выбор скорости задает частоту синхронизации при записи и форматировании, а также настраивает цепи сепаратора данных. Сепаратор данных способен устойчиво выделять данные и синхросигнал из сигнала, принятого с головки, лишь при небольших (порядка ±10 %) отклонениях скорости от номинала, поэтому скорость должна быть правильно выбрана для всех операций обмена данными с диском.

В карте ресурсов AT имеется место под два контроллера НГМД:

1. FDC АТ#1 (стандартный или основной) занимает порты с адресами 3F0h-3F7h (как и FDC XT);

2. FDC АТ#2 (дополнительный) занимает порты с адресами 370h-377h.

Контроллеры вырабатывают запрос аппаратного прерывания IRQ6 (в BIOS -прерывание Int OEh) по окончании выполнения внутренних операций. Для обмена данными может использоваться канал DMA2 [27].

Адрес регистра состояния FDC 3F7 (377) совпадает с адресом давно неиспользуемого регистра контроллера жесткого диска (HDC), в связи с чем раздельная работа контроллеров FDC и HDC, расположенных на разных платах, проблематична. В нормальном (не диагностическом) режиме из этого регистра интерес представляет только бит 7 — признак смены носителя.

Таблица 1.2.

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


Адрес


Назначения (R- чтение, W- запись)

3F2 (372)


RW: DOR (Digital Output Register) - регистр управления:

·        биты [4:7] — включение моторов А, В, С, D: 1 — включен;

·        бит 3: 1 — разрешение использования DMA2 и IRQ6;

·        бит 2: 0 — сброс, 1 — разрешение контроллера;

·        биты [1:0] — номер выбранного привода 0-3;

·        В AT биты 6, 7 и 1 не используются


3F3 (373)

RW: TDR (Tape Drive Register) - регистр стримера: биты [1:0] — номер устройства, которому соответствует стример; по сбросу устанавливается 00, но это означает
отсутствие стримера (вместо дисковода А: стример не поставить)

3F4 (374)


R: MSR (Main State Register) — главный регистр состояния:

·        бит 7 — DQM — запрос: 1 — готов к приему-передаче байта;

·        бит 6 - DIO - направление данных: 1 - от FDC KCPU;

·        бит 5 — NON DMA — использование DMA: I — DMA не используется;

·        бит 4 — CMD BSY: 1 — контроллер занят выполнением команды;

·        биты [0:3] — привод А:, В:, С:, D: занят (в AT используются только биты 0,1)



3F4 (374)





W: DSR[2] (Datarate Select Register) — регистр выбора скорости:

·        бит 7: 1 — сброс контроллера (обнуляется автоматически);

·        бит 6: 1 — отключение питания контроллера;

·        бит 5: должен быть 0(1— разрешение внешней);

·        биты [4:2] — выбор времени предварительной компенсации записи (000 — предварительная компенсация по умолчанию);

·        биты [1:0] — скорость обмена: 00 — 500 кбит/с, 01 — 300 кбит/с, 10 - 250 кбит/с, 11-1 Мбит/с

3F5 (375)

RW: PR (Data Register) - регистр команд/данных

3F7 (377)

W: CCR (Configuration Control Register) — регистр параметров контроллера (AT):

·        биты [7:2] не используются;

·        биты [1:0] — скорость обмена: 00 — 500 кбит/с, 01 — 300 кбит/с, 10-250 кбит/с, 11-1 Мбит/с

3F7 (377)

R: DIR (Digital Input Register) — регистр состояния (только в AT):

·        бит 7: 1 — смена носителя (чтение инвертированной линии DC);

·        биты [6:0] не используются, при чтении не выводятся на шину данных


Контроллер НГМД может быть использован и для работы со стримерами; специально для этого в контроллере имеется регистр TDR (Tape Drive Register), пара младших битов которого задает, какому номеру устройства соответствует стример (для него иначе настраиваются цепи сепаратора данных).

Контроллер НГМД поддерживается дисковым сервисом BIOS Int 13h. С контроллером общается и обработчик аппаратного прерывания от таймера IRQO (BIOS Int 08h), который декрементирует счетчик времени рабо­ты мотора НГМД (BIOS Data Area, ячейка 0:0440), и по его обнулению отключает мотор. Адрес дисковода, мотор которого включен, в позиционном коде содержит ячейка памяти 0:043Е При каждом обращении к дискете в регистре контроллера устанавливается бит включения мотора и в счетчик времени заносится константа, соответствующая выдержке на отключение (по умолчанию — 2 с). Таким образом, если в течение этого интервала нет следующих обращений, мотор автоматически выключается (если BIOS отрабатывает аппаратные прерывания от таймера). Не отключающийся мотор может быть косвенным признаком «зависания» компьютера.

Программирование контроллера НГМД для выполнения операций с дискетами — довольно хлопотное занятие, и игнорирование сервисов BIOS и даже ОС оправдано в основном лишь для нетривиальных задач. типа работы с ключевыми дискетами и т. п. С жесткими дисками АТА операции выполняются проще, поскольку многие функции берет на себя встроенный контроллер с развитым интеллектом, и, кроме того, нет необходимости каждый раз задавать параметры под конкретную дискету (ее параметры можно узнать только после успеха чтения).

Программное взаимодействие с дисководами осуществляется через контроллер НГМД, который управляет механизмом привода и работает с сигналами головок записи-чтения. Все операции с дискетами выполняются по командам, посылаемым хостом в регистр DR (3F5) согласно состоянию битов регистра MSR (3F4). Запись байта команды или данных в регистр DR разрешается лишь при текущем значении MSR=10xxxxxxb, чтение — при MSR=llxxxxxxb. Для записи-чтения этого регистра приходится использовать отдельные подпрограммы, не только дожидающиеся разрешающих значений MSR, но и имеющие аварийный выход по тайм-ауту. Хост также выполняет запись в регистр DOR (3F2) для запуска-останова дисковода, а также в CCR (3F7) или DSR (3F4) для выбора скорости передачи данных. В операциях обмена данными с дискетами обычно участвует контроллер DMA, и он должен быть своевременно проинициализирован. Сигнал ТС (завершение цикла DMA) используется как признак завершения фазы данных. В общем, виде процедура обмена данными состоит из следующих шагов.

1.       Запуск мотора и выбор дисковода (записью в регистр DOR).

2.       Установка скорости (записью в регистр CCR).

3.       Выполнение команды рекалибровки.

4.       Ожидание раскрутки двигателя (если мотор не проработал 0,5 с).

5.       Позиционирование головки на требуемый цилиндр.

6.       Инициализация контроллера DMA.

7. Посылка команды чтения-записи.

8.Ожидание прерывания от контроллера. Прерывание произойдет, когда за вершится фаза исполнения, во время которой контроллер обычно обменивается данными с хостом. Если за определенное время прерывание не получено, фиксируется неудачная попытка обращения с ошибкой тайм-аута.

9. По прерыванию от контроллера считываются байты результата, и, если ошибок нет, на этом обмен успешно завершается. Если есть ошибки, то снова переходят на шаг 6 (инициализация DMA) и далее повторяют команду чтения-записи. Если за три раза успеха не достигается, выполняется рекалибровка, затем инициализация DMA и повторные попытки чтения-записи. Если успеха не достигается и после нескольких рекалибровок, обмен прекращается аварийно [30].

Контроллер поддерживает команды чтения данных, чтения удаленных данных, чтения трека, записи данных, записи удаленных данных, верификации, форматирования трека, рекалибровки, поиска, относительного поиска, чтения прерывания, чтения состояния привода, чтения идентификатора, а также служебные. команды спецификации параметров привода, включения перпендикулярного режима (для дискет 2,88 Мбайт), конфигурирования и опроса версии контроллера, блокировки сброса параметров и отладочного считывания регистров. Программный интерфейс контроллера считывает координаты и код размера (С, Н, R, N) из первого успешно считанного идентификатора адреса сектора — с ее помощью можно произвести полный переучет всех секторов на каждом треке. В фазе результата этой команды сообщаются те же 7 байтов, что и у команд чтения -записи. Контроллеры жестких дисков. Собственно контроллер накопителя физически расположен на плате электроники и предназначен для обеспечения операций преобразования и пересылке информации от головок чтения/записи к интерфейсу накопителя. Часто, контроллером называют интерфейс накопителя или интерфейс ПК с накопителем, что, в общем, не верно. Контроллер жестких дисков представляет собой сложнейшее устройство - микрокомпьютер, со своим процессором, ОЗУ и ПЗУ, схемами и системой ввода/вывода и т.п. Однако, в большинстве случаев, производители размещают их в одном или двух микрочипах.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.