PCIe学习笔记(4)---PCIe的层次结构--TRANSACTION LAYER

来源:互联网 发布:单片机与嵌入式的联系 编辑:程序博客网 时间:2024/06/10 05:07

1. PCIE分为下列层次:

DEVICE CORE/SOFTWARE LAYER

TRANSACTION

DATA LINK

PHYSICAL


2.

DEVICE CORE/SOFTWARE LAYER

这一次,其实就是具体的功能层,例如,网卡的功能,这就需要网卡的硬件部分以及网卡的驱动


3.

TRANSACTION LAYER

有四种REQUEST

MEMORY,IO,CONFIGURATION(前三种,PCI/PCI-X也有),MESSAGE(这种是只有PCIE才新增的)


4.

POSTED与NON-POSTED的区分

NON-POSTED:就是需要有COMPLETION的

反之,POSTED:就是发出去后,没有COMPLETION的


MEM-READ, IO,CONFIGURATION都是NON-POSTED的

MEM-WR,MESSAGE都是POSTED


5.

ECRC--TL

原来是END TO END CRC的意思

ECRC只在目标端检测,在路径当中的SWITCH可检测与报告,但不能改动TLP中的ECRC


6.

LCRC--DLL

LINK CRC的意思

LCRC只在LINK之间,就是PORT与PORT这间


7.

DEVICE CORE/SOFTWARE LAYER: DATA

TL: HEADER + DATA + ECRC

DLL: SEQUENCE NUM + HEADER + DATA + ECRC + LCRC

PHY L: START + SEQUENCE NUM + HEADER + DATA + ECRC + LCRC + END


8.

BDF: BUS,DEVICE,FUNCTION

是作为MEM READ返回的目标的


PCIE中还多了一个TAG

BDF+TAG


9.

LOCK-READ的用途

READ-MODIFY-WRITE如SEM

只有CPU/ROOT COMPLEX才有使用LOCK-READ的权利


10.

NON-POSTED

意思中有,只有上一次的REQUEST被正确执行了,才能做下一次的REQUEST

也只有CPU/PROCESSOR才有NON-POSTED的权利


11.

MESSAGE

替代了原来PCI中的SIDEBAND

用作,中断,电源管理,以及错误统计


12.

QoS


TC: TRAFFIC CLASS, 三个BIT来表示

对应的有

VC: VIRTUAL CHANNEL, 就是BUFFER


SWTICH在INPUT PORTS之间,也有权重之分


13.

TRANSACTION ODERING

只在相同的VC之间有关系

如果TC/VC不同,则没有ORDERING的关系


14.

DLLP是用来做FLOW CONTROL的

有两种DLLP

FLOW CONTROL DLLP

FLOW CONTROL UPDATE DLLP


类似USB3中的LCRD






0 0