AMBA ACE cache一致性协议(二)

这篇具有很好参考价值的文章主要介绍了AMBA ACE cache一致性协议(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以下标绿色的为ACE新加信号。

 AMBA ACE cache一致性协议(二)

ACE通道使用举例: 

 1)从Shareable locations,执行load操作
情景:master本地无此cacheline,但其他masetr的cache中有此cacheline(shareable)
A。Master 在AR通道发起一个 read transaction 
B。 interconnect确定(知道)其他的master caches谁有这个AR地址的数据。通过snoop address channel 发送AR通道中的地址给它们( snooped master)。
C。Case1:有master在snoop response channel响应它持有此数据,然后把 snoop到的数据通过snoop data channel    返回给interconnect。interconnect将数据通过AXI 的read data channel返回给Master
      Case2:所有master都回应它不持有这个地址的数据,interconnect发起一个read transaction 从main memory读取数据。再将数据通过AXI 的read data channel返回给Master。
D。Master 接收到数据,并反馈RACK。此次操作执行完成。
注:如果在一定时间内,snooped master和Master 都不负责将dirty数据写回main memory。interconnect必须在C步骤的case1返回数据给Master的同时,将数据写回main memory。
 2)从Shareable locations,执行store操作,master本地无此cacheline
Master对Shareable locations(此cacheline)执行store操作,其他存在此cacheline的master需要将Shareable locations移除,使得Master对此cacheline是 unique copy。随后其他Master读取此cacheline时,再返回给它们。
情景1:仅对cacheline(一个cacheline可能有64byte)的一部分执行store
A。 initiating master(即想要执行部分store的master)通过向AR通道发送 ReadUnique transaction。目的是移除其他master中的cacheline副本同时获得最新的cacheline数据。
B。interconnect将ReadUnique transaction通过 snoop address channel转发给其他Master
C。其他Master 使用snoop response channel告知interconnect自己拥有此地址的cacheline.同时用 snoop data channel告诉interconnect 当前cacheline的值。
D。interconnect通过 read data channel发送cacheline的值和reponse给 initiating master。
注:如果在C步骤,snoop不到cacheline的数据,则interconnect发起读main memory的操作。
E。initiating master将收到的cacheline的值和store部分的值拼接写入cache。 然后回复interconnect RACK信号部分执行store已完成。当前cacheline的状态为Unique dirty 。
情景2:对整个cacheline执行store
这种情况下, initiating master(即想要执行整个cacheline store的Master)不需要获得cacheline的数据,只要求自己的cacheline是Unique
A。initiating master通过向AR通道发送 MakeUnique transaction。目的是移除其他master中的cacheline副本。
B。 interconnect通过 snoop address channel把此MakeUnique transaction转发给其他Master。
C。其他Master 使用snoop response channel告知interconnect cacheline副本已移除。
D。interconnect通过 read data channel(仅 response fields有效)发送 cacheline副本已移除的信息给initiating master
E。initiating master对整个cacheline执行store,然后回复interconnect RACK信号执行store已完成。
3)从Shareable locations,执行store操作,master本地存在此cacheline
A。initiating master通过向AR通道发送  CleanUnique transaction。目的是移除其他master中的cacheline副本。如果其他master中的cacheline是dirty的,需要写回Main memory。
B。 interconnect通过 snoop address channel把此CleanUnique transaction转发给其他Master。其他Master 使用snoop response channel告知interconnect :
  Case1:此cacheline已被移除
  Case2:此cacheline是dirty的,需要写回Main memory。其他Master 使用snoop data channel提供 dirty cacheline,interconnect组包写回main memory。
C。interconnect通过 read data channel(仅 response fields有效)发送 cacheline副本已移除的信息给initiating master
D。initiating master对cacheline执行store,然后回复interconnect RACK信号执行store已完成。
AMBA ACE cache一致性协议(二)

 文章来源地址https://www.toymoban.com/news/detail-476797.html

到了这里,关于AMBA ACE cache一致性协议(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 28.Netty源码之缓存一致性协议

    Mpsc 的全称是 Multi Producer Single Consumer,多生产者单消费者。 Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的,而且同一时刻只允许一个消费者从队列中读取数据。 Netty Reactor 线程中任务队列 taskQueue 必须满足多个生产者可以同时提交任务,所以 JCTools 提供的 Mpsc Queu

    2024年02月13日
    浏览(31)
  • Zookeeper分布式一致性协议ZAB源码剖析

    ZAB 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)。 Zookeeper 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,Zookeeper 并没有使用 Paxos ,而是采用了 ZAB 协议,ZAB是Paxos算法的一种简化实现。 ZAB 协议定义:ZAB 协议是为分布式协调服

    2024年02月07日
    浏览(40)
  • 聊聊分布式架构09——分布式中的一致性协议

    目录 01从集中式到分布式 系统特点 集中式特点 分布式特点 事务处理差异 02一致性协议与Paxos算法 2PC(Two-Phase Commit) 阶段一:提交事务请求 阶段二:执行事务提交 优缺点 3PC(Three-Phase Commit) 阶段一:CanCommit 阶段二:PreCommit 阶段三:doCommit 优缺点 Paxos算法 拜占庭将军问题

    2024年02月08日
    浏览(37)
  • 一篇文章让你弄懂分布式一致性协议Paxos

    Paxos算法由Leslie Lamport在1990年提出,它是少数在工程实践中被证实的强一致性、高可用、去中心的分布式协议。Paxos协议用于在多个副本之间在有限时间内对某个决议达成共识。Paxos协议运行在允许消息重复、丢失、延迟或乱序,但没有拜占庭式错误的网络环境中,它利用“大

    2024年02月09日
    浏览(35)
  • 【ZooKeeper高手实战】ZAB协议:ZooKeeper分布式一致性的基石

    🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景 、 中间件系列笔记 和 编程高频电子书 ! 文章导读地址:点击查看文章导读!

    2024年02月03日
    浏览(33)
  • 一致性广播、可靠广播、原子广播、安全因果原子广播以及与拜占庭协议结合

    在分布式系统中,广播协议是确保信息在网络中的节点之间有效传递的关键机制。一致性广播、可靠广播、原子广播和安全因果原子广播是分布式系统中用于确保消息传递和一致性的四种不同类型的广播协议。它们各自有不同的目标和特性,适用于不同的应用场景。本文是对

    2024年04月13日
    浏览(48)
  • 一文读懂从 CPU 多级缓存 & 缓存一致性协议(MESI)到 Java 内存模型

    参考:Java Memory Model 多级缓存的出现解决了CPU处理速度和内存读取速度不一致的问题,但是同时也带来缓存不一致的问题,为了解决这个问题,我们引入了缓存一致性协议,常见的缓存一致性协议有MSI,MESI,MOSI,Synapse,Firefly及DragonProtocol等等,下文以MESI协议进行讲述。 缓

    2024年02月05日
    浏览(53)
  • 一文通吃:从 ZooKeeper 一致性,Leader选举讲到 ZAB 协议与 PAXOS 算法(上)

    本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注\\\"慕课网\\\"或慕课网公众号! 作者:大能 | 慕课网讲师 本文将从ZooKeeper集群如何保证一致性,讲到zookeeper保证数据一致性的协议,然后展开讲Zookeeper集群Leader选举,包括集群三种节点的类型,ZAB协议中

    2024年02月07日
    浏览(44)
  • 分布式「走进分布式一致性协议」从2PC、3PC、Paxos 到 ZAB

    设计一个分布式系统必定会遇到一个问题—— 因为分区容忍性(partition tolerance)的存在,就必定要求我们需要在系统可用性(availability)和数据一致性(consistency)中做出权衡 。这就是著名的 CAP 一致性(Consistency)是指多副本(Replications)问题中的数据一致性。关于分布式

    2024年02月03日
    浏览(56)
  • 什么是一致性哈希?一致性哈希是如何工作的?如何设计一致性哈希?

    如果你有 n 个缓存服务器,一个常见的负载均衡方式是使用以下的哈希方法: 服务器索引 = 哈希(键) % N ,其中 N 是服务器池的大小。 让我们通过一个例子来说明这是如何工作的。如表5-1所示,我们有4台服务器和8个字符串键及其哈希值。 为了获取存储某个键的服务器,我们

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包