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


请阅读【AMBA Bus ACE 总线与Cache 专栏 】

欢迎学习:【嵌入式开发学习必备专栏】


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

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
AMBA(Advanced Microcontroller Bus Architecture)总线是由ARM公司提出的一种高性能、可重用的总线结构。ACE(AXI Coherency Extensions)协议是AMBA总线的一个扩展,用于提供多核系统中的一致性支持。 ACE协议的主要目的是解决多核系统中的数据一致性问题。在多核系统中,每个处理器核心都有自己的高速缓存,以提高数据访问效率。但是,当多个处理器核心同时访问相同的数据时,会导致数据一致性问题。ACE协议通过引入缓存一致性机制,保证多核系统中的数据一致性。 ACE协议采用了一种称为MOESI(Modified, Owned, Exclusive, Shared, Invalid)协议的缓存一致性协议。根据该协议,每个缓存行可以处于五种不同的状态:被修改(Modified)、被占有(Owned)、独占(Exclusive)、共享(Shared)和无效(Invalid)。当多个处理器核心同时访问相同的数据时,根据缓存行的状态,各个核心之间会进行相应的数据传输和状态转换,以保证数据的一致性。 ACE协议还支持许多其他特性,如乱序执行、站址传输等。此外,ACE协议还提供了高度灵活的配置选项,以满足不同应用的需求。 总的来说,ACE协议是AMBA总线的一个扩展,用于解决多核系统中的数据一致性问题,提供高性能和可重用的解决方案。通过引入缓存一致性机制和其他特性,ACE协议能够有效地支持多核系统的设计和开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公CodingCos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值