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

    xiaoxiao2021-03-25  123

    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

    转载请注明原文地址: https://ju.6miu.com/read-13666.html

    最新回复(0)