计算机存储设备


作者:Seiya

时间:2019年11月10日


概述


存储设备是用于储存信息的设备或设备。通常是将信息数字化后再以利用电、磁或光学等方式的媒体加以存储。


存储设备的分类

  • 按存储介质分类

    半导体存储器:用半导体器件组成的存储器。

    磁表面存储器:用磁性材料做成的存储器。

  • 按存储方式分类

    随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。

    顺序存储器:只能按某种顺序来存取,存取时间与存储单元的物理位置有关。

  • 按存储器的读写功能分类

    只读存储器(R()M):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。

    随机读写存储器(RAM):既能读出又能写入的半导体存储器。

  • 按信息的可保存性分类

    非永久记忆的存储器:断电后信息即消失的存储器。

    永久记忆性存储器:断电后仍能保存信息的存储器。

  • 按在计算机系统中的作用分类

    主存储器(内存):用于存放活动的程序和数据,其速度高、容量较小、每位价位高。

    辅助存储器(外存储器):主要用于存放当前不活跃的程序和数据,其速度慢、容量大、每位价位低。

    缓冲存储器:主要在两个不同工作速度的部件起缓冲作用。


存储系统的层次结构

为提高存储器的性能,通常把各种不同存储容量、存取速度和价格的存储器按层次结构组成多层存储器,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数据按层次分布在各存储器中。

整个结构可看成主存一辅存和Cache-主存两个层次。在辅助硬件和计算机操作系统的管理下,可把主存一辅存作为一个存储整体,形成的可寻址存储空间比主存储器空间大得多。由于辅存容量大,价格低,使得存储系统的整体平均价格降低。Cache-主存层次可以缩小主存和CPU之间的速度差距,从整体上提高存储器系统的存取速度。


局部性原理

局部性原理是指 CPU 访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续趋于中。


大部分电脑中的存储层次如下四层:

  • 寄存器

    可能是最快的访问。在32位处理器,每个寄存器就是32位。x86处理器共有16个寄存器。

  • 高速缓存

    第一级高速缓存(L1)–通常访问只需要几个周期,通常是几十个KB。

    第二级高速缓存(L2)–比L1约有2到10倍较高延迟性,通常是几百个KB或更多。

    第三级高速缓存(L3)(不一定有)–比L2更高的延迟性,通常有数MB之大。

    第四级高速缓存(L4)(不普遍)–CPU外部的DRAM,但速度较主存高。

  • 主存(DRAM)

    访问需要几百个周期,可以大到数十GB。

  • 磁盘存储

需要成千上百个周期,容量非常大。



主存与辅存


主存

主存(Main memory)即电脑内部最主要的存储器,用来加载各式各样的程序与数据以供CPU直接运行与运用,也被称为:随机存取存储器。它可以随时读写(刷新时除外,见下文),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。


  • 主存的分类:

    • 静态随机存取存储器(SRAM)

      SRAM 具有快速访问的优点,但生产成本较为昂贵,一个典型的应用是缓存。

      SRAM 是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM)里面所储存的数据就需要周期性地更新。

    • 动态随机存取存储器(DRAM)

      DRAM 由于具有较低的单位容量价格,所以被大量的采用作为系统的主存。

      DRAM 是一种半导体存储器,主要的作用原理是利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0。通常以一个电容和一个晶体管为一个单元排成二维矩阵,基本的操作机制分为读(Read)和写(Write)。


  • 主存的特点:

    • 随机存取

      所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。相对地,有串行访问存储器包括顺序访问存储器(如:磁带)和直接访问存储器(如:磁盘)。

    • 易失性

      当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM则不会。

    • 较高的访问速度

      现代的随机存取存储器几乎是所有访问设备中写入和读取速度最快的,访问延迟也和其他涉及机械运作的存储设备(如硬盘、光盘驱动器)相比,也显得微不足道。但速度仍然不如作为CPU缓存用的SRAM。

      双通道

      双通道是一种能够让电脑性能增加的技术,此种技术将多个存储器由串联方式改良为并联方式,以得到更大的带宽。理论上,双通道能提升存储器两倍的性能;对系统整体性能来说,打开双通道带来的性能提升约为2至3%,最好的情况是提升约5%。

      如果是纯粹的CPU运算,使用双通道近乎没有性能增长。但对于高端游戏玩家或是绘图需求较大的用户而言,双通道技术不吝为一大帮助,因为GPU要经常访问纹理贴图数据,需要很大的存储器带宽。

    • 需要刷新

      现代的随机存取存储器依赖RAM存储数据。电容器充满电后代表1(二进制),未充电的代表0。

      由于电容器或多或少有漏电的情形,若不作特别处理,电荷会渐渐随时间流失而使数据发生错误。刷新是指重新为电容器充电,弥补流失了的电荷。

    • 对静电敏感

      正如其他精细的集成电路,随机存取存储器对环境的静电荷非常敏感。静电会干扰存储器内电容器的电荷,引致数据流失,甚至烧坏电路。故此触碰随机存取存储器前,应先用手触摸金属接地。

    • 价格不断下降

      参见:摩尔定律


  • 主存的使用:

    电脑运行时,电脑的主内存按照被使用情况可分类为:

    • 可利用(Available)物理内存:可立即分配给程序使用的内存

      • 空闲(Free)物理内存:完全未被使用,内容为全 0;

      • 缓存(Cached)物理内存:

        • 备用(standby)物理内存:操作系统预先把可能要用到的硬盘数据加载所占用的内存,还没被用户进程所使用,因此可随时丢弃从新初始化为0;

        • 已修改(modified)物理内存:已被修改过的caching用途的内存,可在任意时刻写回硬盘文件(不是分页文件)然后被重用。由于硬盘I/O,已修改(modified)物理内存不能计入空闲(Free)物理内存;

    • 被使用(used)物理内存:已经被进程使用的内存

      • 用户进程使用的物理内存,即工作集(Working set)。

        Working Set包含了可能被其他程序共享的内存, 例如DLL。所以所有进程的Working Set加起来有可能大于实际的被使用(used)的物理内存。

      • 核心进程使用的物理内存:

        • 分页的核心进程使用的物理内存:可以交换到分页文件中,从而可被回收的物理内存

        • 未分页(Non paged)的核心进程使用的物理内存:不能交换到分页文件的内存,总是要保留在物理内存中

辅存

电脑中主要的辅助存放设备就是硬盘。硬盘(英语:Hard Disk Drive,缩写:HDD)是电脑上使用坚硬的旋转盘片为基础的非易失性存储器,它在平整的磁性表面存储和检索数字数据。


  • 硬盘的物理结构:

    硬盘的物理结构一般由磁头与碟片、电动机、主控芯片与排线等部件组成;当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与碟片同心的圆形轨道(磁轨或称柱面),这时由磁头的磁感线圈感应碟面上的磁性与使用硬盘厂商指定的读取时间或数据间隔定位扇区,从而得到该扇区的数据内容;

    • 磁道

      当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)。

    • 柱面

      在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)。

    • 扇区

      磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区。


  • 硬盘的逻辑结构:

    操作系统对硬盘进行读写时需要用到文件系统把硬盘的扇区组合成簇,并创建文件和树形目录制度,使操作系统对其访问和查找变得容易,这是因为操作系统直接对数目众多的扇区进行寻址会十分麻烦。


  • MBR 和 GPT:

    • 主引导记录

      主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是电脑引导后访问硬盘时所必须要读取的首个扇区,主引导扇区记录着硬盘本身的相关消息以及硬盘各个分割的大小及位置消息,是数据消息的重要入口。如果它受到破坏,硬盘上的基本数据结构消息将会丢失,需要用繁琐的方式试探性的重建数据结构消息后才可能重新访问原先的数据。

    • 全局唯一标识分区表

      全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分。


  • 磁盘的Load算法

    • 先来先服务算法

    • 最短寻道时间优先算法

    • 扫描算法(电梯算法)

    • 循环扫描算法

最后更新时间: 2019-11-11 17:32:10