355. PCI (Peripheral Component Interconnect)
핵심 인사이트 (3줄 요약)
- 본질: PCI (Peripheral Component Interconnect)는 CPU (Central Processing Unit) 주변 장치들이 같은 규칙으로 연결되도록 만든 병렬 확장 버스 표준으로, "주변장치 연결의 공용 인터페이스"를 정착시켰다.
- 가치: 장치 자동 인식, 버스 마스터링 (Bus Mastering), 독립 클럭 구조를 통해 ISA (Industry Standard Architecture) 시대의 느린 속도와 수동 설정 부담을 크게 줄였다.
- 판단 포인트: PCI는 1990년대와 2000년대 초반의 범용 확장 표준으로는 매우 성공적이었지만, 공유 병렬 버스의 전기적 한계 때문에 결국 PCIe (PCI Express) 같은 점대점 직렬 인터커넥트로 진화할 수밖에 없었다.
Ⅰ. 개요 및 필요성
PCI는 메인보드의 확장 슬롯과 주변 장치를 연결하는 병렬 로컬 버스 (Local Bus) 규격이다. 핵심 목적은 "CPU 가까이에 있는 고속 확장 장치들을, 제조사와 상관없이 같은 방식으로 꽂아 쓰게 하자"는 데 있다. PCI 이전의 ISA나 EISA (Extended Industry Standard Architecture)는 대역폭이 낮고, 점퍼나 DIP (Dual In-line Package) 스위치로 자원을 수동 설정해야 해 설치와 유지보수가 번거로웠다.
PCI가 필요해진 배경은 두 가지다. 첫째, 그래픽·네트워크·스토리지 장치가 빨라지면서 저속 버스로는 입출력 (I/O, Input/Output) 병목이 심해졌다. 둘째, 장치마다 인터럽트 (IRQ, Interrupt Request), 입출력 주소, 메모리 영역을 직접 맞추는 방식은 대중형 PC (Personal Computer) 시장에 맞지 않았다. PCI는 이 문제를 해결하기 위해 장치 식별, 자원 할당, 데이터 전송을 표준화했다.
이 시기의 중요한 변화는 버스를 단순 배선 묶음이 아니라 "시스템 아키텍처의 계약"으로 본 점이다. CPU가 세대교체되더라도, PCI 버스는 호스트 브리지 (Host Bridge)를 사이에 두고 비교적 안정된 규칙으로 장치를 수용했다. 그래서 PCI는 단지 슬롯 하나가 아니라, PC 호환 생태계를 넓힌 공통 언어였다.
이 그림은 PCI가 CPU와 직접 1:1로 붙는 것이 아니라, 브리지를 통해 독립된 확장 계층을 만드는 구조를 보여준다.
┌──────────────────────────────────────────────────────────────┐
│ PCI가 만든 계층형 확장 구조 │
├──────────────────────────────────────────────────────────────┤
│ CPU 메모리 │
│ │ │ │
│ └──────────┬─────────────┘ │
│ ▼ │
│ 호스트 브리지 (Host Bridge) │
│ │ │
│ ===== PCI Shared Bus ===== │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ 네트워크 카드 사운드 카드 SCSI (Small Computer │
│ System Interface) 카드 │
│ │
│ 의미: CPU 로컬 경로와 확장 장치 경로를 분리해 호환성 확보 │
└──────────────────────────────────────────────────────────────┘
PCI의 강점은 CPU 변화에 장치 전체가 끌려가지 않도록 중간 계층을 둔 데 있다. 덕분에 시스템 설계자는 프로세서 세대와 주변장치 세대를 어느 정도 분리해서 생각할 수 있었다.
- 📢 섹션 요약 비유: PCI는 오래된 동네 골목마다 제각각이던 배관을 걷어내고, 새 아파트 전체에 표준 배관 규격을 깐 일과 같다. 이제 어떤 세입자 장비가 들어와도 연결 규칙만 맞으면 물을 쓸 수 있다.
Ⅱ. 아키텍처 및 핵심 원리
PCI의 핵심은 공유 병렬 버스 + 자동 구성 + 장치 주도 전송의 조합이다. 버스 폭은 주로 32비트 또는 64비트이고, 클럭은 대표적으로 33MHz 또는 66MHz를 사용했다. 예를 들어 32비트·33MHz 조합은 이론상 약 133 MB/s 대역폭을 제공해, ISA보다 훨씬 높은 처리량을 제공했다.
핵심 구성 요소
| 구성 요소 | 역할 | 설계 포인트 |
|---|---|---|
| PCI 슬롯 및 버스선 | 여러 장치가 공용 배선을 공유 | 공유 구조라 경합과 중재 필요 |
| 호스트 브리지 | CPU/메모리와 PCI 영역 연결 | 프로세서 세대 차이를 흡수 |
| 구성 공간 (Configuration Space) | 장치 ID, 자원 요구사항 저장 | BIOS (Basic Input/Output System)와 OS (Operating System)가 자동 인식 |
| 버스 중재기 (Bus Arbiter) | 누가 버스를 쓸지 결정 | 공정성, 지연시간, 우선순위가 중요 |
| 버스 마스터 장치 | DMA (Direct Memory Access)처럼 직접 메모리 접근 | CPU 부하 감소, 고속 I/O 가능 |
PCI 부팅 시에는 BIOS나 OS가 각 슬롯의 구성 공간을 읽어 벤더 ID, 디바이스 ID, 필요 자원을 확인한다. 이후 메모리 매핑 입출력 (Memory-Mapped I/O) 영역이나 인터럽트를 배정해 장치를 활성화한다. 이 과정 덕분에 사용자는 점퍼를 손으로 바꿀 필요 없이 장치를 꽂고 부팅만 하면 된다.
또 하나의 핵심은 버스 마스터링이다. 버스 마스터 장치는 CPU 명령을 매번 기다리지 않고, 중재를 통과하면 스스로 메모리로 데이터를 읽고 쓸 수 있다. 네트워크 카드나 디스크 컨트롤러가 대량 데이터를 옮길 때 CPU 개입을 줄여 전체 시스템 효율을 높이는 이유가 여기에 있다.
이 그림은 PCI 전송이 "장치 요청 → 중재 → 주소/명령 전송 → 데이터 전송" 순서로 진행된다는 점을 압축한다.
┌──────────────────────────────────────────────────────────────┐
│ PCI 트랜잭션 진행 순서 │
├──────────────────────────────────────────────────────────────┤
│ 장치 A 중재기 타깃 장치/메모리 │
│ │ │ │ │
│ │ 버스 요청 │ │ │
│ ├──────────────▶│ │ │
│ │ │ 사용권 부여 │ │
│ │◀──────────────┤ │ │
│ │ 주소/명령 전송│────────────────────▶│ │
│ │ 데이터 전송 │────────────────────▶│ │
│ │ 완료/해제 │ │ │
│ │
│ 핵심: 여러 장치가 선을 공유하므로 중재와 타이밍 규칙이 필수 │
└──────────────────────────────────────────────────────────────┘
PCI는 CPU 클럭에 직접 종속되지 않는 비교적 독립적인 버스 클럭을 사용해 시스템 유연성을 높였다. 하지만 바로 그 공유 구조 때문에, 장치 수가 많아질수록 경합과 지연이 늘어나는 특성도 함께 갖게 되었다.
- 📢 섹션 요약 비유: PCI는 하나의 회의실을 여러 팀이 함께 쓰는 회사와 같다. 예약 시스템이 잘 되어 있으면 효율적이지만, 모두가 동시에 들어오려 하면 결국 시간표와 조정자가 꼭 필요하다.
Ⅲ. 비교 및 연결
PCI를 제대로 이해하려면 앞세대 ISA와 후속 세대 PCIe를 함께 봐야 한다. ISA는 느리지만 단순했고, PCI는 공유 버스를 고속화하며 자동화를 도입했으며, PCIe는 공유 자체를 버리고 점대점 직렬 연결로 넘어갔다. 즉 PCI는 "저속 수동 버스"와 "고속 직렬 인터커넥트" 사이를 잇는 과도기이자 전환점이다.
| 항목 | ISA | PCI | PCIe |
|---|---|---|---|
| 전송 구조 | 저속 병렬 공유 버스 | 고속 병렬 공유 버스 | 직렬 점대점 링크 |
| 장치 설정 | 수동 설정 비중 큼 | 자동 구성 지원 | 자동 구성 지원 |
| 자원 활용 | CPU 개입 큼 | 버스 마스터링 지원 | 고도화된 DMA와 큐 기반 처리 |
| 확장 한계 | 대역폭 부족 | 병렬 배선의 타이밍 한계 | 레인 확장으로 고속화 용이 |
| 대표 시대 | 초기 PC | 1990년대~2000년대 초 | 현대 PC/서버 |
PCI가 성공적이었던 이유는 병렬 버스를 끝까지 밀어붙였기 때문이 아니라, 표준화된 소프트웨어 모델을 만들었기 때문이다. 운영체제는 PCI 구성 공간을 읽어 장치를 탐색하고, 드라이버는 일정한 방식으로 장치를 다루게 되었다. 이 철학은 PCIe에서도 거의 그대로 이어져, 물리 계층은 바뀌어도 소프트웨어 관점에서는 연속성이 유지된다.
반대로 PCI의 한계는 물리 계층에서 드러났다. 버스 폭이 넓어질수록 신호선 길이와 도달 시간이 조금씩 어긋나는 스큐 (Skew), 반사, 잡음 문제가 커졌다. 여러 장치가 하나의 공용 버스를 공유하는 구조도 대역폭을 장치별로 독점 할당하기 어렵게 만들었다. 그래서 고성능 그래픽과 초고속 스토리지 시대에는 PCIe의 직렬 고속 링크가 더 적합했다.
- 📢 섹션 요약 비유: PCI는 잘 정리된 대형 공용 주차장이고, PCIe는 각 차량에 전용 진입로를 준 개인 차고다. 공용 주차장은 관리가 쉽지만 차가 많아질수록 입출차가 막히고, 전용 차고는 더 비싸도 속도와 예측 가능성이 높다.
Ⅳ. 실무 적용 및 기술사 판단
오늘날 새 시스템에서 순수 PCI를 직접 채택하는 일은 드물지만, 실무에서는 여전히 두 가지 맥락에서 중요하다. 첫째는 산업 제어, 계측, 의료기기처럼 오래된 PCI 카드와 드라이버를 계속 써야 하는 레거시 환경이다. 둘째는 현대 인터커넥트 설계를 이해할 때, 버스 마스터링·구성 공간·장치 열거 같은 개념의 출발점을 설명하는 기준점이다.
실무 판단 체크리스트
- 레거시 유지보수인가, 신규 설계인가? 신규 설계라면 PCIe나 USB (Universal Serial Bus) 같은 현대 인터페이스가 우선이다.
- 브리지 사용 시 병목을 감수할 수 있는가? PCI-to-PCIe 브리지는 호환성 확보에는 유용하지만 지연과 호환성 이슈가 추가될 수 있다.
- 버스 마스터 장치의 DMA 경로가 안전한가? 운영체제와 드라이버가 메모리 매핑과 인터럽트를 올바르게 처리해야 한다.
- 공유 버스 특성상 최대 대역폭을 동시에 기대하고 있지 않은가? 여러 고부하 장치가 붙으면 이론치보다 낮은 실효 성능이 나온다.
대표 안티패턴
- PCI 슬롯이 있다고 해서 고대역폭 장치를 여러 개 동시에 붙여도 문제없다고 가정하는 것
- 브리지 카드만 꽂으면 모든 레거시 드라이버가 자동 호환된다고 믿는 것
- 버스 마스터 장치의 DMA 동작을 이해하지 못한 채 인터럽트 지연과 메모리 충돌 문제를 방치하는 것
기술사 관점에서의 판단 문장은 분명하다. PCI는 "현재의 최선"이 아니라 "레거시를 이해하고 연결하기 위한 기준"으로 봐야 한다. 다만 장치 탐색, 자원 배정, 마스터/타깃 개념은 현대 I/O 아키텍처 설명의 뼈대이므로, 단순 구식 규격으로 치부하면 흐름을 놓치게 된다.
- 📢 섹션 요약 비유: PCI는 지금 당장 새로 짓는 고속철이 아니라, 여전히 공장을 움직이는 오래된 산업철도에 가깝다. 최신 노선보다 느리지만, 그 선로를 끊으면 공장 전체가 멈출 수 있어 구조를 정확히 이해해야 한다.
Ⅴ. 기대효과 및 결론
PCI가 남긴 가장 큰 효과는 주변장치 연결을 "표준 부품 산업"으로 바꿨다는 점이다. 제조사는 PCI 규격만 맞추면 다양한 PC에 장치를 공급할 수 있었고, 사용자는 장치 설치를 훨씬 쉽게 경험할 수 있었다. 이 변화는 멀티미디어 카드, 네트워크 카드, 스토리지 컨트롤러 시장을 빠르게 성장시켰다.
동시에 PCI는 한계도 분명하게 보여줬다. 공유 병렬 버스는 일정 세대까지는 경제적이고 실용적이지만, 대역폭 요구가 급격히 커지면 신호 무결성 (Signal Integrity)과 버스 경합이 발목을 잡는다. 바로 그 한계를 통해 업계는 점대점 직렬 인터커넥트, 스위치 구조, 레인 기반 확장이라는 다음 단계의 설계 원리를 배웠다.
따라서 PCI는 "지금도 최고인 기술"이 아니라, 현대 인터커넥트가 어떤 문제를 해결하며 진화했는지를 보여주는 결정적 이정표로 기억하는 것이 맞다. PCI를 이해하면 PCIe, USB, 심지어 장치 가상화 기술까지 더 구조적으로 연결해서 볼 수 있다.
- 📢 섹션 요약 비유: PCI는 오래된 다리이지만, 그 다리 위를 수많은 차량이 건너간 덕분에 사람들은 어디서 막히는지, 다음 다리는 어떻게 지어야 하는지를 배웠다. 후속 기술은 그 실패와 성공을 모두 밟고 자란 셈이다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| 버스 마스터 (Bus Master) | PCI에서 장치가 주도적으로 버스를 점유하고 전송하는 핵심 개념 |
| 버스 중재 (Bus Arbitration) | 공유 버스에서 충돌 없이 사용권을 배분하는 제어 메커니즘 |
| DMA (Direct Memory Access) | PCI 버스 마스터링이 실질 성능 향상으로 이어지는 대표 방식 |
| 노스브리지 (Northbridge) | 전통적 PC 구조에서 CPU/메모리와 PCI 영역을 잇는 연결 축 |
| PCIe (PCI Express) | PCI의 소프트웨어 모델을 계승하면서 물리 구조를 직렬 점대점으로 전환한 후속 규격 |
📈 관련 키워드 및 발전 흐름도
ISA (Industry Standard Architecture) 시대의 저속·수동 확장
│
▼
PCI (Peripheral Component Interconnect)
│ ├─ 자동 구성 (Configuration Space)
│ ├─ 버스 마스터링 (Bus Mastering)
│ └─ 공유 병렬 버스 표준화
▼
고성능 장치 증가 → 버스 경합 · 스큐 문제 확대
│
▼
PCIe (PCI Express) 점대점 직렬 인터커넥트로 진화
이 흐름은 "표준화된 공유 버스의 성공 → 병렬 버스의 물리적 한계 → 직렬 고속 링크로의 전환"이라는 진화 방향을 보여준다.
👶 어린이를 위한 3줄 비유 설명
- PCI는 컴퓨터 안에 있는 여러 부품이 같은 규칙으로 꽂히는 공용 놀이터 입구 같은 거예요.
- 예전에는 장난감마다 문 열쇠가 달라서 들어가기 어려웠는데, PCI는 "이 표준 열쇠만 쓰자"고 약속한 거예요.
- 나중에는 더 빠른 새 길인 PCIe가 나왔지만, 친구들을 한 규칙으로 모이게 만든 건 PCI였답니다.