PCI Bus (Peripheral Component Interconnect Bus)
컴퓨터 메인 보드에 마우스, 키보드와 같은 주변 장치를 장착하는 데 쓰이는 컴퓨터 버스의 일종
1. 빠른 전송속도
33MHz부터 266MHz 이상의 clock cycle
2. 단일화된 인터페이스
CPU와 PCI Bus사이에 System/PCI bus bridge를 설치하여 여러 프로세서를 위한 설계 가능
3. 하나의 Device에 동시에 여러 개의 function을 지원
PCIe (Peripheral Component Interconnect Express)
PCIe 장점
- Bandwidth 증가
- Bus Clock Cycle 증가
- Bus Width 감소
- 회로의 단순화
- PCI Device SW 호환성 증가
PCIe 특징
PCI(병렬 BUS) -----> PCIe(직렬 BUS)
PCI slot을 그대로 사용해 여러개의 slot을 공유하지 않고 1:1로 연결해 사용함
여러 장치를 붙일 경우 PCIe switch를 사용해 다수의 EndDevice를 연결할 수 있도록 함
PCIe 계층 구조
: 5개의 Layer
PCIe 데이터 전송
- Transaction Layer에서 packet 단위의 전송을 위해 packet을 형성하고 Link Layer로 전송한다.
- Link Layer에서 데이터의 신뢰도를 위한 CRC코드를 전달받은 데이터에 삽입한다.
- Physical Layer에서 frame을 붙여 데이터를 추가한 후 128b/130b(Gen3기준) 인코딩을 해 데이터를 전송하기 위해 직렬 data로 변환한다.
이 섹션에서는 PCI Express가 사용되는 시스템 bus인 경우의 PCI Express 레지스터 값에 대해 설명한다. 구현에서는 다른 시스템 bus를 사용할 수 있다. PCI의 파생 모델이 아닌 시스템 bus를 사용하는 경우 이 섹션은 적용되지 않는다(n/a).
이 섹션에서는 NVM Express controller를 위해 PCI 헤더, PCI 기능 및 PCI Express 확장 기능을 구성하는 방법에 대해 자세히 설명한다. 표시된 필드는 해당 PCI 또는 PCI Express 사양과 중복된다. PCI 문서는 이러한 레지스터의 표준 사양이며 이 섹션에서는 NVM Express controller에 대한 추가 요구 사항을 자세히 설명한다.
MSI-X는 권장되는 인터럽트 메커니즘(interrupt mechanism)이다. 그러나 일부 시스템에서 MSI-X를 지원하지 않을 수 있으므로 장치에서 MSI Capability(MSI 기능)와 MSI-X Capability(MSI-X 기능)를 모두 지원하도록 선택할 수 있다.
Implementations는 강력한 오류 처리를 위해 고급 오류 보고 기능을 지원하는 것을 권장한다.