【AMBA Bus ACE 总线 2 -- ACE Snoop transaction】

2024-04-27 01:12

本文主要是介绍【AMBA Bus ACE 总线 2 -- ACE Snoop transaction】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • Snoop Transaction 简介
      • 主要类型的snoop transaction
      • snoop transaction的目的
    • ACE Snoop transaction

Snoop Transaction 简介

ARM ACE (AXI Coherency Extensions) 协议中的snoop transaction是一种机制,旨在维持多核处理器系统中缓存之间的一致性。在多核系统中,每个处理器核心可能有自己的一级或二级缓存,这可能导致同一内存地址在不同缓存中有不同的副本。snoop transaction允许一个处理器核心查询(“snoop”)其他核心的缓存状态,以确保数据一致性。

主要类型的snoop transaction

  • Read Snoop:当一个核心需要读取某个内存地址的数据时,它会发起一个read snoop,以检查其他核心的缓存是否有该地址的更新副本。
  • Write Snoop:当一个核心想要写入某个内存地址时,它会发起一个write snoop,以确保其他核心的缓存不会保留该内存地址的过时副本。

snoop transaction的目的

  • 保持缓存一致性:通过snoop transaction,系统能够确保所有处理器核心看到的是同一内存地址的最新数据,从而避免了数据不一致的问题。
  • 提高系统性能:维持缓存一致性有助于提高多核系统的整体性能,因为它减少了对内存的直接访问次数,使得数据访问更加高效。

ACE Snoop transaction

在这里插入图片描述

图 1-1

假如 Master0 和 Master1 对某个cache行都有备份,当发起 snoop transaction 的时候是否想把另外一个cache行的数据进行invalidate 操作还是其他操作,这个是和snoop信号线配合完成的。domain 决定 coherency的区间。

一个系统上可能有很多master,这些master分为不同的domain,所谓的coherency不一定是系统层面的coherency,可以是某些domain的coherency。同样,可以通过snoop信号线来决定snoop transaction的类型。

通过AW, AR channel发起一些transaction,对于master0来说只是一个简单请求,但是当它发给coherency总线的时候,coherency总线就会根据domain和snoop信号线来决定发起一个什么样的transaction。

在这里插入图片描述

图 1-2

如上图1-2 所示,Master0 通过 AW/AR channel 给 Coherency interconnect 线发起一个snoop transaction,coherency总为了去snoop 其他 master 中的cache行,coherency 总线通过AC channel发起一个transaction请求给master1,然后 CR channel 和 CD channel 会给出对应的response,coherency总线受到 respons 之后会把最终的 respons给 Master0 的 B/R channel上,如下图 1-3 :

在这里插入图片描述

图 1-3

这篇关于【AMBA Bus ACE 总线 2 -- ACE Snoop transaction】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939157

相关文章

电子电气架构---私有总线通信和诊断规则

电子电气架构—私有总线通信和诊断规则 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。 无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、

C#通过ACE OLEDB驱动程序访问 Access和 Excel

ACE 代表 Access Connectivity Engine。它是 Microsoft 提供的一组组件,用于访问和操作 Microsoft Access 数据库以及其他类似的文件格式,如 Excel 工作簿。ACE 主要包括以下几部分: ACE OLEDB 驱动程序:用于通过 OLE DB 提供程序访问 Access 数据库和 Excel 文件。例如,Microsoft.ACE.OLED

I2C总线协议(AT24C02C)

本文章是基于TQ2440开发板上的AT24C02C 一, I2C简介       IIC即Inter-Integrated Circut(集成电路总线),有飞利浦在八十年代实际出来. I2C是一种多向控制总线,就是同一个总线下可以连接多个芯片,同时每个芯片都可以作为实时数据传输的控制源. 二. 硬件结构       I2C串行总线一般有两根信号线,一根是双向的数据总线SDA, 一根是

linux驱动模型 -- bus,device,device_driver之间的关系

Linux 设备驱动模型中,按照层次的组织结构,抽象成总线(struct bus_type),设备(struct device),驱动(struct device_driver)的层次组织形式,这是最原始的抽象结构,在此基础之上,根据不同类型的总线/设备/驱动,有形成了更高层次的组织结构,如 virtio总线(struct bus_type virtio_bus),virtio设备(

org.hibernate.transaction.JDBCTransaction cannot be cast to javax.transaction.Transaction

org.hibernate.transaction.JDBCTransaction cannot be cast to javax.transaction.Transaction 这部分的具体地方为Transaction tr =(Transaction) session.beginTransaction();  错误原因:包倒错了,应该导入的包是hibernate的Transaction包

【STM32】CAN总线基础入门

CAN总线基础入门 一、CAN简介二、主流通信协议对比三、CAN物理层1、CAN硬件电路2、CAN电平标准3、CAN收发器 – TJA1050(高速CAN)4、CAN物理层特性 四、帧格式1、CAN总线帧格式2、数据帧3、数据帧各部分用途简介4、数据帧的发展历史5、遥控帧6、错误帧7、过载帧8、帧间隔9、位填充10、波形实例 五、位同步1、接收方数据采样2、接收方数据采样遇到的问题3、位时序

V90总线伺服报800F错误

1、博途PLC工艺对象位置轴轴控功能块 博途PLC工艺对象位置轴轴控功能块(完整SCL代码)-CSDN博客文章浏览阅读423次。S7-1200PLC脉冲轴位置轴位置控制功能块S7-1200PLC脉冲轴位置轴位置控制功能块优化(完整SCL源代码)_s71200 脉冲轴-CSDN博客文章浏览阅读341次。该博客详细介绍了如何优化S7-1200 PLC的位置控制功能块,使得在轴激活限位时无需复位即可直

【PostgreSQL教程】PostgreSQL 高级篇之 TRANSACTION(事务)

博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可以先关注收藏起来,在工作中、生活上等遇到相关问题都可以给我

mysql Deadlock found when trying to get lock; try restarting transaction

一、现场情况 sql:insert into a ...... 数据库隔离级别:read-committed 表a有唯一索引 二、死锁发生的4个必要条件 1、互斥条件(Mutual Exclusion):资源独享 2、占有并等待条件(Hold and Wait):占有资源并等待其他资源 3、非抢占条件(No Preemption):占有的资源不可以被剥夺,只能主动释放 4、循环等待

EventBus-Vue事件总线解析与使用指南

前言         在Vue.js中,组件通信是开发过程中非常场景的需求。根据不同的场景和需求,Vue提供了多种组件通信方式。比如父子组件通信、兄弟组件通信、跨代组件通信等。当应用程序中两个组件或者说页面之间没有引入和被引入的关系的时,或者说他们之间嵌套的结果复杂的时候,我们可以考虑如何传递数据呢?         其中适用的通信方式有 Vuex、provide 和 inject、Event