2.2.7 内存、I/O和配置请求规则
以下规则适用于所有内存、I/O和配置请求。每种类型的请求还有特定的额外规则。
- 所有内存、I/O和配置请求除了常见的头标字段外,还包括以下字段:
- requester ID[15:0]和Tag[9:0],形成事务ID。
- Last DW BE[3:0] and First DW BE[3:0]。对于设置了TH位的内存读取请求和原子操作请求,头标中Last DW BE[3:0] and First DW BE[3:0]的字节位置被重新用于携带ST[7.0]字段。对于设置了TH位的原子操作请求,DW字节使能位的值被认为是保留的。对于清除了TH位的原子操作请求,DW字节使能位是保留的。
对于内存请求,以下规则适用:
- 内存请求通过地址进行路由,使用64位或32位寻址(见图2-17和图2-18)。
-
对于内存读取请求,长度不得超过Max_Read_Request_Size指定的值。
-
对于原子操作请求,表2-12中指定了架构操作数大小及其关联的长度字段值。如果完成器支持原子操作,以下规则适用:完成器必须检查长度字段值,如果该值与架构值不匹配,完成器必须将TLP视为畸形TLP。否则,如果该值与完成器支持的操作数大小不匹配,完成器必须将TLP视为不支持的请求(UR)。这是一个与接收端口相关联的报告错误。