Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

00h - 0Dh - область часов реального времени




00h - 0Dh - область часов реального времени

Для варианта №6, Лабораторной работы №2 – Написать программу, извлекающую текущее время и дату из области CMOS и отображающую эту информацю на экране в реальном времени.

 

Ячейки с адресами 00h - 0Dh используются часами реального времени.

 

0Eh - байт диагностики

Для варианта №7, Лабораторной работы №2 –Определить состоние байта диагностики из области CMOS (0Eh) и написать программу, анализирующую возможные неисправности в системе.

 

Байт диагностики содержит результаты выполнения диагностики при включении питания компьютера. Выполнив анализ содержимого байта 0Eh, программа может выявить неисправность НМД, часов реального времени, разрядку аккумулятора и ошибки в конфигурации. Приведем формат этого байта:

 

Бит Описание
0-1 Не используется, равно 0
0 - неправильная установка часов реального времени; 1 - часы реального времени установлены правильно
0 - НМД исправен; 1 - неисправность НМД, невозможно загрузить операционную систему с жесткого диска
0 - размер оперативной памяти указан правильно; 1 - фактический размер оперативной памяти не соответствует указанному в памяти CMOS

 

0 - конфигурация указана правильно; 1 – ошибка в конфигурации системы, фактическая конфигурация не соответствует указанной в байте конфигурации оборудования (ячейка 14h)
0 - контрольная сумма памяти CMOS правильная; 1 - ошибка в контрольной сумме памяти CMOS
0 – аккумулятор, питающий память CMOS, исправен и заряжен; 1 - разрядка аккумулятора выше нормы

 

10h - тип НГМД

Для варианта №8, Лабораторной работы №2 –Определить количество и тип установленных накопителей на гибких магнитных дисках (НГМД).

 

Младшая и старшая тетрады этого байта описывают, соответственно, второй и первый НГМД:

 

Значение Емкость, Кбайт Диаметр Количество секторов на одну дорожку Количество дорожек
НГМД не установлен - - -
5, 25"
5, 25"
3, 5"
3, 5"

12h - тип НМД C: и D:

Для варианта №1, Лабораторной работы №2 –Определить наличие и тип установленного в системе накопителя на жестких магнитных дисках (НЖМД).

 

Этот байт разделен на две тетрады аналогично байту, который описывает НГМД. Однако в тетраде можно закодировать только 16 значений, а различных типов НМД значительно больше. Поэтому тип 15 используется специальным образом - если тип НМД в младшей тетраде (диск C: ) равен 15, то правильное значение типа находится в CMOS-памяти по адресу 19h. Аналогично для диска D: этот тип можно взять из байта по адресу 1Ah (если содержимое старшей тетрады байта с адресом 12h равно 15).

 

Если в вашем компьютере установлен НМД с интерфейсом ESDI, SCSI или другим специализированным интерфейсом, то, как правило, для работы с ними используется специальная " дисковая" базовая система ввода/вывода. Соответствующая микросхема ПЗУ может быть расположена непосредственно в контроллере. При этом в CMOS-памяти в ячейке 12h для типа диска может быть указано нулевое значение, несмотря на то, что диск установлен. Прерывание INT 11h , тем не менее, скажет вам, что в системе имеется НМД.

 

Если используется " дисковая" базовая система ввода/вывода, то она сама инициализирует таблицу параметров диска и выполняет обработку прерывания INT 13h. Так как MS-DOS при обращении к дискам использует именно это прерывание, то не возникает никаких проблем, связанных с отсутствием типа диска в CMOS-памяти. Другие операционные системы, такие как Windows NT и OS/2, используют для работы с дисками специальные драйверы.

 

Приведем сокращенную таблицу параметров для стандартных типов НМД (зависит от версии BIOS):

 

Тип Количество цилиндров Количество головок Емкость диска в байтах
10. 653. 696
21. 411. 840
32. 117. 760
65. 454. 080
49. 090. 560
21. 411. 840
32. 169. 984
31. 900. 160
117. 504. 000
21. 411. 840
37. 209. 600
52. 093. 440
21. 307. 392
44. 660. 224
21. 307. 392
42. 519. 040
59. 526. 656
62. 390. 272
31. 900. 160
44. 660. 224
31. 900. 160
10. 653. 696
42. 519. 040
80. 216. 064
74. 575. 872
117. 190. 656
159. 805. 440
71. 303. 168
98. 041. 856
87. 892. 992
72. 460. 800
89. 128. 960
106. 954. 752
115. 867. 648
124. 780. 544
17. 825. 792
142. 606. 336
119. 854. 080
42. 823. 680

 

Для всех приведенных в таблице типов дисков на одной дорожке располагается 17 секторов.

Стандартный компьютер IBM PC/XT комплектуется обычно НМД с типом 1, тип 2 используется в стандартном компьютере IBM PC/AT. Остальные типы НМД используются главным образом старыми версиями BIOS.

 

Таблицы параметров НМД и НГМД

 

Для работы с диском на физическом уровне необходимо знать такие его характеристики, как количество головок, секторов и др. Эти характеристики можно определить из таблиц параметров НГМД и НМД, заполняемых BIOS в процессе инициализации системы.

 

Анализируя содержимое CMOS-памяти в компьютерах IBM PC/AT или установку переключателей конфигурации на основной плате в компьютерах IBM PC и IBM PC/XT, BIOS в процессе инициализации создает таблицу параметров дискеты DPT (Diskette Parameter Table ), а также одну или две таблицы параметров жесткого диска HDPT (Hard Disk Parameter Table). Если имеется специальная " дисковая" система ввода/вывода, то она сама создает таблицы HDPT.

 

Таблица параметров дискеты DPT имеет длину 10 байт, ее адрес располагается в области данных BIOS по адресу 0000h: 0078h, что соответствует вектору прерывания INT 1Eh. Таблица содержит следующие параметры:

 

Смещение, байт Размер, байт Имя поля Описание
srt_hut Биты 0... 3: SRT (Step Rate Time) - задержка для переключения головок, лежит в пределах 1 - 16 мс и задается с интервалом 1 мс (0Fh - 1 мс, 0Eh - 2 мс, 0Dh - 3 мс, ... ). Биты 4... 7: Задержка разгрузки головки, лежит в пределах 16 - 240 мс и задается с интервалом 16 мс (1 - 16 мс, 2 - 32 мс, ..., 0Fh - 240 mc)
dma_hlt Бит 0: Значение этого бита, равное 1, говорит о том, что используется прямой доступ к памяти; Биты 2... 7: Время загрузки головок HLT - интервал между сигналом загрузки головок и началом операции чтения или записи, лежит в пределах 2 - 254 мс и задается с интервалом 2 мс (1 - 2 мс, 2 - 4 мс, ..., 0FFh - 254 мс)
motor_w Задержка перед выключением двигателя
sec_size Код размера сектора в байтах: 0 - 128; 1 - 256; 2 - 512; 3 - 1024
eot Номер последнего сектора на дорожке
gap_rw Длина межсекторного промежутка для чтения или записи
dtl Максимальная длина передаваемых данных. Используется, когда не задана длина сектора
gap_f Длина межсекторного промежутка для операции форматирования
fill_char Байт-заполнитель для форматирования, обычно используется F6h
hst Время установки головки в мс
mot_start Время запуска двигателя в 1/8 долях секунды

Все времена зависят от частоты тактового генератора контроллера НГМД, приведенные значения соответствуют частоте 8 МГц.

 

Адреса таблиц параметров жестких дисков HDPT расположены по адресам, соответствующим векторам прерываний INT 41h (для первого физического диска) и INT 46h (для второго физического диска). Эти таблицы имеют следующий формат:


 

Смещение, байт Размер, байт Имя поля Описание
max_cyl Максимальное количество дорожек на диске
max_head Максимальное количество магнитных головок
srwcc Начальная дорожка для предварительной записи (Starting reduced-write current cylinder)
swpc Начальная дорожка для предварительной компенсации при записи (Starting write precompensation cylinder)
max_ecc Максимальная длина блока коррекции ошибок ECC (Maximum ECC data burst length)
dstopt Параметры устройства: бит 7 - запрет восстановления; бит 6 - запрет восстановления по блоку коррекции ошибок ECC (Error Correction Code); биты 2-0 - дополнительные параметры устройства
st_del Стандартная величина задержки
fm_del Величина задержки для форматирования диска
chk_del Величина задержки для проверки диска
reserve Зарезервировано

 

Наиболее полезная информация, которую можно извлечь из таблицы параметров дискеты - это код размера сектора. Если вам когда-либо придется работать с нестандартным размером сектора (отличным от 512 байт), вам не обойтись без этой таблицы.

 

Таблица параметров жесткого диска содержит такие важнейшие значения, как максимальное количество дорожек и максимальное количество головок. Если вам не удалось определить тип диска, то таблица HDPT - единственное надежное место, откуда можно получить информацию о количестве дорожек и головок.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...