计算机系统知识总结——存储系统

存储器的层次结构

存储器的分类

  • 内存:也称为主存,设在主机内或主机板上,用来存放机器当前运行所需要的程序和数据,以便向 CPU 提供信息。相对于外存,其特点是容量小、速度快
  • 外存:也称为辅存,如磁盘、磁带和光盘等,用来存放当前不参加运行的大量信息,而在需要时调入内存。

相联存储器

相联存储器是一种按内容访问的存储器。其工作原理就是把数据或数据的某一部分作为关键字,按顺序写入信息,读出时并行地将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字,特别适合于信息的检索和更新

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

高速缓存

用于存放最活跃的数据,在CPU和内存(主存)之间容量小,但速度是内存的5~10倍,由快速半导体存储器构成,内容是内存的局部副本,对程序员透明。其地址变化与数据块的替换由硬件实现。

Cache 设计的目标是在成本允许的条件下达到较高的命中率,以提高平均访问速度。

组成部分

  • 存储部分:存放主存的部分拷贝信息
  • 控制部分:判断 CPU 要访问的信息是否在 Cache 存储器中,若在即为命中。命中时直接对 Cache存储器寻址;未命中时,要按照替换原则决定主存的一块信息放到 Cache 存储器的哪一块里(人话:CPU先去 cache 里找,找不到再去主存里找,找到根据替换原则后放 cache 里)。

映像方法

Cache 和主存之间的映射由硬件完成。

  • 直接映像

主存的块与Cache块的对应关系是固定的。

地址变换简单,但灵活性差(不同区号中块号相同的块无法同时调入Cache中)。

  • 全相联映像

允许主存的任一块可以调入 Cache 存储器的任何一个块的空间中。

全相联映像的主要优点是主存的块调入 Cache 的位置不受限制,十分灵活。其主要缺点是无法从主存块号中直接获得 Cache 的块号,变换比较复杂,速度比较慢。

  • 组相联映像

这种方式是前面两种方式的折中。具体方法是将 Cache 中的块再分成组。例如,假定 Cache 有16块,再将每两块分为1组,则 Cache 就分为8组。主存同样分区,每区16块,再将每两块分为1组,则每区就分为8组。组采用直接映像方式而块采用全相联映像方式。

替换算法

替换算法的目标就是使 Cache 获得尽可能高的命中率。

  • 随机替换算法

用随机数发生器产生一个要替换的块号,将该块替换出去。

  • 先进先出算法

最先进入 Cache 的信息块替换出去。

  • 近期最少使用算法

将近期最少使用的 Cache 中的信息块替换出去。

  • 优化替换算法

这种方法必须先执行一次程序,统计 Cache 的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换。

Cache 的性能分析

假设 Cache 访问和主存访问是同时启动的,Cache 存储器的等效加权平均访问时间t_a为

其中H_c为Cache的命中率;t_c为Cache的存取时间(即Cache命中时的访问时间);t_m为主存的访问时间,(t_m - t_c)为失效访问时间。

如果在 Cache 不命中时才启动主存,则

Cache 容量越大Cache 命中率越高。

多级 Cache

Cache 分为一级(L1 Cache)、二级(L2 Cache)、三级(L3 Cache)等,CPU 访存时首先查找 L1Cache,如果不命中,则访问L2 Cache,直到所有级别的 Cache都不命中,才访问主存。通常要求 L1 Cache 的速度足够快,以赶上 CPU 的主频。如果 Cache为两级,则Ll Cache 的容量一般都比较小,为几千字节到几十千字节;L2 Cache 则具有较高的容量,一般为几百字节到几兆字节,以使高速缓存具有足够高的命中率

虚拟存储器

虚拟存储(Virtual Memory)技术是把很大的程序(数据)分成许多较小的块,全部存储在辅存中。运行时把要用到的程序(数据)块先调入主存,并且把马上就要用到的程序块从主存调入高速缓存。这样就可以一边运行程序,一边进行所需程序(数据)块的调进或调出。

其分类如下:

外存储器

外存储器用来存放暂时不用的程序和数据,并且以文件的形式存储。CPU 不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存才可访问。有如下种类:

  • 磁盘存储器:

磁盘存储器由盘片、驱动器、控制器和接口组成。盘片用来存储信息。驱动器用于驱动磁头沿盘面径向运动以寻找目标磁道位置,驱动盘片以额定速率稳定旋转,并且控制数据的写入和读出。控制器接收主机发来的命令,将它转换成磁盘驱动器的控制命令,并实现主机和驱动器之间数据格式的转换及数据传送,以控制驱动器的读写操作。一个控制器可以控制一台或多台驱动器。接口是主机和磁盘存储器之间的连接逻辑

磁盘存取时间:寻道时间+等待时间(平均定位时间+转动延迟)

  • 光盘存储器:

只读型光盘是由生产厂家预先用激光在盘片上蚀刻不能再改写的各种信息,目前这类光盘的使用很普遍。只写一次型光盘是指由用户一次写入、可多次读出但不能擦除的光盘,写入方法是利用聚焦激光束的热能,使光盘表面发生永久性变化而实现的。可擦除型光盘是读/写型光盘,它是利用激光照射引起介质的可逆性物理变化来记录信息。

  • 固态硬盘:

固态硬盘的存储介质分为两种,一种是采用闪存(FLASH 芯片)作为存储介质,另外种是采用 DRAM 作为存储介质。基于闪存的固态硬盘是固态硬盘的主要类别,其主体是一块 PCB 板,板上最基本的配件就是控制芯片缓存芯片和用于存储数据的闪存芯片

固态硬盘具有传统机械硬盘不具备的读写快速、质量轻、能耗低以及体积小等特点,但其价格仍较为昂贵,容量较低,一旦硬件损坏,数据较难恢复

磁盘阵列技术

磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。现在常见的磁盘阵列称为廉价冗余磁盘阵列(Redundant Aray ofIndependent Disk,RAID)。目前,常见的 RAID 如下:

存储网络

在大型服务器系统的背后都有一个网络,把一个或多个服务器与多个存储设备连接起来,每个存储设备可以是 RAID、磁带备份系统、磁带库和 CD-ROM 库等,构成了存储域网络(Storage Area Network,SAN)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值