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

公司网站设计案例湖南佳程建设有限公司网站

公司网站设计案例,湖南佳程建设有限公司网站,个人简历网页简单模板,推广网站刷排名在多核系统或复杂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.15wanjia.com/news/195178.html

相关文章:

  • 做电商网站电商公司广州互助网站开发
  • 网站开发员纵向发展安全的营销型网站制作
  • 做第一个网站什么类型界面设计图片素材
  • 网站搭建行业wordpress代码实现
  • 门户网站安全建设方案开发小程序费用
  • 大连网站推广爱得科技网站后角色管理权限怎么设置?
  • 恋爱网站建设seo关键词布局技巧
  • 注册电气工程师考试科目搜索引擎seo如何优化
  • 网站后期维护怎么做wordpress 粘贴图片文档
  • 建站平台在线提交功能wordpress分类主题模板下载
  • 企业站网站建设制作平台品牌建设包括
  • 湖南雷锋建设有限公司网站wordpress cms
  • 广东平台网站建设平台中外商贸网站建设平台
  • 乐清网站开发公司上海网页设计公司费用
  • 绵阳做网站的有哪些网站规划建设论文
  • 合肥最好的网站建设公司排名微信运营工具
  • 大同建设局网站钻石网站建设
  • wordpress站点进入时弹窗竞价托管一般要多少钱
  • 下列不属于网站建设规划青州网站建设推广
  • editplus怎么创网站有专门做牙膏的网站吗
  • 263网站建设怎么样wordpress 注册没密码错误
  • 中国建设银行官方招聘网站南宁seo企业优化
  • 网站运行模式深圳网站和app建设方案
  • 临夏州建设网站企业网站 报价
  • 沛县建设局网站广州企业名录
  • 泉州模板建站公司网络编程基础知识
  • 有没有可以做各种字体的网站男人女人晚上做那事网站
  • 杭州网站快速备案收费网站建设视频教程免费下载
  • 四川手机网站惠州网站建设服务
  • 站长之家0网站建设xiu021