
- •Введение
- •Лабораторная работа № 1. Создание программы определения характеристик центрального процессора.
- •Определение параметров процессора на аппаратном уровне.
- •Лабораторная работа № 2.
- •Конфигурация персонального компьютера
- •Cmos-память и конфигурация компьютера
- •32H Текущее столетие
- •Использование bios для определения конфигурации
- •Лабораторная работа 3. Тестирование оптических накопителей.
- •Использование I/o Control Codes.
- •Использование Windows Management Instrumentation (wmi).
- •Порты контроллера накопителей на гибких дисках
- •Порт 3f2h.
- •Порт 3f4h.
- •Команды управления накопителями
- •Перечень команд контpоллеpа нгмд
- •Структура байтов состояния
- •Формат дорожки
- •Отличия контроллера для ат-подобных пэвм
- •Порт 3f7h.
- •Лабораторная работа № 5. Диагностика контроллера накопителей на жестких дисках.
- •Контроллер жестких дисков для хт-подобных пэвм
- •Порты ввода-вывода
- •Порт 320h.
- •Порт 321h.
- •Порт 322h.
- •Порт 323h.
- •Общий формат команды и терминология
- •Описание команд Проверка готовности накопителя (класс 0, опкод 0).
- •Рекалибровать (класс 0, опкод 1).
- •Запрос состояния (класс 0, опкод 3).
- •Форматирование накопителя (класс 0, опкод 4).
- •Проверка секторов (класс 0, опкод 5).
- •Форматирование дорожки (класс 0, опкод 6).
- •Форматирование дефектной дорожки (класс 0, опкод 7).
- •Чтение секторов (класс 0, опкод 8).
- •Запись секторов (класс 0, опкод 0Ah).(*)
- •Поиск цилиндра по номеру (класс 0, опкод 0Ch).(*)
- •Чтение внутреннего озу контроллера (класс 0, опкод 0Eh).(*)
- •Запись внутреннего озу контроллера (класс 0, опкод 0Fh).(*)
- •Диагностика внутреннего озу контроллера (класс 7,опкод 0).(*)
- •Тест устройства (класс 7, опкод 3).
- •Расширенный тест контроллера (класс 0, опкод 4).
- •Считывание без контроля (класс 7, опкод 5).
- •Запись без контроля (класс 7, опкод 6).
- •Разметка диска
- •Контроллер жестких дисков для ат-подобных пэвм
- •Описание портов ввода-вывода Порт 1f0h
- •Порт 1f1h.
- •Система команд
- •Лабораторная работа №6. Программное тестирование портов для работы с клавиатурой
- •Аппаратное прерывание клавиатуры
- •Средства bios для работы с клавиатурой
- •Чтение символа с ожиданием
- •Проверка буфера на наличие в нем символов
- •Получение состояния переключающих клавиш
- •Установка временных характеристик клавиатуры
- •Запись символов в буфер клавиатуры
- •Чтение символа с ожиданием для 101-клавишной клавиатуры
- •Проверка буфера на наличие в нем символов для 101-клавишной клавиатуры
- •Получение состояния переключающих клавиш для 101-клавишной клавиатуры
- •Лабораторная работа № 7. Тестирование и контроль оперативной памяти.
- •Алгоритм определения объёма оперативной памяти.
- •Сущность тестирования памяти.
- •Алгоритм диагностирования памяти в тесте Memtest86.
- •Лабораторная работа № 8. Программирование принтера. Цель работы: изучение методов программирования принтера.
- •Средства ms-dos для работы с принтером
- •Программирование режимов принтера
- •Установка атрибутов/цветов символов.
- •Сдвиг экрана и страницы.
- •Вертикальный сдвиг текстового экрана.
- •Сдвиг текстового экрана горизонтально.
- •Переключение между текстовыми страницами.
- •Сдвиг между страницами текста.
- •Использование wmi.
- •Аналогичным образом могут использоваться свойства и других классов.
Контроллер жестких дисков для ат-подобных пэвм
IBM PC AT отличается от всех предыдущих моделей IBM PC и совместимых ПЭВМ в следующем:
- стандартный BIOS обеспечивает возможность работы как с накопителями на гибких, так и с накопителями на жестких дисках;
- контроллеры жестких и гибких дисков расположены на одной плате;
- адреса портов ввода-вывода, предназначенных для управления жестким диском, и назначение портов полностью отличаются от ХТ-подобных ПЭВМ.
Возможно подключение к одному ПЭВМ двух жестких дисков. Каждый диск имеет свой набор портов (1F0h-1F7h для первого и 170h-177h для второго). Ниже будут описаны порты только первого диска. Назначение портов второго диска аналогично первому.
Описание портов ввода-вывода Порт 1f0h
Предназначен для обмена данными с внутренним ОЗУ контроллера, являющимся промежуточным звеном между оперативной памятью ПЭВМ и накопителем.
Порт 1f1h.
При чтении через этот порт можно получить информацию о последней возникшей ошибке:
7 6 5 4 3 2 1 0
┌───┬───┬───┬───┬───┬───┬───┬───┐
│ │ │ 0 │ │ 0 │ │ │ │ Бит:
└─┬─┴─┬─┴───┴─┬─┴───┴─┬─┴─┬─┴─┬─┘ ────
│ │ │ │ │ └─>0: 1=адресный маркер данных не
│ │ │ │ │ найден
│ │ │ │ └─────>1: 1=ошибка на нулевой дорожке
│ │ │ └─────────>2: 1=выполнение команды прекра-
│ │ │ щено программно, команда
│ │ │ не завершилась
│ │ └─────────────────>4: 1=идентификатор сектора не
│ │ найден
│ └─────────────────────────>6: 1=неисправимая ошибка в дан-
│ ных, ошибка контрольной
│ суммы
└─────────────────────────────>7: 1=дефектный сектор
Порт 1F2h.
Чтение/запись числа секторов для последующей операции.
Порт 1F3h.
Чтение/запись параметра "номер сектора" для последующей операции.
Порт 1F4h.
Чтение/запись старших битов номера цилиндра для последующей операции (биты 0 - 1 - это биты 8 - 9 в 10-битовом номере цилиндра).
Порт 1F5h.
Чтение/запись младших восьми битов номера цилиндра для последующей операции.
Порт 1F6h.
Чтение/запись номера устройства и головки для последующей операции.
Порт 1F7h (запись).
Вывод команды по управлению накопителем.
Порт 1F7h (чтение).
Чтение состояния накопителя и результатов предыдущей команды:
7 6 5 4 3 2 1 0
┌───┬───┬───┬───┬───┬───┬───┬───┐
│ │ │ │ │ │ │ │ │ Бит:
└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ────
│ │ │ │ │ │ │ └─>0: 1=предыдущая команда завер-
│ │ │ │ │ │ │ шилась с ошибкой
│ │ │ │ │ │ └─────>1: 1=сигнал "индекс"
│ │ │ │ │ └─────────>2: 1=данные при выполнении пос-
│ │ │ │ │ ледней операции были скор-
│ │ │ │ │ ректированы при помощи
│ │ │ │ │ алгоритма ECC
│ │ │ │ └─────────────>3: 1=идет процесс обмена данными
│ │ │ └─────────────────>4: 1=поиск завершен
│ │ └─────────────────────>5: 1=ошибка записи
│ └─────────────────────────>6: 1=устройство готово для чте-
│ ния, записи или поиска
└─────────────────────────────>7: 1=устройство занято выполне-
нием команды ( остальные
биты не несут смысловой
нагрузки)