概述
目录
存储器结构
可执行寄存器
主存储器
寄存器
高速缓存
磁盘缓存
存储器结构
对于通用计算机而言,存储层次至少应具有三级:最高层为CPU寄存器,中间为主存,最底层是辅存。这三层还可进一步划分(如下图),其中CPU寄存器和主存属于操作系统的管辖范畴,掉电后它们中存储的信息不再存在;而辅存则属于持久化保存介质,它们存储的信息会被长期保存。
可执行寄存器
在计算机系统的存储层次中,CPU寄存器和主存又被称为可执行存储器。进程可以在很少的时钟周期内使用一条load或 store指令对可执行存储器进行访问。但对辅存的访问则需要通过IO设备实现。因此,在访问中将涉及到中断、设备驱动程序以及物理设备的运行,所需耗费的时间远远高于访问可执行存储器的时间,一般相差3个数量级甚至更多。
主存储器
主存储器简称内存或主存,用于保存进程运行时的程序和数据,也称可执行存储器。
通常,处理机都是从主存储器中取得指令和数据的,并将其所取得的指令放入指令寄存器中,而将其所读取的数据装入到数据寄存器中;或者反之,将寄存器中的数据存入到主存储器。
由于主存储器访问速度远低于CPU执行指令的速度,为缓和这一矛盾,在计算机系统中引入了寄存器和高速缓存。
寄存器
寄存器具有与处理机相同的速度,故对寄存器的访问速度最快,完全能与CPU协调工作。寄存器主要用于存放处理机运行时的数据,以加速存储器的访问速度,如使用寄存器存放操作数,或用作地址寄存器加快地址转换速度等。
高速缓存
高速缓存是现代计算机结构中的一个重要部件,它是介于寄存器和存储器之间的存储器,主要用于备份主存中较常用的数据,以减少处理机对主存储器的访问次数,这样可大幅度地提高程序执行速度。高速缓存容量远大于寄存器,而比内存约小两到三个数量级左右,从几十KB到几MB,访问速度快于主存储器。
通常,进程的程序和数据存放在主存储器中,每当要访问时,才被临时复制到一个速度较快的高速缓存中。这样,当CPU访问一组特定信息时,须首先检查它是否在高速缓存中,如果已存在,便可直接从中取出使用,以避免访问主存,否则,就须从主存中读出信息。如大多数计算机都有指令高速缓存,用来暂存下一条将执行的指令,如果没有指令高速缓存,CPU将会空等若干个周期,直到下一条指令从主存中取出。由于高速缓存的速度越高价格也越贵,故在有的计算机系统中设置了两级或多级高速缓存。紧靠内存的一级高速缓存的速度最高,而容量最小,二级高速缓存的容量稍大,速度也稍低。
磁盘缓存
由于目前磁盘的IO速度远低于对主存的访问速度,为了缓和两者之间在速度上的不匹配,而设置了磁盘缓存,主要用于暂时存放频繁使用的一部分磁盘数据和信息,以减少访问磁盘的次数。但磁盘缓存与高速缓存不同,它本身并不是一种实际存在的存储器,而是利用主存中的部分存储空间暂时存放从磁盘中读出(或写入)的信息。主存也可以看作是辅存的高速缓存,因为,辅存中的数据必须复制到主存方能使用,反之,数据也必须先存在主存中,才能输出到辅存。
一个文件的数据通常被存储在辅存中(如硬盘),当其需要运行或被访问时,就必须调入主存,也可以暂时存放在主存的磁盘高速缓存中。
最后
以上就是瘦瘦柠檬为你收集整理的【操作系统】存储器笔记的全部内容,希望文章能够帮你解决【操作系统】存储器笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复