Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
24879.rtf
Скачиваний:
31
Добавлен:
24.11.2019
Размер:
2.83 Mб
Скачать

1.4.5.4) Подсистема cmos-памяти и часов реального времени rtc

В РС ХТ аппаратная конфигурация РС (объем памяти, количество и типы дисководов, тип видеоподсистемы и т. п.) задавались DIP-переключателями, состояние которых опрашивалось системой BIOS перед выполнением POST-программы. При изменении аппаратной конфигурации (реконфигурировании АПС) требовалось изменять состояние этих переключателей на системной плате вручную, что не просто, т. к. их назначение и расположение на системной плате специфично для каждого ее типа. В РС/АТ, для хранения подобной информации, состав которой, кстати, заметно расширился, ввели специальную микросхему памяти небольшого объема, питание которой при выключенном компьютере осуществляется от специальной батарейки или аккумулятора. В ту же микросхему поместили и часы-календарь (чтобы часы не останавливались, когда компьютер выключен). А чтобы снизить потребление мощности от батарейки, выбрали структуру КМОП (CMOS – Complimentary Metal-Oxide-Semiconductor – комплиментарный полупроводник, выполненный по металло-оксидной технологии на полевых транзисторах). Эта память и часы – CMOS Memory and Real Time Clock (RTC) стали стандартным элементом архитектуры РС/АТ. Содержимое этой памяти, время и дату модифицировали сначала с помощью внешней загружаемой утилиты SetUp, а позже эту утилиту встроили в BIOS. Эта микросхема CMOS RTC имеет встроенную систему контроля питания, отслеживающую разряд батареи ниже допустимого уровня. При разряженной батарее BIOS при загрузке ОС выводит на монитор сообщение типа:

CMOS battery state low

CMOS display type mismatch

RUN SETUP UTILITY

Press <F1> to RESUME

(низкое напряжение батареи питания CMОS-памяти. Содержимое CMOS-памяти неправильно. Запустите утилиту SETUP. Нажмите F1 для ее вызова).

Отсутствие ошибок в CMOS-памяти, проверяет BIOS при загрузке ОС, с помощью контрольной суммы, формирующейся при модификации содержимого CMOS-памяти и хранящейся в ней же.

Доступ к ячейкам CMOS RTC осуществляется CPU через порты ввода-вывода 70h (адрес ячейки) и 71h (данные).

Назначение ячеек SMOS RTC приведено в таблице 1.5.

Таблица 1.5. Стандартное назначение ячеек CMOS RTC.

Адрес

Назначение

00 - 09h

Ячейки RTC в BCD-формате:

00 – секунды

01 – секунды будильника

02 – минуты

03 – минуты будильника

04 – часы

05 – часы будильника

06 – день недели

07 – день месяца

08 – месяц

09 – год (2 младшие цифры)

0Ah

RTC Status Register А (регистр состояния)

Бит 7 – обновление времени (0- готов к чтению)

Биты 6:4 – делитель частоты )для 32,768 КГц = 010

Биты 3:0 = 0110 – выходная частота меандра 1024 Гц

0Bh

RTC Status Register B (регистр состояния)

бит 7 – остановка часов (0= нормальный ход)

бит 6 – разрешение прерываний (0= запрещено)

бит 5 – разрешение прерываний от будильника (0= запрещено)

бит 4 - разрешение прерываний по окончании смены времени (0=запрещено)

бит 3 – разрешение выходного меандра (0=запрещено)

бит2 – формат BIN/BCD#

бит 1 – 24/12# -часовой режим

бит 0 – зимнее/летнее время (0= переключение запрещено)

0Ch

RTC Status Register C – флаги прерываний:

бит 7 – IRQF – общий запрос прерываний

бит 6 – PF – периодические прерывания

бит 5 – AF – прерывание от будильника

бит 4 – UF – прерывание по смене времени

биты 3 – 0 – зарезервированы

0Dh

RTC Status Register D

Бит 7 – питание (1 – норма, 0 – разряд)

Биты 6:0 - зарезервированы

0Eh

POST Diagnostic Status Byte^

Бит 7 – power Lost (терялось питание CMOS)

Бит 6 – Checksum Bad

Бит 5 – Bad config

Бит 4 – RAM Size Error – определенный тестом размер ОЗУ не соответствует записи в CMOS

Бит 3 – HDD Error

Бит 2 – Time Valid- формальная ошибка часов-календаря (напр. 30 февраля, 25 часов)

Биты 1:0 – зарезервированы

0F

Shutdown Codeиспользуется POST для определения предыстории останова:

00 – аппаратный или программный сброс

01 – размер памяти определен

02 – тест памяти прошел

03 – ошибка в тесте памяти

04 – POST завершен, идет загрузка системы

05 – JMP FAR [0%0467h] с инициализацией контроллера прерываний

06 – тест защищенного режима прошел

07 – ошибка в тесте защищенного режима

08 – ошибка определения размера памяти

09 – перемещен блок Extended Memory (INT 15h)

0A – JMP FAR [0^0647h] без инициализации контроллера прерываний

0В – используется 80386

10h

Типы НГМД:

Биты 7:4 – дисковод А

Биты 3:0 – дисковод В

0= нет, 1 = 360 Кбайт, 2 = 1,2 Мбайт, 3 = 720 Кбайт, 4 = 1,44Мбайт

11h

Зарезервирован

12h

Типы НЖМД:

Биты 7:4 – привод 0

Биты 3:0 – привод 1

0 = нет, 1 – Eh = типы 1 – 14, Fh = тип в байте 19h (для второго привода – в 1Ah)

13h

Зарезервирован

14h

Установленное оборудование:

Биты 7:6 – количество НГМД (00 = 1, 01 = 2)

Биты 5:4 – тип первичного видеоадаптера (00 = RGA или VGA, 01 = CGA 40 столбцов, 10 = CGA 80 столбцов,

11 = MDA 80 столбцов)

Биты 3:2 – зарезервированы

Бит 1 = 1 – математический сопроцессор подключен

Бит 0 = 1 – есть НГМД

15 – 16h

Размер базовой памяти, Кбайт (Low/High) 0280h = 640Кбайт

17 – 18h

Размер расширенной памяти, Кбайт (Low/High)

19, 1Ah

Расширенный тип диска C, D

1B – 2Dh

Зарезервированы

2E – 2Fh

Контрольная сумма CMOS c 10h по 20h (High/Low)

30n – 31h

Реальный размер расширенной памяти, Кбайт(Low/High)

32 – 33h

Используются в PS/2

33h

Флаги POST:

Бит 7 – наличие 128 Кбайт ОЗУ под границей 1 Мбайт (1 = есть, теневая память доступна)

Бит 6 – флаг SetUp (1 = первая загрузка после выполнения флаг SetUp, обычно = 0)

34 – 3Fh

Зарезервированы (можно писать свою информацию для привязки ПО к машине)

38 – 3Fh

В PS/2 – пароль, доступ по несуществующим адресам 78 -7Fh

Cвободные ячейки CMOS RTC 34-3Fh иногда используют для привязки программного обеспечения к конкретному компьютеру, которая выполняется в процессе инсталляции ПО. В этом случае, если не сохранять образ CMOS-памяти на диске, то, при разрушении информации в CMOS, право на использование данного ПО в данном компьютере потеряется.

Контрольные вопросы.

1. Как задавались параметры аппаратной конфигурации в РС/ХТ?

2. Где хранятся параметры конфигурации в РС\АТ?

3. Почему для CMOS RTC используются КМОП-структуры?

4. Как осуществляется доступ к ячейкам CMOS-памяти?

5. Как модифицируется содержимое CMOS-памяти?

6. Каким способом информация CMOS-памяти защищается от ошибок?

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