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

赣州营销型网站策划百度推广网址

赣州营销型网站策划,百度推广网址,移动网站源码,交易类网站做支付宝功能在多核系统或复杂SoC(System on Chip)中,不同处理器核心或IP(Intellectual Property)模块之间需要保持数据的一致性。常用的是ACE协议or CHI。 先对ACE协议进行学习 ACE协议(Advanced Microcontroller Bu…

在多核系统或复杂SoC(System on Chip)中,不同处理器核心或IP(Intellectual Property)模块之间需要保持数据的一致性。常用的是ACE协议or CHI。  先对ACE协议进行学习

ACE协议(Advanced Microcontroller Bus Architecture Coherency Extension)是一种高级的缓存一致性协议,它允许系统中的主组件(如处理器或其他设备)判断缓存行是否是某个特定内存位置的唯一副本,或者是否可能存在其他副本。根据这些信息,主组件可以相应地采取不同的操作来维护数据的一致性。

①检查缓存行的唯一性:当主组件想要修改一个缓存行时,ACE协议首先通过监听机制来检查该缓存行是否是系统中的唯一副本。主组件的监听过滤器会与其他缓存进行通信,以确定缓存行是唯一的还是共享的。
②修改唯一缓存行:如果确定缓存行是唯一的(Unique状态,包括UniqueClean和UniqueDirty),主组件可以直接修改缓存行的值,而无需通知系统中的其他主组件。这是因为没有其他副本需要更新或失效。
③修改共享缓存行:如果缓存行可能也存在于另一个缓存中(Shared状态,包括SharedClean和SharedDirty),主组件必须启动一个适当的事务来通知其他缓存。这通常涉及到发送一个缓存一致性请求到其他缓存,要求它们更新或失效对应的缓存行,以确保系统中所有缓存的数据保持一致。
通过这种方式,ACE协议确保了在多个主组件访问共享数据时,数据的一致性和正确性得到维护。这对于多核处理器系统、SoC(System on Chip)或其他需要紧密协作的多主设备环境尤为重要。

1. cacheline状态

valid: 该cacheline在cache中存在

invalid:该cacheline在cache中不存在,对该cacheline的访问需要去主存中或者其他cache中

unique:该cacheline只在这一个cache中存在,因为core可以随意对它进行操作而无需担心一致性问题(因为在其他cache中就不存在)

shared:该cacheline存在于一个或多个cache中,当cacheline处于shared状态下时,core对它进行修改时需要确保其他cache中状态得到适当的更新,以维护数据的一致性。

clean:表示缓存中的数据与主内存中的数据是一致的。缓存不承担更新主内存的责任。在这种情况下,如果主组件读取缓存行,它可以直接使用缓存中的数据,而不需要从主内存中重新获取。(这个说法不太严谨,clean不一定代表缓存中的数据与主内存一致,比如shared clean,只是不需要承担更新主存的责任而已~)

dirty:表示缓存中的数据已经被修改,与主内存中的数据不一致。拥有脏缓存行的主组件必须确保最终将更新后的数据写回到主内存中,以保持数据的一致性。

当一个core想要写入一个cacheline时,它首先需要检查该cacheline的状态。如果是unique dirty的cachelie,那么可以直接进行写操作。但如果是shared dirty的cacheline,core则需要通过发送一致性请求来通知其他cache,确保它们能够更新或invalid对应的缓存行。这样的机制有助于避免数据冲突,并确保所有处理器都能访问到最新和一致的数据。

2. cacheline状态转换规则

①获取新副本时必须通知其他cache

当一个cache获取一个cacheline的新副本时,其他拥有该cacheline的cache必须被通知,即使这些cache当前可能将该cacheline作为唯一状态持有,它们也必须被通知将其更改为共享状态!!

②丢弃副本时无需通知其他cache

当一个cache准备丢弃一个cacheline时,不需要通知其他也拥有相同cacheline的cache,所以一个是shared状态的cacheline可能实际上只被一个cache所拥有!!

③相对于主内存更新

相对于主内存更新的cacheline必须处于dirty状态,需要最终将更改写回主内存

④多个缓存中的更新缓存行

如果一个相对于主内存已经被更新的缓存行存在于多个缓存中,那么它必须只在其中一个缓存中处于脏状态。这意味着虽然多个缓存可能拥有该缓存行的副本,但只有一个缓存负责维护最新的数据,并确保最终与主内存同步。

3. 通道信号增加:
ACE协议在现有的AXI4通道的基础上进行了扩展,并定义了专门的ACE通道以及确认信号,以支持复杂的缓存一致性操作。以下是ACE协议中定义的通道和信号的概述:

ACE协议在现有的AXI4通道上增加了一些新的信号,以支持缓存一致性操作。这些信号包括:

读取地址通道(Read Address Channel):

ARDOMAIN[1:0]:由主设备提供,用于指示读取事务的共享属性。
ARSNOOP[3:0]:由主设备提供,用于指定读取事务的监听类型。
ARBAR[1:0]:由主设备提供,用于指示读取事务是否需要遵守内存屏障(memory barrier)


写入地址通道(Write Address Channel):

AWDOMAIN[1:0]:由主设备提供,用于指示写入事务的共享属性。
AWSNOOP[2:0]:由主设备提供,用于指定写入事务的监听类型。
AWBAR[1:0]:由主设备提供,用于指示写入事务是否需要遵守内存屏障(memory barrier)。
AWUNIQUE:此信号仅由支持WriteEvict事务的组件所需。WriteEvict事务用于从缓存中逐出数据,而无需写回主内存。

4. ACE特定通道
ACE协议定义的这三个额外通道是为了增强缓存一致性管理和优化多处理器系统中的数据交互。下面是对这三个通道的详细解释:

监听地址通道(AC channel):它提供了snoop transactions的地址和相关的控制信息。
通过这个通道,缓存主设备可以接收来自系统总线或其他缓存的监听请求,并根据请求中的地址信息确定是否拥有对应的缓存行。

监听响应通道(CR channel):它提供了对snoop transaction的响应。

监听数据通道(CD channel):这是一个可选的输出通道,用于从主设备传递监听数据。
当发生读或清理监听事务时,如果被监听的主设备拥有请求的数据副本,那么这个通道就会被用来返回这些数据。

5.确认信号(Acknowledge signaling)
ACE协议使用确认信号来表示一个事务已经被成功接收和处理。这些信号包括:

读确认信号(Read Acknowledge Signal) - RACK:

当主设备完成一次读事务时,它会发出RACK信号。这个信号表明读操作已经成功完成,并且数据已经从缓存或其他存储介质中读取出来,准备供请求者使用。RACK信号通常在最后一个数据拍(beat)之后发出,以指示整个读操作的结束。


写确认信号(Write Acknowledge Signal) - WACK:

在完成写事务时,主设备会发出WACK信号。这个信号表明写入操作已经成功完成,并且数据已经被写入到指定的缓存行或存储位置中。与RACK类似,WACK信号也通常在最后一个数据拍之后发出,确认写操作的完成。

http://www.dtcms.com/wzjs/270829.html

相关文章:

  • 福州网站设计外包电脑办公软件培训班
  • 购物网站有哪些平台windows优化大师卸载不掉
  • 电子商务电商网站饿建设重庆森林讲了什么故事
  • 无忧网站优化网店培训
  • 做字体的网站百度广告怎么收费标准
  • 青岛营销型网站设计公司seo托管服务
  • 空包网站怎么做郑州网站建设七彩科技
  • 淘宝客网站做的好的百度竞价客服
  • 深圳网站建设推广优化seo咨询服务价格
  • 个人注册公司网站空间谷歌推广真有效果吗
  • 多种不同产品的网站怎么做seo痘痘该如何去除效果好
  • 长沙网站外包公司天津seo顾问
  • 微信端网站设计北京做网站推广
  • 网站开发论文的需求分析潍坊seo计费
  • 网站开发建立网店运营的工作内容
  • 哈尔滨菜牌制作东莞seo建站优化工具
  • 做动态网站文字显示问号百度热搜广告位
  • 武隆网站建设哪家好网页开发培训网
  • seo管理软件官网优化包括什么内容
  • wordpress 文章中图片title alt权威seo技术
  • 做网站 宁波查域名备案
  • vshtml5网站开发百度站长资源
  • 秦皇岛网站seosemen是什么意思
  • 山门做网站优化工具箱
  • 广州疫情最新情况最新消息宜昌网站seo收费
  • 西部数码网站备案查询餐饮营销方案
  • 经典的java做网站电子商务沙盘seo关键词
  • 西安网站优化体验怎样搭建自己的网站
  • 网站数据库5g个人微信管理系统
  • 用mcu做灯光效果网站整合营销方案怎么写