Программируемый таймер, программируемый интервальный таймер (англ. programmable interval timer, PIT) — в вычислительной технике и во встроенных компьютерных системах представляет собой счетчик, который генерирует сигнал при достижении запрограммированного значения. Выходной сигнал PIT может вызвать прерывание.

Общие черты

править

PIT могут быть однократными (одноразовыми) или периодическими. Одноразовые таймеры подадут сигнал только один раз, а затем прекратят отсчет. Периодические таймеры сигнализируют каждый раз, когда они достигают определенного значения, а затем перезапускаются, таким образом создавая периодический сигнал через равные промежутки времени. Периодические таймеры обычно используются для запуска действий, которые должны выполняться регулярно через равные промежутки времени.

Счетчики PIT обычно программируются с фиксированными интервалами, которые определяют, как долго таймер будет считать, прежде чем выдаст сигнал.

PIT в IBM PC и совместимых с ним компьютерах

править

В компьютерах, совместимых с IBM PC, первым PIT был таймер в Intel 8253. Это было оригинальное устройство синхронизации, которое использовало тактовый сигнал 1,193182 МГц (это 1/3 частоты цветовой синхронизации[англ.] видеосигнала NTSC, 1/12 частоты системного кварцевого генератора[1], а также одна четверть тактовой частоты процессора 4,77 МГц) и содержит три таймера. Таймер 0 используется в Microsoft Windows (однопроцессорный) и Linux в качестве системного таймера, таймер 1 исторически использовался для динамического обновления оперативной памяти, а таймер 2 — для динамика ПК[2].

LAPIC в новых компьютерных системах Intel предлагает таймер с более высоким разрешением (одна микросекунда)[3]. Этот таймер используется вместо таймера PIT в ядрах Linux, начиная с версии 2.6.18[4].

См. также

править

Примечания

править
  1. The Programmable Interval Timer. Bran's Kernel Development Tutorial. Osdever.net. Дата обращения: 30 октября 2013.
  2. Programmable Interval Timer (англ.). OSDev Wiki (26 июня 2012). Дата обращения: 30 октября 2013.
  3. Walter U. μ-second precision timer support for the Linux kernel. / Uwe Walter, Vincent Oberle. — 4 p.
  4. Determining and changing the rate of timer interrupts a guest operating system requests : KB1005802. / VMware.

Ссылки

править