Arm Cortex-A53 cache的架构解析

电子说

1.3w人已加入

描述

一 A53使用经典的big-LITTLE架构

以下是一张比较早期的经典的big-LITTLE的架构图。

ARM
图1

ARM
图2

二 A53的cache配置

ARM

L1 data cache TAG

A53的L1 Data cache遵从的是MOESI协议,如下所示在L1 data cache的tag中存有MOESI的标记位。

ARM
图3

MOESI state

ARM
图4

L1 Instruction cache TAG

L1 instruction cache是只读的,所以也就无需硬件维护的多core之间instruction cache的一致性,所以也就无需组从MOESI协议,以下展示了 * L1 Instruction cache的TAG,其中标记为很少,无MESI标记位。

ARM
图5

三 cache的层级结构:

  • L1 cache是private的在core中。
  • L2 cache是share的在cluster中。

ARM
图6

四 L2 memory System系统介绍

在bit.LITTLE架构中,在Cluster中,有一个SCU单元,SCU单元主要是执行和维护L1 cache的一致性(MESI协议或其变体如MOESI协议)。

ARM
图7

在L2 Memory System的中,除了包含L2 cache,也会包含L1 Duplicate tag RAM(这里指的其实是L1 Data Cache Tags)。

ARM
图8

五 多cluster之间的缓存一致性

cluster和外界的接口,可以是ACE或CHI(目前常用的是ACE,后面的趋势可能是CHI)。

ARM
图9

  • 如果使用的是ACE,那么多cluster之间的一致性,依靠CCI+ACE来维护。
  • 如果使用的是CHI,那么多cluster之间的一致性,依靠CMN+CHI来维护。

ARM
图10

六 CCI的介绍(以CCI-550为例)

CCI-550包含一个包容性监听过滤器(snoop filter),用于记录存储在ACE主缓存。

侦听过滤器可以在未命中的情况下响应侦听事务,并侦听适当的主控只有在命中的情况下。Snoop过滤器条目通过观察来自ACE主节点的事务来维护以确定何时必须分配和取消分配条目。

侦听过滤器可以响应多个一致性请求,而无需向所有人广播ACE接口。例如,如果地址不在任何缓存中,则监听过滤器会以未命中和将请求定向到内存。如果地址在处理器缓存中,则请求被视为命中,并且指向在其缓存中包含该地址的ACE端口。

ARM

图11

ARM
图12

七 经典示例框图

ARM
图13

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分