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”的值。