В РС ХТ аппаратная конфигурация РС (объем памяти, количество и типы дисководов, тип видеоподсистемы и т. п.) задавались 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 - секунды будильника |
0Ah |
RTC Status Register А (регистр состояния)Бит 7 - обновление времени (0- готов к чтению) Биты 6:4 - делитель частоты )для 32,768 КГц = 010 Биты 3:0 = 0110 - выходная частота меандра 1024 Гц |
0Bh |
RTC Status Register B ( регистр состояния)бит 7 - остановка часов (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-памяти защищается от ошибок?
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.