文档章节

高速缓存的行匹配与字选择

断桥残雪断桥残雪
 断桥残雪断桥残雪
发布于 2015/05/18 16:16
字数 507
阅读 625
收藏 6

问题假设

    存储器是字节寻址的;

    存储器访问的是1字节的字;

    地址的宽度为13位;

高速缓存内容

    高速缓存是2路组相联的(E=2),块大小为4字节(B=4),有8个组

    内容如下所示:

    行0:

(表中所有的数字都是以十六进制来表示的)

组索引

标记位

有效位

字节0

字节1

字节2

字节3

0
09
1
86
30
3F
10
1
45
1
60
4F
E0
23
2
EB
0
-
-
-
-
3
06
0
-
-
-
-
4
C7
1
06
78
07
C5
5
71
1
0B
DE
18
4B
6
91
1
A0
B7
26
2D
7
46
0
-
-
-
-

    行1的高速缓存内容我就不列举了,类似上表的形式。

地址内容

    现在假设一个程序运行在上述的机器上面,并且它引用地址0x0E34处的1个字节的字。则该地址格式应该如下表所示:

0           1            1                1                0              0              0                1
1     0      1
0     0

其中最左边一栏是高速缓存标记位(CT),中间一栏是高速缓存组索引(CI),最右边一栏是高速缓存块偏移(CO),它们的值分别为0x71,0x5,0x0。

是否命中

    根据表中数据可知,标记位为0x71的刚好在行0的组索引为0x5中,并且其有效位已经设置为1,因此表明标记和块中的位是有意义的。所以这次高速缓存命中了,根据块偏移为0,所以返回的高速缓存字节为0xB。

总结

    本案例帮助我加强理解了高速缓存是如何工作的,关于缓存不命中的例子这里可以介绍一个地址为0x0DD5,具体分析同上。记住一点:如果有效位没有设置或者标记不相匹配,那么我们就得到一个缓存不命中。

© 著作权归作者所有

断桥残雪断桥残雪
粉丝 53
博文 139
码字总数 94909
作品 0
广州
程序员
私信 提问
9、深入理解计算机系统笔记:存储器层次结构,高速缓存存储器(1)

1、高速缓存存储结构 注:set(组) 组索引位告诉我们这个字必须存储在那个组中;然后A中t个标记位告诉我们这个组中的那一行(if any)包含这个字;当且仅当设置了有效位并且该行的标记位与地址...

hopegrace
2011/06/13
0
0
10、深入理解计算机系统笔记:存储器层次结构,高速缓存存储器(2)

1、组相联高速缓存(set associative cache) 1 < E < C/B 2、全相联映射(fully associative cache) E = C/B 因为全相联高速缓存需要并行搜索许多相匹配的行,所以构造相对是困难的;因此只...

hopegrace
2011/06/13
0
0
每个程序员都应该了解的内存知识-1

注 这个系列文章源于 ,粗读下来觉得很不错,最好能留存下来。同时发现这个系列的文章已经有一部分被人翻译了。故在此转发留存一份,毕竟存在自己收留的才是最可靠的,经常发现很多不错的文章...

jamesese
2018/07/01
0
0
CUDA学习(八十四)

全局内存: 计算能力3.x的设备的全局内存访问缓存在L2中,计算能力3.5或3.7的设备的全局内存访问也可缓存在上一节中描述的只读数据缓存中; 他们通常不会被L1缓存。 计算能力3.5的某些设备和计...

night李
2018/02/24
0
0
180204—【操作系统】背景知识:存储器

存储器的层次结构 计算机存储器的设计目标可归纳为三个问题: 多大的容量? 多快的速度? 多贵的价格? 存储器的这三个特征即价格、容量、访问时间之间存在着一定的折中。 实现存储器系统需要...

drondong
2018/02/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android面试常客之Handler全解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fnhfire_7030/article/details/79518819 前言:又到了一年...

shzwork
13分钟前
1
0
position sticky 定位

本文转载于:专业的前端网站➫position sticky 定位 1、兼容性 https://caniuse.com/#search=sticky chrome、ios和firefox兼容性良好。 2、使用场景 sticky:粘性。粘性布局。 在屏幕范围内时...

前端老手
20分钟前
1
0
CentOS 7 yum 安装 PHP7.3 教程

参考:https://www.mf8.biz/centos-rhel-install-php7-3/ 1、首先安装 EPEL 源: yum install epel-release 安装 REMI 源: yum install http://rpms.remirepo.net/enterprise/remi-release......

dragon_tech
35分钟前
2
0
Linux物理网卡聚合及桥接

Linux内部实现的bridge可以把一台机器上的多张网卡桥接起来,从而把自己作为一台交换机。同时,LInux bridge还支持虚拟端口,即桥接的不一定都是物理网卡接口,还可以是虚拟接口。目前主要表...

xiangyunyan
35分钟前
2
0
一起来学Java8(一)——函数式编程

在这篇文章中,我们将了解到在Java8下如何进行函数式编程。 函数式编程 所谓的函数式编程就是把函数名字当做值进行传递,然后接收方拿到这个函数名进行调用。 首先来看下JavaScript如何进行函...

猿敲月下码
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部