您的位置:首页 > 房产 > 建筑 > 网站设计实训心得体会_新闻网页怎么做的_百度推广找谁_成人电脑培训班办公软件

网站设计实训心得体会_新闻网页怎么做的_百度推广找谁_成人电脑培训班办公软件

2025/1/8 2:53:29 来源:https://blog.csdn.net/qq_40147893/article/details/144917504  浏览:    关键词:网站设计实训心得体会_新闻网页怎么做的_百度推广找谁_成人电脑培训班办公软件
网站设计实训心得体会_新闻网页怎么做的_百度推广找谁_成人电脑培训班办公软件

在这里插入图片描述

AMBA-CHI协议详解(一)- Introduction
AMBA-CHI协议详解(二)- Channel fields / Read transactions
AMBA-CHI协议详解(三)- Write transactions
AMBA-CHI协议详解(四)- Other transactions
AMBA-CHI协议详解(五)- Transaction identifier fields
AMBA-CHI协议详解(六)- Transaction identifier field flows
AMBA-CHI协议详解(七)- Ordering
AMBA-CHI协议详解(八)- Address, Control, and Data
AMBA-CHI协议详解(九)- Data transfer
AMBA-CHI协议详解(十)- Retry
AMBA-CHI协议详解(十一)- Network Layer
AMBA-CHI协议详解(十二)- Cache line states
AMBA-CHI协议详解(十三)- Read transactions and Cache line states

文章目录

    • 4.2 Read types
      • 4.2 Read transactions


4.2 Read types

协议请求分为以下几类:

  • 对于Read请求事务,向Requester提供一个数据响应。
  • 对于Dataless请求事务,不向Requester提供任何数据响应。
  • 对于Write请求事务,数据来自Requester。
  • 对于组合写Combined Write请求事务,数据来自Requester,并执行Cache维护操作。
  • 对于 Atomic请求事务,数据来自Requester,并以某些请求类型向Requester提供数据响应。
  • 对于Stash请求事务,可以在系统内移动数据以提高性能。
  • 其他请求事务:
    —不涉及系统中的任何数据移动。
    —可以用来协助DVM维护

4.2 Read transactions

读事务具有以下共同特点:

  • 数据必须包含在对Requester的完成响应中,MakeReadUnique请求除外。对于MakeReadUnique,数据响应是可选的。
  • 当提供Data响应时,传输的数据可以来自Home节点、另一个请求节点(RN)或从属节点(SN)。
  • 在Allocating Read事务中,接收到的数据(如果缓存)必须以系统一致性的方式缓存。
  • 在Non-allocating Read(即ReadNoSnp和ReadOnce*)中,不希望缓存接收到的数据。如果是缓存,则不会以系统一致的方式缓存数据。
  • 请求可能导致Requester的Cache状态更改。对于每个读事务,Requester期望和允许的初始缓存状态有参考表格会在下面列出,对于每个读事务,Requester的最终缓存状态也有参考表格会在下面列出。
  • 请求可能导致系统中其他请求节点的Cache状态更改。每个Read事务在对等请求节点上的期望和允许的缓存状态也会在下面列出。

ReadNoSnp
  请求节点向不可Snoop地址区域的读请求。或者,从Home节点到任何地址区域,以获取寻址数据的副本。

ReadNoSnpSep
  从Home节点向SN节点读取请求,Completer只发送一个数据响应。当使用分离的comp和data响应来完成读事务时使用。

ReadOnce
  读请求到一个Snoopable地址区域,获取一致性数据的快照(用于捕获和保存数据在某一特定时刻的状态。它可以是数据的完整副本)。

ReadOnceCleanInvalid
  读请求到一个Snoopable地址区域,获取一致性数据的快照。建议(但不是必需)使cache line的其他cache副本无效。
如果Dirty副本无效,则必须将其写回内存。

使用ReadOnceCleanInvalid来代替ReadOnce或ReadOnceMakeInvalid,其中Requester确定数据仍然有效,但在将来的一段时间内不会使用。
Requester使用ReadOnceCleanInvalid可以通过减少cache pollution来提高缓存效率。(‌Cache pollution(缓存污染)是指缓存中存储了大量不常用或不再需要的数据,这些数据占据了宝贵的缓存空间,导致有用的数据无法被缓存,从而降低了缓存率‌)。

使用ReadOnceCleanInvalid时应考虑以下问题:

  • ReadOnceCleanInvalid事务中的Invalid是一个提示。事务的完成并不能保证remove所有缓存副本,因此它不能用作CMO的替代品。
  • 事务的使用可能导致cache line的释放,因此,如果事务可能针对系统中其他代理用于Exclusive访问的同一cache line,则需要谨慎。

ReadOnceMakeInvalid
  读请求到一个Snoopable地址区域,获取一致性数据的快照(用于捕获和保存数据在某一特定时刻的状态。它可以是数据的完整副本)。建议(但不是必需)使缓存行的其他缓存副本无效。
如果Dirty副本无效,则不需要将其写回内存。

如果接受Invalid提示并且未将Dirty副本写回内存,则所有缓存副本都必须无效。

当Requester确定缓存的数据不会再被使用时,ReadOnceMakeInvalid优先于ReadOnce或ReadOnceCleanInvalid来获取数据值的快照。

Requester可以释放缓存,并且通过丢弃脏数据,避免不必要的回写内存。

使用ReadOnceMakeInvalid时应考虑以下问题:

  • ReadOnceMakeInvalid事务中的Invalid是一个提示。事务的完成并不能保证remove所有缓存副本,因此它不能用作CMO的替代品。
  • 事务的使用可能导致cache line的释放,因此,如果事务可能针对系统中其他代理用于Exclusive访问的同一cache line,则需要谨慎。
  • 使用ReadOnceMakeInvalid事务会导致Dirty cache line的丢失。此事务的使用必须严格限制在已知Dirty cache line的丢失是无害的情况下。
  • 对于ReadOnceMakeInvalid事务,需要在事务读取数据响应之前提交cache line的Invalid。此时不需要完成cache line的Invalid,但必须确保在此之后开始的来自任何Agent的任何后续Write事务不会被此事务失效。
  • 数据必须以I、UC或UD状态提供给Requester。
  • Requester必须忽略响应中的缓存状态。

ReadClean
  读请求到Snoopable地址区域,以获得cache line的Clean副本。如果Requester将line分配给不支持Dirty cache line的缓存(例如指令缓存),则可以使用此方法。数据必须仅以UC或SC格式提供给Requester。

ReadNotSharedDirty
  读请求到一个Snoopable的地址区域,从cache line执行load。数据必须仅在UC、UD或SC状态下提供给Requester。SD是不允许的。

当Requester不能接受SD状态的数据时,使用ReadNotSharedDirty代替ReadShared。

ReadShared
  读请求到一个Snoopable的地址区域,从cache line执行load。必须向Requester提供UC、UD、SC或SD状态的数据。

当Requester愿意接受SD状态的数据时,使用ReadShared而不是ReadNotSharedDirty

ReadUnique
读请求到一个Snoopable的地址区域,以执行store到cache line。数据必须仅在UC或UD状态下提供给Requester。

ReadPreferUnique
读请求到一个Snoopable区域,请求一个unique的cache line副本。

ReadPreferUnique用于请求者偏好但不要求以Unique状态返回的数据:

  • 数据以Unique状态提供,除非另一个请求节点当前正在使用相同的地址执行exclusive sequence。在这种情况下,数据以Shared状态提供。
  • 允许始终向Requester提供处于Shared状态的数据。

此请求包含在本规范中,以提高独占序列的执行效率。

MakeReadUnique
读请求到一个Snoopable地址区域,请求一个unique的cache line副本。

典型的用法是当Requester具有缓存行的共享副本并希望获得存储到缓存行的权限时。

因为如果Requester接收到一个Invalidating snoop,数据返回是有保证的,否则需要保留数据,因此不需要重新发送请求以获得cache line的unique副本。

Read request attribute values

Request节点到Home节点的读请求中关键属性的允许取值如下表所示。

在这里插入图片描述
在这里插入图片描述

HN-F到SN-F读请求中关键属性的允许值如下

在这里插入图片描述

列出了HN-I到SN-I读请求中关键属性的允许值如下表所示

在这里插入图片描述

Requester的初始缓存状态

在这里插入图片描述

Requester的最终缓存状态
在这里插入图片描述

Peer cache state
在响应请求时,Home必须发送适当的Snoops,以确保对等缓存中的cache line是预期的或允许的最终状态。所以下面是相应事务传输后对等RNF的cache line状态。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com