PCIe进阶之TL:Memory, I/O, and Configuration Request Rules & TPH Rules

芯芯之火,可以燎原 2024-09-16 15:01:01 阅读 52

1 Memory, I/O, and Configuration Request Rules

下述规则适用于 Memory 请求、IO 请求和配置请求。

除了公共的 header 字段外,所有 Memory 请求、IO 请求和配置请求还包括以下字段:

(1)Requester ID[15:0] 和 Tag[9:0],组成了 Transaction ID 。

(2)Last DW BE[3:0]和 1st DW BE[3:0]字段。对于 TH 字段置 1 的 Memory Read Request 和 AtomicOp Request,header 中的Last DW BE[3:0]和 1st DW BE[3:0]字段被重新用于携带 ST [7:0]字段 。对于 TH 字段设置为 0 的 Memory Read Request,请参见 First/Last DW Byte Enable 的规则。 对于 TH 字段置 1 的 AtomicOp Request,DW BE 字段的值隐含为保留值。对于 TH 字段设置为 0 的 AtomicOp Request,DW BE 字段为保留值。

1.1.1 Memory Request Rules

Memory Request 采用地址路由,有 32bit 地址格式和 64bit 地址格式,见下图。

在这里插入图片描述

Memory Read Request 的 Length 字段的值不能超过 Max_Read_Request_Size。

对于 AtomicOp Request,下图指定了架构化的操作数大小及其关联的 Length 字段值。完成者必须检查 Length 字段值。如果该值与设计值不匹配,则完成者必须将 TLP 作为 Malformed TLP 处理。否则,如果该值与完成者支持的操作数大小不匹配,则完成者必须将 TLP 作为不支持的请求(UR)处理。

(1)FetchAdd Request 包含一个操作数,即要“ add”的值。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。