PCIe 데이터 전송 프로토콜 소개
PCIe Transaction1 프로토콜에 대하여 간략하게 알아보겠습니다. PCIe Transaction 은 4개의 카테고리로 나눠질 수 있습니다. 더 자세한 내용은 Mindshare의 PCIe 문서를 참고해주세요.
- memory
- IO
- Configuration
- 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
-
requester와 completer사이의 정보 전달에서의 하나 이상의 패킷 전송을 말합니다. ↩
PREVIOUSPCIe 구조 및 특징 정리