|「计算机组成原理」:现代存储器的结构( 三 )

  • CPU从总能线上读取数据 , 并将其复制到寄存器中
  • 当将寄存器中的数据保存到内存中:
    1. CPU芯片通过总线接口发起写事务(Write Transaction)
    2. CPU会将内存地址发送到系统总线上
    3. I/O桥将信号传递到内存总线
    4. 内存接收到内存总线上的地址信号 , 会等待数据到达
    5. CPU将寄存器中的数据字复制到系统总线
    6. I/O桥将内存总线信号翻译成系统总线信号 , 然后传递到系统总线上
    7. 内存从内存总线读出数据 , 并将其保存到DRAM中 。
    这里的读事务和写事务统称为总线事务(Bus Transaction) 。
    1.1.3 非易失性存储器
    之前介绍的DRAM和SRAM在断电时都会丢失数据 , 所以是易失的(Volatile) , 而非易失性存储器(Nonvolatile Memory)即使断电后 , 也会保存信息 , 该类存储器称为只读存储器(Read-Only Memory , ROM) , 但是现在ROM中有的类型既可以读也可以写了 , 可以根据ROM能够重编程的次数以及对它们进行重编程所用的机制进行区分 , 包括:
    • 可编程ROM(PROM):可以编程一次
    • 可擦写PROM(EPROM):可以批量擦除
    • 闪存(Flash Memory):具有部分(块级)擦除功能 , 大约擦除十万次后会耗尽
    存储在ROM设备中的程序称为固件(Firmware) , 包括BIOS、磁盘控制器、网卡、图形加速器和安全子系统等 。 当计算机系统通电后 , 会运行存储在ROM中的固件 。
    1.2 磁盘存储
    磁盘(Disk)是被用来保存大量数据的存储设备 , 但是读信息的速度比DRAM慢10万倍 , 比SRAM慢100万倍 。
    |「计算机组成原理」:现代存储器的结构
    本文插图

    如上图所示是一个磁盘的构造 。 磁盘是由多个叠放在一起的盘片(Platter)构成 , 每个盘片有两个覆盖着磁性记录材料的表面(Surface) 。 每个表面由一组称为磁道(Track)的同心圆组成 , 每个磁道被划分为若干扇区(Sector) , 每个扇区包含相同数量的数据位(通常为512位)作为读写数据的基本单位 。 扇区之间通过间隙(Gap)分隔开来 , 间隙不保存数据信息 , 只用来表示扇区的格式化位 。 通常会使用柱面(Cylinder)来描述不同表面上相同磁道的集合 , 比如柱面k就是6个表面上磁道k的集合 。 盘片中央会有一个可以旋转的主轴(Spindle) , 使得盘片以固定的旋转速率(Rotational Rate)旋转 , 单位通常为RPM(Revolution Per Minute) 。
    将磁盘能记录的最大位数称为最大容量(容量) , 主要由以下方面决定:
    • 记录密度(Recording Density):一英寸的磁道中可以放入的位数
    • 磁道密度(Track Density):从盘片中心出发 , 沿着半径方向一英寸 , 包含多少磁道
    • 面密度(Areal Density):记录密度和磁道密度的乘积
    磁盘容量的计算公式为:
    |「计算机组成原理」:现代存储器的结构
    本文插图

    在面密度较低时 , 每个磁道都被分成了相同的扇区 , 所以能够划分的扇区数由最内侧磁道能记录的扇区数决定 , 这就使得外侧的磁道具有很多间隙 。 现代大容量磁盘采用多区记录(Multiple Zone Recording)技术 , 将一组连续的柱面划分成一个区 , 在同一个区中 , 每个柱面的每条磁道都有相同数量的扇区 , 由该区中最内侧的磁道决定 , 由此使得外侧的区能划分成更多的扇区 。
    |「计算机组成原理」:现代存储器的结构
    本文插图

    如上图所示 , 磁盘通过一个连接在传动臂(Actuator Arm)上的读/写头(Read/Write Head)来进行读写 , 对于有多个盘面的磁盘 , 会用多个位于同一柱面上的垂直排列的读/写头 。 对于扇区的访问时间(Access Time)由以下几部分构成:


    推荐阅读