计算机系统中的存储系统

计算机系统中包含各种存储器,如CPU内部的通用寄存器组、CPU内的Cache(高速缓存)、CPU外部的Cache、主板上的主存储器、主板外的联机磁盘存储器以及脱机的磁带存储器和光盘存储器等。不同特点的存储器通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。

存储器的层次结构

计算机系统中的存储系统_第1张图片

存储器的分类

计算机系统中的存储系统_第2张图片

相联存储器

相联存储器是一种按内容访问的存储器。

其工作原理就是把数据或数据的某一部分作为关键字,按顺序写入信息,读出时并行地将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字,特别适合信息的检索与更新。
计算机系统中的存储系统_第3张图片
输入检索寄存器:存放要检索的内容(关键字);

屏蔽寄存器:屏蔽不参与检索的字段;

比较器:将检索的关键字与存储体的每一单元进行比较,为了提高速度,比较器一般比较多;

匹配寄存器:存储比较结果;

相联存储器可用在高速缓冲器中,在虚拟存储器中用来作为段表、页表或快表存储器。

高速缓存

高速缓存用来存放当前最活跃的程序和数据,特点:位于CPU和主存之间;容量一般在几千字节到几兆字节之间;速度一般比主存快5~10倍,由快速半导体存储器构成;内容是主存局部域的副本,对程序员来说是透明的。
计算机系统中的存储系统_第4张图片
(1)高速缓存的组成
存储器部分:存放主存的部分拷贝信息;

控制部分:判断CPU要访问的信息是否在Cache存储器中,名中则直接对Cache存储器寻址;未命中时,按照替换原则将主存中的信息加入到Cache存储器。

(2)高速缓存的地址映像方法

直接映像:

主存的块与Cache块的对应关系是固定的,主存中的块只能存放在Cache存储器的相同块号中,因此只要主存地址中的主存区号与Cache中的记录的主存区号相同,则表明访问Cache命中。
计算机系统中的存储系统_第5张图片
特点:地址变换简单,但是灵活性差,不同区号中块号相同的块无法同时调入Cache存储器,即使Cache存储器中有空着的块也不能利用。

全相联映像:

主存与Cache存储器均分成大小相同的块,这种映像方式允许主存的任意一块可以调入Cache存储器的任意一块的空间中
计算机系统中的存储系统_第6张图片
特点:主存的块调入Cache的位置不受限制,十分灵活,但是地址变换比较复杂,速度较慢。

例如:
计算机系统中的存储系统_第7张图片
组相联映像:

这种方式是前两种方式的折中,具体方法是将Cache中的块再分组,规定组采用直接映像方式而块采用全相联方式,也就是说主存一组中的任一快可以存入Cache相应组的任一块中。

(3)替换算法
替换算法的目标就是使Cache获得尽可能高的命中率。常用算法有如下几种:随机替换算法、先进先出算法(FIFO)、近期最少使用算法、优化替换算法。

(4)Cache性能分析
Cache的性能是计算机系统性能的重要方面。命中率是Cache的一个重要指标。Cache设计的目标是在成本允许的条件下达到较高的命中率,使存储系统具有最短的平均访问时间。

Cache容量越大,则命中率越高随着Cache容量的增加,其失效率接近0%(命中率接近100%),但是,增加Cache容量意味着增加Cache的成本和增加Cache的命中时间。

(5)多级Cache
在多级Cache的计算机中,Cache分为一级(L1 Cache)、二级(L2 Cache)、三级(L3 Cache)等,CPU访存是首先查找L1 Cache,如果不命中,则访问L2 Cache,直到所有级别的Cache都不命中,才访问主存。通常要求L1 Cache的速度足够快,以赶上CPU的主频
计算机系统中的存储系统_第8张图片

虚拟存储器

在概念上,可以将主存存储器看作一个由若干个字节构成的存储空间,每个字节(称为存储单元)有一个地址编号,主存单元的该地址称为物理地址。当需要访问主存中的数据时,由CPU给出要访问数据所在的存储单元地址,然后由主存的读写控制部件定位对应的存储单元,对其进行读(或写)操作来完成访问操作。

例如:
计算机系统中的存储系统_第9张图片
虚拟存储是一种对主存的抽象,使用虚拟地址(由CPU生成)的概念来访问主存,使用专门的MMU(内存管理单元)将虚拟地址转换为物理地址后访问主存。

虚拟存储器实际上是一种逻辑存储器,实质是对物理存储设备进行逻辑化的处理,并将统一的逻辑视图呈现给用户。用户使用时,操作的是虚拟设备,可以无需关心底层的物理环境,从而可以充分利用基于异构平台的存储空间,达到最优化的使用效率。

外存储器

外存储器以文件的形式存储暂时不用的程序和数据,CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存才能访问。外存储器主要有磁表面存储器、光盘存储器及固态硬盘(采用Flash芯片或DRAM作为存储介质的存储器)构成。
计算机系统中的存储系统_第10张图片

磁盘阵列技术

磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。现在常见的磁盘阵列称为廉价冗余磁盘阵列。

存储局域网

存储局域网是把一个或多个服务器与多个存储设备连接起来,每个存储设备可以是RAID、磁带备份系统、磁带库和CD-ROM库等。

这样的网络不仅解决了服务器对存储容量的要求,还可以使多个服务器之间共享文件系统和辅助存储空间,避免数据和程序代码的重复存储,提高辅助存储器的利用率。

你可能感兴趣的:(计算机系统基础)