跳转至

ch4 存储子系统

1. 存储系统概述

【存储系统的层次结构】

  • 主存(内存):主要存放 CPU 当前使用的指令和数据。能随机访问,工作速度快,有足够的存储容量。
  • 辅存(外存):存放大量的后备程序和数据。速度较慢,容量较大。
  • 高速缓冲存储器(Cache):存放 CPU 在当前一小段时间内多次使用的程序和数据,以缓解 CPU 和主存的速度差异。速度非常快,容量却很小。

【物理存储器】物理形态上真实存在的存储器,简称为实存,其地址称为物理地址或实地址。

【虚拟存储器】虚拟存储器是一个逻辑模型,并非物理存在,基于物理存储器并靠硬件+操作系统的地址映射来实现。逻辑上能提供比物理存储器更大的虚拟存储空间,相关地址称为虚地址或逻辑地址。

【存储器的分类:按存储介质】

  • 半导体存储器
    • 静态存储器:利用双稳态触发器的两个稳态状态存储信息,信息易失。
    • 动态存储器:依靠电容上的电荷暂存信息,主存。
  • 磁表面存储器:利用磁层上不同方向的磁化区域表示信息,容量大,非破坏性读出,长期保存信息,速度慢,外存。
  • 光盘存储器:利用光斑的有无 / 晶相等变化表示信息,容量很大,非破坏性读出,长期保存信息,速度慢,外存。

【存储器的分类:按存取方式】

  • 随机存取存储器:按地址访问存储器中的任一单元,访问时间与存储单元的地址无关。
  • 顺序存取存储器:访问时读 / 写部件按顺序查找目标地址,访问时间与数据的存储位置有关。
  • 直接存取存储器:访问时读 / 写部件先粗定位一个小区域,再在该区域内顺序查找。

【存储器的技术指标】

  • 存取时间:从存储器收到读写命令,到存储器读出(写入)信息所需要的时间 \(T_A\)
  • 存取周期:存储器做连续访问操作过程中一次完整的存取操作所需的总时间 \(T_M\),通常 \(T_M > T_A\)
  • 数据传输率 R:单位时间内存取信息的数据量,也叫带宽或频宽,等于【存储器的位宽 / 存取周期】\(\tt bps\)

2. 半导体存储原理与芯片

【相关术语】

  • TTL:晶体管 - 晶体管逻辑
  • ECL:射极耦合逻辑
  • MOS:金属氧化物半导体,即场效应管
  • CMOS:互补对称金属氧化物半导体

【静态存储器】主要包括双极型、静态 MOS 型,依靠双稳态电路内部交叉反馈机制存储信息。功耗较大,速度快,常用作 Cache。

【动态存储器】主要包括动态 MOS 型等,依靠电容存储电荷的原理存储信息。功耗较小,容量大,速度较快,常用作主存。

【半导体 ROM 存储器】

  • MROM:掩模型的只读存储器,根据存储信息的二进制代码,设计相应的光刻掩模。存储的信息固定不变,不可改写。可应用于字符点阵存储器、微程序存储器等。
  • PROM:可编程型的只读存储器,芯片出厂时其存储的内容全为 \(0\),用户可通过专用的写入器将信息自行写入。写入操作是不可逆的,用户只能写入一次,无法再次重写数据,常用于可编程逻辑阵列(PLA)等。
  • EPROM:擦除型可编程的只读存储器,写入器在 \(\tt 25\ V\) 下写入数据,在 \(\tt 5\ V\) 下读数据,通过紫外线照射擦除数据。工作环境下存储芯片为只读模式,可擦写次数有限,通常几十次,需专用擦写器,只能芯片级擦除。
  • EEPROM:电擦除型可编程只读存储器,采用了更方便的高电压擦除数据的方式,可只对特定存储单元加高压形成电子隧道擦除其数据,其它单元数据保持不变。工作环境下存储芯片为只读模式,比 EPROM 更方便,需要专用擦写器,可实现比特级擦除。
  • FLASH:闪存,是一种快速擦写型的 ROM,沿用了 EPROM 的简单结构和浮栅 / 热电子注入写入方式,可芯片级擦除,兼备 EEPROM 的比特级电擦除特性。掉电时信息不丢失,功耗低、存储密度高。芯片级 + 比特级数据擦除方式,读写速度很快,可在计算机内实现擦写,不需要专用擦写器。典型应用如 U 盘、SSD 固态硬盘等。

3. 半导体存储器的组织逻辑

【存储器的设计原则】

  • 接口协议的匹配:物理特性、功能规范、电平特性、时序逻辑等。
  • 存储芯片(颗粒)选择:失电后保存信息(SRAM 或 ROM);运行期存储信息(DRAM)。
  • 存储器的地址分配与地址译码:芯片内部地址、芯片选择信号。
  • 芯片的布局和排线:地址线、数据线、片选、R/W 控制线等。

【主存与 CPU 的连接】

  • 模块式直连:CPU 与存储器直接相连;存储容量小,SRAM;CPU - 存储器,两者集成在一块插卡上,作为一个单独的计算模块来使用。
  • 部件式总线挂接:存储器通过总线与 CPU 相连;存储器独立、容量大,DRAM;会与总线上的其它部件争夺总线控制权。
  • 专用存储总线:存储器与 CPU 之间增设了专用的高速存储总线;存储器独立、容量大,DRAM;存储器独享存储总线的带宽。

4. 磁存储原理与磁盘

【基体与磁层】存储介质:磁层材料;读 / 写部件:磁头。

  • 数据写入:磁头线圈中加磁化电流(写入电流),磁层移动,形成连续的小段磁化区(位单元区)。
  • 读出数据:线圈中不加电流,磁层移动。当位单元的转变区经过磁头下方时,线圈两端会产生感应电势 \(e\)

【磁化方式】水平磁化;垂直磁化。

【磁记录的编码方式】

  • 不归零 - \(1\) 制:写 \(0\):电流不变;写 \(1\):电流翻转
  • 调相制:写 \(0\):在中间位置让写入电流负跳变;写 \(1\):在中间位置让写入电流正跳变
  • 调频制:每位的起始处写入电流跳变 \(1\) 次,以作为同步信号,在中间位置:写 \(0\) 则不变、写 \(1\) 则跳变

【磁盘系统】包括盘片、磁盘驱动器、磁盘控制器与接口,以及硬盘驱动程序。

  • 信息分布
    • 盘组:多个盘片,双面记录。
    • 圆柱面:各记录面上相同序号的磁道构成一个圆柱面。
    • 数据块:扇区(定长记录格式)、记录块(不定长记录格式)。
  • 寻址方式:驱动器号 \(\to\) 圆柱面号 \(\to\) 磁头号 \(\to\) 扇区号 \(\to\) 字节序号。
  • 技术指标
    • 记录密度:磁道密度(盘面上单位径向长度内的磁道数),位密度(磁道上单位长度可记录的比特数量)。
    • 存储容量:格式化容量(通过扇区来计算),非格式化容量(通过位密度来计算)。
    • 速度指标:平均存取时间(寻道 + 旋转),数据传输率(带宽)。

5. 光存储原理与光盘

【光存储原理】用激光照射存储介质,使其发生某种物理化学的特性变化,据此记录信息。

【存储介质特性】包括形变型、相变型、磁光型。

【光道特征】每个光道也划分成若干扇区,由内向外的螺旋线,与蚊香的结构相似。

【光盘分类】

  • 按读写特性:分为只读型光盘、读写型光盘。
  • 按激光种类:CD 光盘、DVD 光盘、BD 光盘。

【工作原理】光 - 电转换,读写光盘数据。

【性能指标】

  • 读盘模式:包括恒定线速度、恒定角速度、区域恒定角速度。
  • 读盘速度:包括平均寻道时间、倍速指标。
  • 数据缓存容量

6. 计算机三级存储管理体系

【三级存储体系】

  • 外存:确保计算机具有足够大的存储容量;确保数据能脱机保存。
  • 内存:存储运行期指令 / 数据,确保 CPU 能够快速读取。
  • Cache:强化 CPU 快速读取指令和数据的速度。

【Cache 与主存映射】

  • 直接映射:Cache 只分块,不分组;主存既分块,也分组。主存的每一个数据块,只能映射到与其组内序号相同的 Cache 数据块位置。
  • 全相联映射:Cache 只分块,不分组;主存只分块,不分组。主存任何一个块都可以映射到 Cache 的任何一个数据块位置上。Cache 标记太长,判断时间太长;硬件复杂,成本高,实现相对困难。
  • 组相联映射:Cache 既分块,也分组;主存既分块,也分组,组内块数与 Cache 组数相等。主存数据块,映射到与自己组内块序号相同的 Cache 分组,可占据 Cache 分组中的任意数据块位置。定位 Cache 的分组用直接映射;定位 Cache 数据块用全相联映射。这是直接映射和全相联映射的折中,速度快、硬件简单、成本低、易实现。

【常用的替换算法】

  • 最不经常使用(LFU):将一段时间内被访问次数最少的那块从 Cache 中置换出去。
  • 最久被使用(LRU):将近期内最久末被访问过的 Cache 块置换出去。
  • 随机替换:随机确定将哪块从 Cache 中替换出去。

【Cache 的写操作】

  • 通写:Cache 单元和主存单元同时写,使 Cache 和主存保持一致。
  • 回写:只修改 Cache 单元,并用标志将该块加以注明,直到该块从 Cache 中替换出来时才一次性写入主存。

【Cache 的读操作】

  • 旁路式读:CPU 向 Cache 和主存同时发读命令和地址。Cache 命中,则 Cache 回送数据并中断读主存命令;Cache 未命中,则直接访问主存读取数据。
  • 通过式读:CPU 首先向 Cache 发读命令和地址。Cache 命中,则从 Cache 中读出数据;Cache 未命中,再将读命令和地址传给主存并读主存。

【内存与外存的映射】

  • 虚拟存储:在内存和外存之间,由操作系统存储管理模块及相关硬件实现的一种存储映射技术。逻辑上能提供比物理存储器更大的虚拟存储空间,相关地址称为虚拟地址或逻辑地址。
  • 页式虚拟存储管理:主存和外存统一分页后进行管理。页表记录虚地址页号与实地址页号的对应关系,即虚页面调入主存时被安排在主存中的位置(实页号)。可以把活跃的页表项用高速存储器单独存储,访问速度更快,称为快表。
  • 段式虚拟存储器管理:虚存中的程序分段管理(代码段、数据段、共享段)。为了将虚拟地址变换成主存实地址,操作系统创建 \(1\) 个段表。每段在段表中都占有一登记项,内容包括:段号、段起点、段长、装入位等。
  • 段页式虚拟存储管理:每个程序按逻辑模块分段,每段再分页,页面大小与内存页面相同;由操作系统创建两表:段表、页表。虚地址格式:段号 + 页号 + 页内地址;实地址格式:页号 + 页内地址。

7. 其它高性能存储系统介绍

【双端口存储器】同一个存储器具有两组独立的读写控制线路,两个端口分别具有各自的地址线、数据线和控制线,可进行独立的存取操作。

【磁盘冗余阵列】把多块独立硬盘组合成硬盘组,就可以把相同数据存到不同硬盘,实现多个硬盘的并行读写。三种形态:阵列柜;阵列卡;软件配置式。

【相联存储器】根据存储单元所存内容的一部分作为检索项(即关键字项),去检索存储器,并对存储器中与该检索项符合的存储单元内容进行读出或写入。