# 主存储器与 CPU 的连接

# 单块存储芯片与 CPU 的连接

扩展主存字数 —— 字扩展

数据总线宽度 > 存储芯片字长 —— 位扩展

注:现在的计算机 MAR、MDR 通常集成在 CPU 内部。存储芯片内只需一个普通的寄存器 (暂存输入、输出数据)

# 多块存储芯片与 CPU 的连接

位扩展:

位扩展1

位扩展2

数据总线数目大于存储器的数据总线数目,将每一个存储器的数据线与一部分数据总线连接,扩展位数

字扩展:

字扩展

CPU 的地址线数大于存储器的地址线数,因此用 CPU 多余的地址线来作为片选器,用于控制存入哪一片存储器。

线选法译码片选法
n 条线 ->n 个选片信号n 条线 ->2^n 个选片信号
电路简单电路复杂
地址空间不连续地址空间可连续

字位同时扩展法:

将字扩展和位扩展结合在一起就是字位同时扩展法

# 关于译码器知识的补充

3-8 译码器:

将 3 位输入译码成 8 中不同输出。每个译码器有一个或多个使能端

注:CPU 可使用译码器的使能端控制片选信号的生效时期

# 磁盘存储器

外存储器:计算机的外存储器又称为辅助存储器,目前主要使用磁盘表面存储器。

所谓 "磁表面存储",是指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁盘表面存储器

磁表面存储器优点:

  • 存储容量大,位价格低
  • 记录介质可以重复使用;
  • 记录信息可以长期保存而不丢失,甚至可以脱机存档
  • 非破坏性读出,读出时不需要再生

磁表面存储器缺点:

  • 存取速度慢
  • 机械结构复杂
  • 对工作环境要求较高

外存储器既可以作为输入设备,也可以作为输出设备。(既可以存数据,也可以读数据)

# 磁盘的设备的组成

  • 存储区域

    • 一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区 (也称块) 是磁盘读写的最小单位,也就是说磁盘按块存取
      • 磁头数:即记录面数,表示硬盘总共有多少个磁头,磁头用于读写 / 写入盘片上记录面的信息,一个记录面对应一个磁头
      • 柱面数:表示硬盘每一面盘面上由多少条磁道。在一个盘组中,不同记录的相同编号 (位置) 的诸磁道构成一个圆柱面
      • 扇区数:表示每一条磁道上有多少个扇区
  • 硬盘存储器

    • 硬盘存储器由磁盘驱动器、磁盘控制器和盘片组成
    • 磁盘驱动器:核心部件是磁头组件和盘片组件
    • 磁盘控制器:是硬盘存储器和主机的接口,主流的标准有 IDE、SCSI、SATA 等

# 磁盘的性能指标

  • 磁盘的容量:一个磁盘所能存储的字节总数称为磁盘容量。磁盘容量有非格式化容量和格式化容量之分
    • 非格式化容量是指磁记录表面可以利用的磁化单元总数
    • 格式化容量是按照某种特定的记录格式所能存储信息的总量
  • 记录密度:记录密度是指盘片单位面积上记录的二进制的信息量,通常以道密度、位密度和面密度表示。
    • 道密度是沿磁盘半径方向单位长度上的磁道数
    • 位密度是磁道单位长度上能记录的二进制代码位数
    • 面密度是位密度和道密度的乘积
    • 注意:磁盘所有磁道记录的信息量一定是相等的,并不是圆越大信息越多。故每个磁道的位密度不同
  • 平均存取时间
    • 平均存取时间 = 寻道时间 (磁头移动到目的磁道)+ 旋转延迟时间 (磁头定位到所在扇区)+ 传输时间 (传输数据所花费的时间)
  • 数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率
    • 假设磁盘转数为 r (转 / 秒),每条磁道容量为 N 个字节,则数据传输率为Dr=rND_r=rN

# 磁盘地址

主机向磁盘控制器发送寻址信息,磁盘的地址一般如下:

驱动器号 (一台电脑可能有多个磁盘)+ 柱面 (磁道) 号 (移动磁头臂 (寻道))+ 盘面号 (激活某个磁头)+ 扇区号 (通过旋转将特定扇区划过磁头下方)

若系统中有 4 个驱动器,每个驱动器带一个磁盘,每个磁盘 256 个磁道、16 个盘面,每个盘面划分为 16 个扇区,则每个扇区地址要 18 位二进制代码:

  • 驱动器号 (2bit)+ 柱面 (磁道) 号 (8bit)+ 盘面号 (4bit)+ 扇区号 (4bit)

# 硬盘的工作过程

硬盘的主要操作是寻址、读盘、写盘。每个操作都对应一个控制字,硬盘工作时,第一步是取控制字,第二步是执行控制字

硬盘属于机械式部件,其读写操作是串行的,不可能在同一时间既读又写,也不可能在同一时刻读两组数据或写两组数据

# 磁盘阵列

RAID (廉价冗余磁盘阵列) 是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性

RAID 的分级如下所示:(无论何时有磁盘损坏,都可以随时拔出受损磁盘再插入好磁盘,而数据不会损坏)

  • RAID0:无冗余和无校验的磁盘阵列 (逻辑上相邻的两个扇区在物理上存到两个磁盘)
  • RAID1:镜像磁盘阵列 (存两份数据)
  • RAID2:采用纠错的海明码的磁盘阵列 (逻辑上连续的几个 bit 物理上分散存储在各个盘中 4bit 信息位 + 3bit 海明校验位 —— 可纠正一位错误)
  • RAID3:位交叉奇偶校验的磁盘阵列
  • RAID4:块交叉奇偶校验的磁盘阵列
  • RAID5:无独立校验的奇偶校验磁盘阵列

RAID 通过同时使用多个磁盘,提高了传输率;通过在多个磁面上并行存取来大幅提高存储系统的数据吞吐量;通过镜像功能,可以提高安全可靠性;通过数据校验,可以提高容错能力

# 固态硬盘 SSD

  • 原型:基于闪存技术 Flash Memory,属于电可擦除 ROM,即 EEPROM
  • 组成:
    • 闪存翻译层:负责翻译逻辑模块号,找到对应页
    • 存储介质:多个闪存芯片 (Flash Chip)—— 每个芯片包含多个块 —— 每个块包含多个页
  • 读写性能特性:
    • 以页为单位读 / 写 —— 相当于磁盘的扇区
    • 以块为单位擦除,擦干净的块,其中的每一页都可以写一次,读无限次
    • 支持随机访问,系统给定一个逻辑地址,闪存翻译层可通过电路迅速定位到对应的物理地址
    • 读快、写慢。要写的页如果有数据,则不能写入,需要块内其他页全部复制到一个新的 (擦除过的) 块中,再写入新的页
  • 与机械硬盘相比的特点:
    • SSD 读写速度快、随机访问性能高,用电路控制访问位置;机械硬盘通过移动磁臂旋转磁盘控制访问位置,有寻道时间和旋转延迟
    • SSD 安静无噪音、耐摔抗震、能耗低、造价更贵
    • SSD 的一个块被擦除次数过多 (重复写同一个块) 可能会坏掉,而机械硬盘的扇区不会因为写的次数太多而坏掉
  • 磨损均衡技术
    • 思想:将 "擦除" 平均分布在各个块上,以提升使用寿命
    • 动态磨损均衡:写入数据时,优先选择累计擦除次数少的新闪存块
    • 静态磨损均衡:SSD 监测并自动进行数据分配、迁移,让老旧的闪存块承担以读为主的存储任务,让较新的闪存块承担更多的写任务

理想情况下,固态硬盘的寿命:

某固态硬盘采用磨损均衡技术,大小为240B=1TB2^{40}B=1TB,闪存块的擦写寿命只有210=1K2^{10}=1K 次。某男子平均每天会对该固态硬盘写237B=128GB2^{37}B=128GB 数据。在最理想的情况下,这个固态硬盘可以用多久?

最理想情况下,SSD 中每个块被擦除的次数都是完全均衡的。1TB/128G=81TB/128G=8

因此平均每 8 天,每个闪存块就要被擦除一次。每个闪存块可以被擦除1K1K 次。因此经过8K8K 天,约 23 年后,该固态硬盘损坏