存储器(Memory)是现代信息技术中用于保存信息的记忆设备。有了存储器,计算机才有记忆功能,才能保证正常工作。近年来,随着数据的不断激增,传统的存储器已经不能满足日益增长的数据需求,企业需要拥有接近CPU速度的、大容量的存储器。
程序是计算机操作的依据,数据是计算机操作的对象。不管是程序还是数据,在存储器中都是二进制编码,也就是由“0”、“1”表示的代码。
为了实现自动计算,这些信息必须预先存放在存储器中,存储器就是用来存储这些信息的,它由能储存信息的介质组成。20世纪70年代中期之前,存储器的主要介质是磁芯。现在已经被半导体存储器所取代。存储器被划分为许多单元,每个单元里存放一个数据或是一条指令,见图1-3。存储单元按照某种顺序编号,每个存储单元对应一个编号,称为单元地址,用二进制编码表示。给定一个单元地址,就可以获得该存储单元中的信息,即存储单元地址与存储在其中的信息是一一对应的,单元地址只有一个,固定不变,而存储在其中的信息是可以更换的。
图1-3存储器组成框图
向存储单元中存入或是取出信息,都称为访问存储器。访问存储器时,先由地址译码器将送来的单元地址进行译码,找到相应的存储单元,再由读/写控制电路确定访问存储器的方式,是取出(读)还是输入(写);然后按照规定的方式具体完成读或写的操作。
与存储器有关的还有地址总线与数据总线。它们分别是为存储器提供单元地址和数据信息的。在计算机运行的过程中,存储器的内容是不断变化的:已经执行完的程序没有保留的必要,需要装入新的程序;一开始存入的原始数据,也不断地被计算结果所替代。
存储器所有存储单元的总数为存储器的存储容量,通常用单位KB,MB,GB,TB等来表示,如64KB,128GB。存储量越大,表示计算机能够记忆存储的信息越多。半导体存储器通常作为计算机的主要存储器来使用,称为主存。但是由于其存储容量毕竟有限,因此计算机中要配备存储容量更大的磁盘存储器和光盘存储器,称为辅助存储器。图1-4为实际存储器的层次结构,从中可以看到,各级存储器是在大小上成指数增长的同时,在访问速度上成指数下降。与CPU最靠近的存储器容量最小,典型值位于8KB数据到2MB数据之间,称之为Cache。这些片上Cache存储器的访问时间可以小到0.5ns。
图1-4存储器层次结构图
目前的处理器中通常有两级Cache,在一级Cache之下就是二级Cache。在当今的奔腾微处理器中,这两级Cache通常都集成在处理器芯片中。事实上,如果直接用显微镜观察奔腾处理器的硅片,你会惊讶地发现,占有芯片面积百分比最大的是Cache存储器。
二级Cache位于计算机的主存储器之上。主存就是在电脑市场买到的存储器条,即内存条。这种存储器比片上Cache慢很多,但容量比Cache大得多。主存的下一级是硬盘。硬盘有很大的容量,但这要以牺牲速度为代价。硬盘是一种机电设备,数据存储于旋转磁盘上,以每分钟7200转的高速度旋转,需要宝贵的时间使正确的数据处于磁盘读写头之下。而且,数据被组织成独立的磁道,这些磁道分布在多个盘片的每一面上。为访问正确的数据,读写头必须在磁道间移动,这也需要花费一定的时间。
由于存储器的层次结构,通常将需要的程序和数据存放在硬盘中,需要运行的程序和数据存在于主存当中。这样可以利用磁盘作为一个便利的交换场所,将在某个时间不需要的程序和数据交换到硬盘。从图1-4中可以看到硬盘与主存的访问时间比例能达到20000∶1,因此任何时候访问硬盘都要等待。所以,为了提高性能,应尽可能多地增加主存容量。而Cache的作用在于它的速度能够接近于CPU的运行速度,因此将那些正在使用的程序和数据逐步地放入二级Cache或者一级Cache当中,由于Cache具有与CPU相当的速度,而硬盘具有相当大的容量,因此,通过这样的存储器系统,就可以拥有接近CPU速度的、大容量的存储器。
(原标题:计算机存储器系统,拥有接近CPU速度的、大容量的存储器)