Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
33_Metodicheskie_ukazania_po_laboratornym_rabot...doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
706.56 Кб
Скачать

Лабораторная работа № 5. Диагностика контроллера накопителей на жестких дисках.

Цель работы: изучение методов программного тестирования контроллера накопителей на жестких дисках.

В данном разделе описывается управление контроллером накопителей на жестких магнитных дисках типа "винчестер". Материалы раздела подобраны в основном из технической документации и программного обеспечения для жестких дисков фирмы Seagate, однако данных о том, что существуют значительные отличия в управлении дисками, выпускаемыми другими фирмами, в настоящий момент не имеется. В связи с тем, что управление

жесткими дисками в ХТ и АТ-подобных ПЭВМ принципиально отличается, описание ХТ и АТ контроллеров приведены отдельно друг от друга.

Часть информации, полученная из анализа программного обеспечения, возможно является неполной. Такая информация помечена звездочкой (*) в конкретной строке изложения или в заголовке раздела.

Контроллер жестких дисков для хт-подобных пэвм

Архитектура ХТ-подобных ПЭВМ допускает подключение к одному контроллеру до двух накопителей. Обмен с жесткими дисками производится с использованием третьего канала ПДП. Контроллер генерирует аппаратные прерывания 5-го уровня (IRQ5), вектор прерывания 0Dh. Работа с диском осуществляется с использованием отдельного ПЗУ, содержащего процедуры управления диском, что является характерной особенностью ХТ-подобных ПЭВМ. Обычно в качестве сегментного адреса ПЗУ используется 0C800h, но возможны и другие значения (0CA00h, 0D000h или 0D800h для дисков ST-251 или ST-225 фирмы Seagate). Имеется 16 адресов портов ввода-вывода, предназначенных для управления контроллером и накопителями (320h-32Fh), однако реально используются только 4 из них, например 320h-323h, 324h-327h, 328h-32Bh или 32Ch-32Fh.

Назначение портов (1-й, 2-й, 3-й и 4-й в каждой группе) одно и то же, поэтому далее будут описаны только порты 320h-323h.

Порты ввода-вывода

Назначение портов контроллера жестких дисков приведено в таблице.

┌──────┬────────┬────────────────────────────────────────────┐

│ Порт │ Режим │ Назначение │

├──────┼────────┼────────────────────────────────────────────┤

│ 320h │ запись │ Передача команд по управлению накопителями │

│ │ │ │

│ 320h │ чтение │ Чтение параметров состояния после ошибок, │

│ │ │ возникших в процессе выполнения последней │

│ │ │ команды │

│ 321h │ запись │ Сброс контроллера │

│ 321h │ чтение │ Чтение состояния контроллера │

│ 322h │ запись │ Разблокировка (выбор) контроллера │

│ 322h │ чтение │ Чтение типа накопителя │

│ 323h │ запись │ Установка режима работы контроллера │

└──────┴────────┴────────────────────────────────────────────┘

Порт 320h.

Через этот порт контроллер принимает команды по управлению накопителями. Команда содержит до шести байтов информации, первый из которых определяет класс и код команды, а остальные содержат требуемые для выполнения команды параметры. При возникновении ошибки в процессе выполнения команды (бит 1 порта 321h) следует ввести в порт 320h команду "запрос состояния", после чего прочитать из него 4 байта состояния, первый из которых определяет код ошибки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]