当前位置: 首页 > backend >正文

AMBA - CHI(5) System coherency Interface

1. OverView 

    系统一致性接口信号有: 

        SYSCOREQ:  请求者一致性请求 

        SYSCOACK:  互连一致性确认 

     SYSCOREQ和SYSCOACK信号与CLK同步,因此不需要同步。如果它们跨越时钟域,则需要时钟域交叉桥来同步信号 

 

 

2. Handshake 

    请求节点(RN-F或RN-D)通过设置SYSCOREQ HIGH请求连接到系统一致性。 

    连接表明通过设置SYSCOACK HIGH使能一致性。 

    请求节点通过设置SYSCOREQ LOW请求从系统一致性断开连接。通过设置“SYSCOACK LOW”,互联表示禁用一致性。 

进入和退出一致性的请求总是由请求节点发起。 

        如图15-2所示,接口信令遵循四个阶段握手规则: 

        • 只有当SYSCOACK处于相同的逻辑状态时,SYSCOREQ才能改变。 

        • 只有当SYSCOREQ处于相反的逻辑状态时,SYSCOACK才能改变。 

        1. RN Rules 

            • 当它将SYSCOREQ HIGH设置为t1时,能够服务Snoop请求。 

            • 在SYSCOACK在t2达到HIGH之前,不要发出允许缓存一致位置的事务。 

            • 确保在设置SYSCOREQ之前,所有允许缓存一致位置的事务都已经完成t3时较低。 

            • 保持服务Snoop请求,直到SYSCOACK在t4被采样为LOW 

           必须在握手信号稳定时,保证一致性的传输; 

        2. Interconnect rules 

            当互连采样SYSCOREQ高时,它必须: 

            • 设置SYSCOACK HIGH,不等待任何Snoop请求的响应SYSCOREQ变高。 

            • 当它将SYSCOACK高设置为t2时,能够从接口提供一致的数据访问。 

        当互连采样SYSCOREQ LOW时,它必须: 

            • 在将SYSCOACK LOW设置为t4之前,完成对接口的所有窥探访问。

3. 信号状态

State nameSYSCOREQSYSCOACKDescription
Coherency Disbable00

a. RN Caches must not contain coherent data

b. RN must not issue transactions that permit it to cache a coherent location ot send DVM transactions

c.RN not required to respond to snoop requests

d. interconnect must not send snoop request.

Coherency Connect10

a. RN cache不能有一致性数据;

b. RN不能发送cache和DVM 传输;

c. RN必须响应snoop request;

d. 互连可以发送snoop请求

Coherency Enabled11

a. RN cache可以有一致性的数据

b. RN能发送cache和DVM 传输;

c. RN必须响应snoop request;

Coherency Disconnect01

a. RN cache不能有一致性数据;

b. RN不能发送cache和DVM 传输;

c. RN必须响应snoop request;

d. 互连必须完成还没完成的snp请求,但是不能再产生snoop请求

http://www.xdnf.cn/news/16306.html

相关文章:

  • 060_泛型擦除与边界限定
  • [2025CVPR:图象合成、生成方向]WF-VAE:通过小波驱动的能量流增强视频 VAE 的潜在视频扩散模型
  • 嵌入式ADC和DMA
  • kafka的部署和jmeter连接kafka
  • 守护汽车“空中升级“:基于HSM/KMS的安全OTA固件签名与验证方案
  • JavaScript 立即执行函数(IIFE)运行时行为分析笔记
  • 建筑施工场景下漏检率↓76%!陌讯多模态融合算法在工程安全监控的落地实践
  • 上证50指数分红和股指期货有什么关系?
  • Sklearn 机器学习 数值指标 entropy熵函数
  • Qt 与 WebService 交互开发
  • 配置nodejs
  • 【CTF-WEB-SQL】SQL注入基本流程-错误注入(sql-labs的Less5)(updatexml)
  • DOM元素添加技巧全解析
  • 如果在分支A上修改了内容,想要提交更新内容的话,如何与develop上的主分支的最新的代码拉齐
  • 面试问题总结——关于OpenCV(二)
  • GStreamer与OpenCV集成
  • 网络基础19--OSPF路由业务多区域
  • 解决VSCode中Github Copilot无法登陆的问题
  • HTTPS的基本理解以及加密流程
  • 掌握JavaScript函数封装与作用域
  • 学习随笔录
  • C#与C++交互开发系列(二十四):WinForms 应用中嵌入C++ 原生窗体
  • 达梦[-2894]:间隔表达式与分区列类型不匹配
  • [硬件电路-93]:模拟器件 - 晶体管的静态工作点,让晶体管工作在其放大电路舞台的中央!!!
  • MyBatis Plus 对数据表常用注解
  • ​机器学习从入门到实践:算法、特征工程与模型评估详解
  • 计算机中的单位(详细易懂)
  • 关于数据库表id自增问题
  • MySQL存储引擎深度解析与实战指南
  • 告别虚函数性能焦虑:深入剖析C++多态的现代设计模式