本节描述系统一致性接口信号,用于控制RN-F是否支持Coherency和DVMdomain,以及RN-D是否支持DVM domain。
作者:谷公子
一、Overview
系统一致性接口信号有两根:
- SYSCOREQ:Master coherency request.
- SYSCOACK:Interconnect coherency acknowledge.
图1为系统一致性接口信号连接图。
图1 System coherency interface signals
注意:在本章中,除非特别说明,不然描述一致性的话,都是包含DVM domain,描述snoop操作都是包含SnpDVMOp。
二、Handshake
Request Node(RN-F or RN-D)通过将SYSCOREQ设置为高,表示参与系统一致性;ICN通过将SYSCOACK信号拉高表示使能一致性。
Request Node(RN-F or RN-D)通过将SYSCOREQ设置为低,表示不参与系统一致性;ICN通过将SYSCOACK信号拉低表示不使能一致性。
是否参与一致性都是由Request Node发起的,图2为系统一致性接口握手时序图。
图2 System coherency interface handshake timing
如图2中所示,系统一致性接口信号遵循四个相位握手规则:SYSCOREQ只有和SYSCOACK在同一个逻辑电平下才能改变;SYSCOACK只有和SYSCOREQ在相反逻辑电平下才能改变。
2.1 RN rules
对于图2中,RN必须:
- 当SYSCOREQ在t1时为变为1后,就有能力服务snoop requests;
- 直到SYSCOACK在t2变为高后,才能允许发送支持cache缓存数据的transactions;
- 在SYSCOREQ在t3变为低之前,确保所有允许cache缓存数据的transactions都完成了;SYSCOREQ只有在以下操作完成后才能变为低:1. 所有读操作的数据已经接收到;2. 所有CopyBack操作的写数据已经发送完;3. 所有snoop或Forward snoop的数据都已经完成了;
- SYSCOACK在t4变低之前,仍可以接收snoop requests命令;
在系统一致性连接转换中,SACTIVE必须置位来保证SYSCOACK转换可以发生;
注意:支持cache缓存数据的transactions有:ReadUnique,ReadClean,ReadNotSharedDirty,ReadShared,CleanUnique,MakeUnique。
2.2 Interconnect rules
图2所示,interconnect必须:
- 当它采样到SYSCOREQ变为高,当它在t2设置SYSCOACK为高时必须有能力服务一致性数据访问;
- 当它采样到SYSCOREQ变为低,在t4将SYSCOACK设置为低之前必须完成所有的snoop访问请求。
2.3 Protocol states
表1为接口状态和在不同状态下master必须遵守的规则。
表1 System coherency interface states
————————————————
版权声明:本文为CSDN博主「谷公子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/W1Z1Q/article/details/104227851
CHI系列篇
更多AMBA CHI的知识请关注Arm AMBA 协议集专栏。