나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2026-07-20 14:31:23

Programmable Interval Timer


1. 개요2. 상세3. 현대적 관점과 한계4. 관련 문서

1. 개요

Programmable Interval Timer (PIT)는 컴퓨터 시스템, 특히 x86 아키텍처에서 규칙적인 시간 간격(Interval)으로 인터럽트를 발생시키거나 디지털 신호를 생성하기 위해 사용되는 하드웨어 칩이다.

가장 대표적인 칩으로는 인텔82538254가 있다. IBM PC 대두 시점부터 시스템 타이머의 표준으로 자리 잡았으나, 현대 컴퓨터 구조에서는 APIC 타이머, HPET, TSC(Time Stamp Counter) 등에 자리를 넘겨주고 레거시 하드웨어 취급을 받는다.

2. 상세

과거 DOS 시절이나 32비트 운영 체제 커널을 맨땅에서 개발(OS Dev)할 때 시간 측정 및 멀티태스킹 스케줄링을 구현하기 위해 반드시 거쳐야 했던 필수 관문이었다.

주로 I/O 포트 0x40(채널 0), 0x41(채널 1), 0x42(채널 2), 0x43(커맨드 레지스터)을 통해 제어된다. 기본 입력 클럭 주파수가 1.193182 MHz라는 아주 기묘한 숫자로 고정되어 있는데, 이는 과거 NTSC 컬러 TV 신호 주파수 계산과 연계된 하드웨어 비용 절감의 흔적이다.

* 채널 0 (0x40): OS 스케줄러 타이머용 (IRQ 0 인터럽트)
* 채널 1 (0x41): 과거 DRAM 리프레시 타이밍 제어용 (현대에는 미사용)
* 채널 2 (0x42): PC 스피커(비프음) 주파수 제어용

3. 현대적 관점과 한계

현대의 64비트 환경 및 UEFI 전용 시스템 에서는 PIT를 거의 사용하지 않는다.
1. 성능 한계: 입력 클럭이 약 1.19MHz 수준으로 고정되어 있어 마이크로초(µs)나 나노초(ns) 단위의 초정밀 시간 측정이 불가능하다.
2. I/O 병목: 옛날 방식의 I/O 포트(in/out어셈블리 명령어)를 사용하기 때문에 CPU 사이클 낭비가 심하다.

따라서 현대 상용 운영 체제는 CPU 내부에 내장되어 수 GHz 속도로 카운트되는 초정밀 레지스터인 TSC(Time Stamp Counter)Local APIC 타이머를 이용하여 칼같은 정밀도의 Sleep 및 타이밍 시스템을 구현한다.

4. 관련 문서

분류