第六章 存储器层次结构 第一节 存储技术之磁盘存储

磁盘能比RAM存储更大的信息,但是读取速度上比DRAM慢了10万倍,比SRAM慢了100万倍。

1. 磁盘构造

在这里插入图片描述

  • 磁盘是由盘片(platter)构成

  • 盘片中央有一个可以旋转的主轴,它使得盘片以固定的旋转速率旋转

  • 每个盘片有两面或者称为表面,表面覆盖着磁性记录材料。

  • 一个磁盘表面由一组磁道组成

  • 一个磁道由一组扇区组成

  • 每个扇区包含相等的数据位(通常512字节)

  • 扇区之间由一些间隙(gap)分隔开,这些间隙中不存储数据位。间隙存储用来标识扇区的格式化位

  • 磁盘是由一个或多个叠放在一起的盘片组成的,整个装置通常被称为磁盘驱动器(disk drive), 简称为磁盘

  • 柱面指多个盘片驱动器的构造, 这里, 柱面是所有盘片表面上到主轴中心的距离相等的磁道的集合。例如, 如果一个驱动器有三个盘片和六个面, 每个表面上的磁道的编号都是一致的, 那么柱面k就是6个磁道k的集合

2.磁盘容量

三个因素:

  • 记录密度(recordi ng dens ity)(位/英寸):磁道一英寸的段中可以放入的位数。
  • 磁道密度(track dens ity)(道/英寸):从盘片中心出发半径上一英寸的段内可以有的磁道数。
  • 面密度(areal dens ity)(位/平方英寸):记录密度与磁道密度的乘积。

最初:将每个磁道分为数目相同的扇区,扇区的数目是由最靠内的磁道能记录的扇区数决定的。为了保持每个磁道有固定的扇区数,越往外的磁道扇区隔得越开。随着面密度的提高,扇区之间的间隙(那里没有存储数据位)变得不可接受地大。
后来:柱面的集合被分割成不相交的子集合,称为记录区(recording zone) 。每个区包含一组连续的柱面。一个区中的每个柱面中的每条磁道都有相同数最的扇区,这个扇区的数量是由该区中最里面的磁道所能包含的扇区数确定的。

磁 盘 容 量 公 式 : 每 个 扇 区 的 字 节 数 ∗ 每 个 磁 道 的 平 均 扇 区 数 ∗ 每 个 盘 面 的 磁 道 数 ∗ 2 个 盘 面 ∗ 盘 片 数 量 磁盘容量公式:每个扇区的字节数 * 每个磁道的平均扇区数 * 每个盘面的磁道数 * 2个盘面 * 盘片数量 2

3.磁盘操作

1.操作流程

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

磁盘总是密封的,如果进入灰尘会造成读写头冲撞,导致磁盘无法使用。

2.访问时间

磁盘以扇区大小的块来读写数据。对扇区的访问时间有三个主要的部分:寻道时间、旋转时间和传送时间。

1.寻道时间

是指读写头移动到目标磁道上的时间。

2.旋转时间

是指读写头移动到期望磁道之后,驱动器等待目标扇区的第一个位旋转到读写头下。

3.传送时间

当目标扇区的第一个位位于读/写头下时,驱动器就可以开始读或者写该扇区的内容了。

计算示例
在这里插入图片描述
(RPM是指转每秒)

可以看出,访问扇区的第一个字节废掉了大部分的时间,而读取剩下的扇区,并没有耗费很长时间。

4.逻辑磁盘块

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

为什么磁盘的最大使用量比磁盘容量要小
磁盘控制器必须对磁盘进行格式化,然后才能在该磁盘上存储数据。格式化包括用标识扇区的信息填写扇区之间的间隙,标识出表面有故障的柱面并且不使用它们,以及在每个区中预留出一组柱面作为各用,如果区中一个或多个柱面在磁盘使用过程中坏掉
了,就可以使用这些备用的柱面。因为存在着这些备用的柱面,所以磁盘制造商所说的格式化容量比最大容量要小。

5. 连接I/O设备

一个典型的I/O总线结构如下如所示,它连接了CPU、主存和I/O设备。
在这里插入图片描述I/O总线比系统总线和内存总线慢,可以繁多的第三方IO设备,有以下几种类型:

  1. 通用串行总线(Universal Serial Bus, USB)控制器是一个连接到USB总线的设备的中转机构。
  2. 图形卡(或适配器)包含硬件和软件逻辑,它们负责代表CPU在显示器上画像素。
  3. 主机总线适配器将一个或多个磁盘连接到I/O总线,使用的是一个特别的主机总线接口定义的通信协议。
    SCSI和SATA是两个比较常用的磁盘接口
    SCSI 磁盘通常比SATA 驱动器更快但是也更贵。
    SCSI 主机总线适配器(通常称为SCSI 控制器)可以支持多个磁盘驱动器。SATA 适配器只能支持一个驱动器。
  4. 其他的设备,例如网络适配器,可以通过将适配器插入到主板上空的扩展槽中

注意:这里I/O总线只是一种简单抽象。

6.访问磁盘

CPU使用一种称为内存映射I/O的技术来向I/O设备发射命令。
在使用内存映射I/O的系统中, 地址空间中有一块地址是为与I/O设备通信保留的。每个这样的地址称为一个I/O端口。当一个设备连接到总线时,它与一个或多个端口相关联(或它被映射到一个或多个端口)。

下面将这个流程简单描述一下:

1.CPU发起磁盘读

假设磁盘控制器映射到端口0xa0。随后,CPU可能通过执行三个对地址0xa0的存储指令, 发起磁盘读

  • 第一条指令是发送一个命令字, 告诉磁盘发起一个读, 同时还发送了其他的参数, 例如当读完成时, 是否中断CPU
  • 第二条指令指明应该读的逻辑块号
  • 第三条指令指明应该存储磁盘扇区内容的主存地址。
    在这里插入图片描述

2.DMA传输

CPU发起指令之后,就去做别的事情去了。在磁盘控制器收到来自CPU的读命令之后, 它将逻辑块号翻译成一个扇区地址, 读
该扇区的内容, 然后将这些内容直接传送到主存, 不需要CPU的干涉。

设备可以自己执行读或者写总线事务而不需要CPU干涉的过程, 称为直接内存访问(DirectMemory Access, DMA)。这种数据传送称为DMA 传送CDMA transfer)。

在这里插入图片描述

3. 中断通知

在这里插入图片描述

在DMA 传送完成,磁盘扇区的内容被安全地存储在主存中以后,磁盘控制器通过给CPU 发送一个中断信号来通知CPU。基本思想是中断会发信号到CPU 芯片的一个外部引脚上。这会导致CPU 暂停它当前正在做的工作,跳转到一个操作系统例程。这个程序会记录下I/O已经完成,然后将控制返回到CPU 被中断的地方。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
存储器层次结构是指计算机中的各种存储器之间的层次关系,通常包括寄存器、高速缓存、主存储器和辅助存储器等。这些存储器之间的层次关系是为了提高计算机系统的性能和效率。 在存储器层次结构中,存储器的速度和容量往往是成反比的,速度越快的存储器容量越小,反之亦然。因此,为了提高计算机系统的性能和效率,需要对存储器进行合理的优化。 以下是一些存储器性能优化的方法: 1. 利用高速缓存:高速缓存是位于CPU和主存储器之间的一种存储器,可以快速缓存CPU需要访问的数据。利用高速缓存可以减少CPU对主存储器的访问,从而提高系统性能。 2. 使用局部性原理:局部性原理是指在一段时间内,CPU只访问一部分数据,而不是所有数据。因此,可以通过将经常访问的数据存储在高速缓存中来提高访问速度。 3. 优化内存访问模式:内存访问模式指CPU对内存的访问方式。如果能够优化内存访问模式,如改变内存的布局、对齐数据等,就可以提高内存访问的效率。 4. 使用预取技术:预取技术是指在CPU访问数据之前,提前将数据从主存储器加载到高速缓存中。通过预取技术可以避免由于CPU等待数据加载而造成的延迟。 5. 合理使用虚拟内存:虚拟内存是一种在硬盘上模拟的内存,可以扩展计算机的内存容量。合理使用虚拟内存可以减少内存交换和页面错误,从而提高系统性能。 总的来说,存储器层次结构及性能优化是计算机系统性能提升的重要因素,需要在实际应用中灵活运用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值