PCIe 데이터 전송 프로토콜 설명



PCIe 데이터 전송 프로토콜 소개

PCIe Transaction1 프로토콜에 대하여 간략하게 알아보겠습니다. PCIe Transaction 은 4개의 카테고리로 나눠질 수 있습니다. 더 자세한 내용은 Mindshare의 PCIe 문서를 참고해주세요.

  1. memory
  2. IO
  3. Configuration
  4. Message Transaction

1~3 번은 PCI or PCI-X의 아키텍처에서도 지원되지만, 4번은 PCIe 에서 새롭게 지원됩니다. Transaction은 Non-Posted와 Posted로 나눠지게 됩니다.

Not-Posted

Non-Posted는 requester 가 TLP request 패킷을 completer에게 전송합니다. 이후에, completer가 TLP completion 패킷을 requester에게 다시 전송합니다. comepletion TLP의 목적은 requester에게 completer가 request TLP를 잘 받았다고 알려주는 것입니다.

Transaction type 종류는 아래와 같습니다.

  • Memory Read
  • Memory Read Lock
  • IO R/W
  • Configuration R/W

Posted

Posted는 requester 가 TLP request 패킷을 completer에게 전송합니다. 이후에, completer가 TLP completion 패킷을 requester에게 다시 전송하지 않습니다.

Transaction type 종류는 아래와 같습니다.

  • Memory Write
  • Message


PCIe Transaction Protocol Packets Name

TLP request & TLP completion packets 는 아래와 같은 이름을 가지고 있습니다.

TLP 패킷 타입 축약된 이름
Memory Read Request MRd
Memory Read Request - Lock access MRdLk
Memory Write Request MWr
IO Read IORd
IO Write IOWr
Configuration Read (Type 0 or 1) CfgRd0, CfgRd1
Configuration Write (Type 0 or 1) CfgWr0, CfgWr1
Message Request without Data Msg
Message Request with Data MsgD
Completion without Data Cpl
Completion with Data CplD
Completion without Data - associated with Locked Memory Read Requests CplLk
Completion with Data - associated with Locked Memory Read Requests CplDLk

출처

PCIe System Architecture _ MINDSHARE

  1. requester와 completer사이의 정보 전달에서의 하나 이상의 패킷 전송을 말합니다.