11

Dskpimc? · 2020年07月20日

CHI系统一致性接口

本节描述系统一致性接口信号,用于控制RN-F是否支持Coherency和DVMdomain,以及RN-D是否支持DVM domain。
作者:谷公子

一、Overview

系统一致性接口信号有两根:

  • SYSCOREQ:Master coherency request.
  • SYSCOACK:Interconnect coherency acknowledge.

图1为系统一致性接口信号连接图。
1.png
图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.png
图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
3.png
————————————————

版权声明:本文为CSDN博主「谷公子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/W1Z1Q/article/details/104227851

CHI系列篇


更多AMBA CHI的知识请关注Arm AMBA 协议集专栏。
推荐阅读
关注数
7927
内容数
82
Arm AMBA协议集,APB,AHB,AXI,CHI等相关公开课回放及文章
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息