PCIe 란? PCIe 개요



쉽게 PCIe를 이해할 수 있게 간략한 개념을 적어보았습니다.

PCIe 란?

PCIe 는 범용 목적의 고속 serial I/O bus

PCIe Layer

아래의 이미지는 PCIe Layer의 이미지입니다. image

image


PCIe Interface - Electrical Pythsical Layer 개념들

De-Emphasis & Pre-Emphasis

  • De-emphasis : lowering low frequency
  • Pre-emphasis : higher high frequency

Eye Diagram

  • Power on 이나 Reset 시점부터 Link가 정상적인 패킷 교환(normal packet traffic)이 진행 될 수 있도록 L0이 될 때 까지 device의 layer, port, link에 관련된 것들을 초기화하는 Physical Layer Control Process.
  • 하드웨어에 의해 초기화되고, LTSSM(Link Traning & Status State Machine)에 의해 manage됨
  • Signal Quality를 향상시키기 위하여 각 Lane의 Transmitter 및 Receiver를 설정
  • LTSSM과 관련된 Lane 들은 반드시 Equalization 에 참여해야 함
  • 첫 번째 Data Change(8.0GT/s data rate) 에서 수행되야 함

4개의 Equalization Process

  • Phase 0 : Gen1(2.5GT/s data rate)에서 시작, TxEQ Preset과 함께 속도 변환 요청. Preset은 device 가 처음 GEN3(8.0GT/s data rate)로 올라갈 때 사용
  • Phase 1 : 서로의 Equalization Capability 공유
  • Phase 2 : Host의 TX Equalization을 조정
  • Phase 3 : Device의 Tx EQualization을 조정
  • 두 PCIe 디바이스는 Lane의 극성, 링크 혹은 레인의 개수, Equalization, 데이터 속도 등과 같은 요소들을 포함한 다수의 링크 파라미터들과 협상하기 위해 Training Sequences들을 교환
  • 아래와 같은 11개의 state 간의 flow 가 존재

image

Detect

  • Reset 후의 initial state
  • Link 끝단의 Receiver의 존재를 감지하는 것이 목적
  • Detect.Quiet : Transmitter가 Electrical Idle 상태에 진입했을 때
  • Detect.Active : Receiver가 연결되어있는지 확인하기 위해 Common Mode Voltage Setting을 통해 각 lane의 연결을 체크

Polling

  • Bit lock, Symbol lock, Lane Polarity 등의 정보 공유
  • Polling.Active :
  • Polling.Compliance :

Configuration

  • Link number negotiation, Lane number negotiation 과 같은 condition들을 설정한다.
  • Port connect와 그것을 위한 Lane number 들의 assign

Recovery

  • 이 단계에서 Transmitter와 Receiver는 설정된 link와 lane number, data rate를 서로 주고 받음
  • Operation data rate 변경
  • L1 state에서 L0 state로 전환할 때 Recovery 필요
  • L0 state에서 high speed로 전환 가능할 때, Link speed/width change 요청

L0

  • Data 나 Control Packet을 주고받을 수 있는 Normal operation state
  • 모든 Power management state는 L0 으로 부터 진입

Disabled

  • Disabled state 진입 후, state 변경이나 Electrical Idle 이 해제될 때 까지 configured 된 link를 disabled 하기 위한 목적

Loopback

  • Normal operation에서는 사용하지 않는 test용 state

출처

  • http://hardwareverification.weebly.com/pci—express-architecture.html
  • http://ssu1945.egloos.com/4007260
  • https://blog.asset-intertech.com/test_data_out/2016/11/using-embedded-run-control-for-pcie-link-training-testing.html