System address map
□ 系统中每个Requester(包括RN和HN)必须有一个System Address Map(SAM)来决定一个request的target ID;
□ SAM的范围可能只是简单的为所有发送的requests提供一个固定的node ID
□ SAM具体的结构和格式是由具体实现决定的
□ SAM必须可以对全地址空间进行解码;
□ CHI协议建议所有没有对应物理组件的地址都应该分配个一个agent,该agent可以对这些无用地址的访问提供恰当的error响应,这个agent一般在MN处做处理;
Node ID
□ 每一个连接到总线Port的组件都会被分配至少一个node ID
□ 一个Port可以有多个node IDs,但是一个node ID只能分配给一个Port
□ CHI协议支持的NodeID域宽在7~11bits之间可变,由具体实现决定,且一个系统中所有组件的NodeID域宽必须一样;
Target ID determination
本节描述对于不同的message types,如何决定target ID。可以从request messages、response messages和snoop request messages三个方面来阐述。
Target ID determination for Request messages
□ 为了对RN的request的TgtID进行映射,CHI协议要求SAM逻辑应该在RN或ICN中实现。如果在ICN中,ICN可能会对RN发送的Request packet的TgtID进行remap;
□ 对于retryack, request的TgtID是由RetryAck的SrcID决定的,即原始request的TgtID;
□ For PCrdReturn, RN发送该命令的TgtID必须等于PCrdGrant中提供的SrcID
□ DVMOp的tgtid是通过其opcode决定的;
□ PrefetchTgt always targets a Subordinate Node
□ 其他request的tgtid通过地址映射决定;
□ Table 3-1 Source of response packet target ID描述了各类响应,其tgtid的生成来源;
Snoop Request messages的Target ID的确定:
□ Snoop request没有包含TgtID,协议没有定义snoop request的TgtID,是由实现具体实现的机制。(onehot的指示,或者增加tgtid域段)
□ Network layer flow examples略过,各个id转移的章节已经描述