5.1 存储技术

发布时间 2023-07-18 11:21:20作者: C~A

随机访问存储器

随机访问存储器分为静态的与动态的。

静态SRAM将每个位存储在一个双稳态的存储器单元里,每个单元用一个六晶体管电路来实现。这个电路有这样一个属性,它可以无限期地保持在两个不同的电压配置(configuration)或状态(state)之一。其他任何状态都是不稳定的——从不稳定状态开始,电路会迅速地转移到两个稳定状态中的一个。

由于SRAM存储器单元的双稳态特性,只要有电,它就会永远地保持它的值。即使有干扰(例如电子噪音)来扰乱电压,当干扰消除时,电路就会恢复到稳定值。

 动态RAM将每个位存储为对一个电容的充电,与SRAM不同,DRAM对干扰非常敏感,当电容的电压被扰乱后,它就永远不会恢复了。

 内存模块,DRAM封装在内存模块中DRAM芯片封装在内存模块(memory module)中,它插到主板的扩展槽上。Core i7系统使用的240个引脚的双列直插内存模块(Dual Inline Memory Module, DIMM),它以64位为块传送数据到内存控制器和从内存控制器传出数据。示例模块用8个64 Mbit的8 M×8的DRAM芯片,总共存储64MB(兆字节),这8个芯片编号为0~7。每个超单元存储主存的一个字节,而用相应超单元地址为(i,j)的8个超单元来表示主存中字节地址A处的64位字。DRAM0存储第一个(低位)字节,DRAM1存储下一个字节,依此类推。

要取出内存地址A处的一个字,内存控制器将A转换成一个超单元地址(i,j),并将它发送到内存模块,然后内存模块再将i和j广播到每个DRAM。作为响应,每个DRAM输出它的(i,j)超单元的8位内容。模块中的电路收集这些输出,并把它们合并成一个64位字,再返回给内存控制器。通过将多个内存模块连接到内存控制器,能够聚合成主存。在这种情况中,当控制器收到一个地址A时,控制器选择包含A的模块k,将A转换成它的(i,j)的形式,并将(i,j)发送到模块k。

 访问主存:数据流通过称为总线(bus)的共享电子电路在处理器和DRAM主存之间来来回回。每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为总线事务(bus transaction)。读事务(read transaction)从主存传送数据到CPU。写事务(write trans-action)从CPU传送数据到主存。总线是一组并行的导线,能携带地址、数据和控制信号。取决于总线的设计,数据和地址信号可以共享同一组导线,也可以使用不同的。同时,两个以上的设备也能共享同一总线。

 

每当CPU要传送数据到主存时,总线接口先在总线上发起读事务,首先CPU将地址放到系统总线上,IO桥将信号传递到内存总线,然后主存感受到内存总线上的地址信号,从内存总线读地址,从RAM取出数据字写到内存总线,然后IO桥翻译成系统总线信号,最后CPU感受到系统总线上的数据,从总线读数据,并将数据复制到寄存器。

磁盘存储

磁盘构造

碰盘是由盘片(plater)构成的。每个盘片有两面或者称为表面(surface),表面覆盖着融性记录材料。盘片中央有一个可以旋转的主轴(spindle),它使得盘片以固定的旋转速率(rotational rate)旋转,通常是5400~15 000转每分钟(Revolution Per Minute, RPM)。磁盘通常包含一个或多个这样的盘片,并封装在一个密封的容器内。

磁盘操作

磁盘用读/写头(read/write head)来读写存储在磁性表面的位,而读写头连接到一个传动臂(actuator arm)一端。通过沿着半径轴前后移动这个传动臂,驱动器可以将读/写头定位在盘面上的任何磁道上。这样的机械运动称为寻道(seek)。一旦读/写头定位到了期望的磁道上,那么当磁道上的每个位通过它的下面时,读/写头可以感知到这个位的值(读该位),也可以修改这个位的值(写该位)。有多个盘片的磁盘针对每个盘面都有一个独立的读/写头。读/写头垂直排列,一致行动。在任何时刻,所有的读/写头都位于同一个柱面上。

对扇区的访问时间主要由寻道时间,旋转时间,和传送时间。

 磁盘控制器

磁盘封装中有一个小的硬件设备,称为磁盘控制器,维护着逻辑块号和实际物理扇区之间的映射关系。当操作系统想要执行一个I/O操作时,例如读一个磁盘扇区的数据到主存,操作系统会发送一个命令到磁盘控制器,让它读某个逻辑块号。控制器上的固件执行一个快速表查找,将一个逻辑块号翻译成一个(盘面,磁道,扇区)的三元组,这个三元组唯一地标识了对应的物理扇区。控制器上的硬件会解释这个三元组,将读/写头移动到适当的柱面,等待扇区移动到读/写头下,将读/写头感知到的位放到控制器上的一个小缓冲区中,然后将它们复制到主存中。

访问磁盘

固态硬盘