КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера

также регистр OAh) — разрешение выходного меандра (0 — запрещено); бит 2 — формат BCD/BIN (0 — BCD); бит 1 — 12/24-часовой режим (1 — 24-часовой); бит 0 — зимнее/летнее время (О — переключение запрещено)
OCh
RTC Status Register С (регистр статуса С): чтение флагов идентификаторов
прерывания: бит 7 — IRQF (общий запрос прерывания); бит 6 — PF (периодические прерывания); бит 5 — AF (прерывание от будильника); бит 4 — UF (прерывание по окончании смены времени); биты [3:0] — зарезервированы
ODh
RTC Status Register D (регистр статуса D): бит 7 — питание (1 — норма,
0 — разрядбатареи); биты [6:0] —зарезервированы
Аппаратные таймеры имеют поддержку функциями BIOS (подробнее см. [1,8,9]). Сервисы BIOS Int I Ah позволяют считывать и модифицировать значения систем¬ного таймера (ячейки 40:006Eh в BIOS Data Area ), а также даты, времени и бу¬дильника CMOS RTC.
Функции BIOS Int 15 h позволяют с помощью CMOS RTC вводить задержку или запускать таймер установки флага (через заданное время установить бит 7 ука¬занной ячейки памяти). Время задается в микросекундах, но минимальная вы¬держка зависит от производительности ПК (достижимы единицы миллисекунд), максимальная выдержка — около 70 часов.
Начиная с процессоров Pentium, появилась возможность измерения времени с точ¬ностью до такта ядра процессора. Для этого процессоры имеют внутренний 64-битный счетчик TSC (Time Stamp Counter), обнуляющийся по аппаратному сбросу (сигналом RESET*). Разрядность позволяет считать без переполнения в течение не¬скольких столетий. Для доступа к счетчику имеется специальная инструкция RDTSC, правда, установкой флага TSD в управляющем регистре CR4 (процессора) ОС мо-жет сделать ее привилегированной (доступной только на нулевом уровне приви¬легий). В этом случае приложение, исполняемое на уровне 3, может аварийно за¬вершаться по отказу исполнения инструкции. ОС может и позволить обращение к этому регистру, но «подсовывая» программе угодное ей значение времени. За¬метим, что из-за внутреннего умножения частоты в процессоре результат чтения счетчика может отставать от реального времени на число, достигающее коэффи¬циента умножения частоты.

Hosted by uCoz