【操作系统】存储器管理-存储器的层次结构

前言:存储器历来都是计算机系统的重要组成部分。近年来,存储器的容量一直在不断扩大,但仍不能满足现代软件发展的需要。因此,存储器仍然是一种宝贵而又稀缺的资源。如何对它进行有效的管理,不仅直接影响到存储器的利用率,而且对系统性能也有重大影响。

存储器的层次结构

存储器的层次结构如图1所示,

图1 存储器的层次结构

1.寄存器

最靠近CPU的控制单元的存储器,就是寄存器了,它使用的材料速度也是最快的,因此价格也是最贵的,那么数量就没很多。

存储器的数量通常在几十到几百之间,每个寄存器可以用来存储一定的字节。比如:

  • 32位CPU中大多是寄存器可以存储4个字节;
  • 64位CPU中大多数寄存器可以存储8个字节。

寄存器的访问速度非常快,一般要求在半个CPU时钟内完成读写,CPU时钟周期跟CPU主频息息相关,比如2GHz的主频的CPU,那么它的时钟周期就是1/2G,也就是0.5ns。

CPU处理一条指令的处理周期,除了读写寄存器,还主要解码指令、控制指令执行和计算。如果精寄存器的速度太慢,则会拉长指令的处理周期,从而给用户的感觉,就是电脑很慢。

2.CPU Cache

CPU Cache 用的是一种叫SRAM(Static Random-Access Memory,静态随机存储器)的芯片。

SRAM之所以叫静态存储器,是因为只要有电,数据就可以保持存在,而一旦断电,数据就会丢失了。

在SRAM里面,一个bit的数据,通常需要6个晶体管,所以SRAM的存储密度不高,同样的物理空间下,能存储的数据是有限的,不过也因为SRAM的电路简单,所以访问速度非常快。

CPU的高速缓存,通常可以分为L1、L2、L3这样的三层高速缓存,也称为一级缓存、二级缓存、三级缓存。如图2所示:

 图2 Cache缓存结构图

L1高速缓存

L1高速缓存的访问速度几乎和寄存器一样快,通常只需要2~4个时钟周期,而大小在几十KB到几百KB不等。

每个CPU核心都有一块属于自己的L1高速缓存,指令和数据在L1是分开存放的,所以L1高速缓存通常分成指令缓存和数据缓存。

L2高速缓存

L2高速缓存同样每个CPU核心都有,但是L2高速缓存位置比L1高速缓存距离CPU核心更远,它大小比L1高速缓存更大,CPU型号不同大小也就不同,通常大小在几百KB到几MB不等,访问速度则更慢,速度在10~20个时钟周期。

L3高速缓存

L3高速缓存通常是多个CPU可信共用的,位置比L2高速缓存距离CPU可信更远,大小也会更大些,通常大小在几MB到几十MB不等,具体值根据CPU型号而定。

访问速度相对也比较慢一些,访问速度在20~60个时钟周期。

2.内存

内存用的芯片和CPU Cache有所不同,他使用的是一种叫做DRAM(Dynamic Random Access Memory)的芯片。

相比SRAM,DRAM的密度更高,功耗更低,有更大的容量,而且造价比SRAM芯片便宜很多。

DRAM存储一个bit数据,只需要一个晶体管和一个电容就能存储,但是因为数据会被存储在电容里,电容会不断漏电,所以需要定时刷新电容,才能保证数据不会丢失,这就是DRAM之所以被称为动态存储器的原因,只有不断刷新,数据才能被存储起来。

DRAM的数据访问电路和刷新电路都比SRAM更复杂,所以访问的速度会更慢,内存速度大概在200~300个时钟周期之间。

3.SSD、HDD硬盘

SSD(Solid-state disk)就是我们常说的固体硬盘,结构和内存类似,但是它相比内存的优点是断电后数据还是存在的,而内存、寄存器、高速缓存断电后数据都会丢失。内存的读写速度比SSD快10~1000倍。

当然,还有一款传统的硬盘,也就是机械硬盘,它是通过物理读写的方式来访问数据的,因此它访问速度是非常慢的,它的速度比内存慢10W倍左右。

由于SSD的价格快接近机械硬盘了,因此机械硬盘已经逐渐被SSD替代了。

4.存储器之间的实际价格和性能差距

存储器之间的实际价格和性能差距如图4所示

 图4 存储器之间的实际价格和性能差距

总结

从寄存器、CPU Cache,到内存、硬盘,这样一层层下来的存储器,访问速度越来越慢,存储容量越来越大,价格也越来越便宜,而且每个存储器之和相邻的一层存储器设备打交道,于是这样就形成了存储器的层次结构。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值