计组复习(四):cache,虚拟内存,页表与TLB

前言

来到存储器章节的复(yu)习。首先引入 cache 高速缓存,来缓解高速的 cpu 和低速的内存之间的拖带关系。然后是虚拟内存机制,虚拟内存能够很好的帮助程序员避免麻烦的内存管理与冲突等问题,并且将内存作为模块化独立出来。


上一篇博客回顾:计组复习(三):流水化的数据通路,流水线冒险检测与处理

在去年的计系 2 课程也讲到了 cache,本篇博客只是简单提一下,详情请戳我之前的博客:

计系2复习(4)存储:磁盘存储与cache

三种cache映射方式简单讲解

然后按照惯例,请出徐涛老师讲解复习要点与秘诀:

cache高速缓存

cpu 速度远快于内存,那么每次读取数据都需要等待内存就绪,坏起来了!

科学家们通过引入高速缓存 cache 来缓解这一矛盾。cache 更加靠近 cpu,访问速度也更快。cache 存储了一小部分内存的数据。

每次 cpu 需要访问内存时,首先问 cache 要,如果 cache 中存在对应的数据,那么 hit。如果 cache 中不存在,那么再向内存要数据,称为 miss。

cache 可以看作是一种硬件的哈希表,来快速查找 cache 中是否存在特定地址的数据,下面讲解三种场景的 cache 结构。

直接映射

直接映射模拟了以模除函数为哈希函数的哈希表,即所有地址经过模 n 之后,得到相同范围余数的,被分配到同一组。如下图:

在这里插入图片描述

优点是简单成本低,缺点是 miss 率高。

全相连映射

全相联映射意味着一个 cache 行可以存储任意内存地址的数据:

在这里插入图片描述

优点是 hit 率高,缺点是硬件实现复杂,成本高

组相连映射

组相连结合了全相连与值即映射的优缺点。首先通过直接映射

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值