22、缓存读写数据路径及不同缓存结构解析

缓存读写数据路径及不同缓存结构解析

1. 缓存读写操作原理

1.1 缓存写操作

缓存写操作始于将 CPU 地址的标签字段与标签内存中被寻址集合的所有标签字段进行比较。若比较成功,会产生命中信号,促使 CPU 将数据写入缓存内存中指定的集合(和块偏移)地址。

以一个 32 位、四路组相联缓存为例,该缓存包含 22 位标签字段、因 8 位索引字段而有 256 个集合,以及因 2 位块偏移字段而每个块中有四个字。写过程步骤如下:
1. 使用 8 位索引字段确定集合地址。
2. 如图 6.188 所示,在标签内存的输出阶段,使用异或非门(XNOR - gates)将该集合地址处的所有四个标签字段分别与 CPU 标签进行比较。
3. 若集合地址处的某个标签与 CPU 标签比较成功,产生命中信号,CPU 可将一块数据写入相应的集合地址。
4. CPU 数据通过置于缓存内存输入阶段的三态缓冲器路由,并通过索引字段和块偏移字段写入指定地址。

1.2 缓存读操作

缓存读操作与写操作类似,但为缩短缓存读取访问周期,缓存和标签内存会同时被访问。

同样以四路组相联缓存为例,读操作步骤如下:
1. 8 位索引字段定义集合地址,同时从标签内存读取四个标签块,从缓存内存读取四个数据块。
2. 每个标签分别与 CPU 地址中的 22 位标签字段进行比较,由 22 组两位异或非门(XNOR - gates)后跟一个 22 位与门生成命中信号。
3. 这些命中信号随后用作缓存内存输出处的 4 - 1 多路复用器(MUX)的选择输入,以选择一个缓存块。
4. 通过 2 位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值