Skip to content

存储器的层次结构

目录


参考资料:


在计算机执行时,几乎每一条指令都涉及对存储器的访问,因此要求对存储器的访问速度能跟得上处理机的运行速度。或者说,存储器的速度必须非常快,能与处理机的速度相匹配,否则会明显地影响到处理机的运行。此外还要求存储器具有非常大的容量,而且存储器的价格还应很便宜。

对于这样十分严格的三个条件,目前是无法同时满足的。于是在现代计算机系统中都无一例外地采用了多层结构的存储器系统。

1 多层结构的存储器系统

1.1 存储器的多层结构

对于通用计算机而言,存储层次至少应具有三级:最高层为 CPU 寄存器,中间为主存,最底层是辅存。在较高档的计算机中,还可以根据具体的功能细分为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质等 6 层。如下图所示。

寄存器+主存+辅存

在存储层次中,层次越高(越靠近 CPU),存储介质的访问速度越快,价格也越高,相对所配置的存储容量也越小。其中,寄存器、高速缓存、主存储器和磁盘缓存均属于操作系统存储管理的管辖范畴,掉电后它们中存储的信息不再存在。而低层的固定磁盘和可移动存储介质则属于设备管理的管辖范畴,它们存储的信息将被长期保存。

主存断电信息会丢失,辅存可以长期保存信息

1.2 可执行存储器

在计算机系统的存储层次中,寄存器和主存储器又被称为可执行存储器。对于存放于其中的信息,与存放于辅存中的信息相比较而言,计算机所采用的访问机制是不同的,所需耗费的时间也是不同的。

进程可以在很少的时钟周期内使用一条 loadstore 指令对可执行存储器进行访问。但对辅存的访问则需要通过 I/O 设备实现,因此,在访问中将涉及到中断、设备驱动程序以及物理设备的运行,所需耗费的时间远远高于访问可执行存储器的时间,一般相差 3 个数量级甚至更多。 j 对于不同层次的存储介质,由操作系统进行统一管理。操作系统的存储管理负责对可执行存储器的分配、回收,以及提供在存储层次间数据移动的管理机制,例如主存与磁盘缓存、高速缓存与主存间的数据移动等。而设备和文件管理则根据用户的需求,提供对辅存的管理机制。

存储管理指的是对可执行存储器的管理,设备和文件管理针对的是辅存的管理

2 主存储器与寄存器

2.1 主存储器

主存储器简称内存或主存,是计算机系统中的主要部件,用于保存进程运行时的程序和数据,也称可执行存储器。

通常,处理机都是从主存储器中取得指令和数据的,并将其所取得的指令放入指令寄存器中,而将其所读取的数据装入到数据寄存器中;或者反之,将寄存器中的数据存入到主存储器。

由于主存储器访问速度远低于 CPU 执行指令的速度,为缓和这一矛盾,在计算机系统中引入了寄存器和高速缓存。

2.2 寄存器

寄存器具有与处理机相同的速度,故对寄存器的访问速度最快,完全能与 CPU 协调工作,但价格却十分昂贵,因此容量不可能做得很大。

在早期计算机中,寄存器的数目仅为几个,主要用于存放处理机运行时的数据,以加速存储器的访问速度,如使用寄存器存放操作数,或用作地址寄存器加快地址转换速度等。随着 VLSI(超大规模集成电路) 的发展,寄存器的成本也在迅速降低,在当前的微机系统和大中型机中,寄存器的数目都已增加到数十个到数百个,而寄存器的字长一般是 32 位或 64 位;而在小型的入式计算机中,寄存器的数目仍只有几个到十几个,而且寄存器的字长通常只有 8 位。

3高速缓存和磁盘缓存

3.1 高速缓存

高速缓存是现代计算机结构中的一个重要部件,它是介于寄存器和存储器之间的存储器,主要用于备份主存中较常用的数据,以减少处理机对主存储器的访问次数,这样可大幅度地提高程序执行速度。高速缓存容量远大于寄存器,而比内存约小两到三个数量级左右,从几十 KB 到几 MB,访问速度快于主存储器。在计算机系统中,为了缓和内存与处理机速度之间的矛盾,许多地方都设置了高速缓存。

可设置两级或多级高速缓存

3.2 磁盘缓存

由于目前磁盘的 I/O 速度远低于对主存的访问速度,为了缓和两者之间在速度上的不匹配,而设置了磁盘缓存,主要用于暂时存放频繁使用的一部分磁盘数据和信息,以减少访问磁盘的次数。但磁盘缓存与高速缓存不同,它本身并不是一种实际存在的存储器,而是利用主存中的部分存储空间暂时存放从磁盘中读出(或写入)的信息。主存也可以看作是辅存的高速缓存,因为,辅存中的数据必须复制到主存方能使用,反之,数据也必须先存在主存中,才能输出到辅存。

Copyright © 2022 田园幻想乡 浙ICP备2021038778号-1