计算机体系结构(国防科大)-第六章-输入输出系统
1 存储设备
分类:
- 磁盘:磁盘访问时间 = 寻道时间 + 旋转时间 + 传输时间 + 控制器时间。
- Flash存储器
- 固态盘(SSDs):有限擦写次数。
- 磁带:对磁带而言,最大的优点是容量极大、技术成熟、单位价格低廉 。最大的缺点是访问时间较长。这种差异恰好使得磁带成为磁盘的备份技术。
- 螺旋扫描磁带:使磁带保持同样的线速度(解决了线速度不稳定问题),这种技术以20到50的倍数增加记录密度,螺旋扫描磁带目前已被普遍使用在视频录像设备中,大大降低了磁带和读部件的开销。
- 自带磁带库:通过机械手自动地安装和更换磁带,相当于又提供了一个新的存储器层次,这种自动化的磁带库可在无人工干预的情况下,十几秒内访问几TB的信息。
- 光盘:
- CD-ROM:只读类光盘,全称:光学紧密盘
- CD-R(CD-Recordable),可记录光盘,也称WORM盘
- WMRM(Write Many Read Many)盘,采用磁光(MO)存储技术。
- 光盘机组合:
- 光盘库(自动换盘机,即Jukebox):自动把机框中存放的许多片光盘选出并装入光盘机进行读写的设备。
- 光盘塔(DC-ROM Tower):CD-ROM+控制器+网络连接设备,构成网络存储设备。
- 光盘阵列(CD-ROM Array)
2 I/O系统分析与评价、RAID
2.1 I/O系统性能的标准:
- I/O系统的容量
- 响应时间
- 吞吐率
2.2 I/O系统的响应时间和吞吐率的计算:
- 排队论
- M/M/1排队系统
- M/M/m排队系统
- 黑箱(Black Box)
M/M/1排队系统概念:
- 到达时间是泊松过程(Poisson process);
- 服务时间是指数分布(exponentially distributed);
- 只有一部服务器(server)
- 队列长度无限制
- 可加入队列的人数为无限
这种模型是一种出生-死亡过程,此随机过程中的每一个状态代表模型中人数的数目。因为模型的队列长度无限且参与人数亦无限,故此状态数目亦为无限。例如状态0表示模型闲置、状态1表示模型有一人在接受服务、状态2表示模型有二人(一人正接受服务、一人在等候),如此类推。
此模型中,出生率(即加入队列的速率)λ在各状态中均相同,死亡率(即完成服务离开队列的速率)μ亦在各状态中相同(除了状态0,因其不可能有人离开队列)。故此,在任何状态下,只有两种事情可能发生:
- 有人加入队列。如果模型在状态k,它会以速率λ进入状态k + 1。
- 有人离开队列。如果模型在状态k(k不等于0),它会以速率μ进入状态k − 1。
由此可见,模型的隐定条件为λ < μ。如果死亡率小于出生率,则队列中的平均人数为无限大,故此这种系统没有平衡点。
————————————————
版权声明:本文为CSDN博主「禾日木目心」的原创文章,遵循CC 4.0> BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zyx_bx/article/details/115219706
M/M/m排队系统概念
2.3 Little 定律:
内容:系统中的平均任务数 = 到达率 × 平均响应时间
作用:为精益生产指明了方向,如何有效地缩短生命周期?一个方向是提高产能,从而降低生产节拍;另一个方向就是压缩存货数量。然而,提高意味着很大的投入,另外,生产能力的提升虽然可以缩短生命周期,但是,生产力提升总有个限度,我们无法容忍生产能力远远超过市场的需求。一般来说,每个公司在一定时期内的生产能力是大致不变的,而从长远来看,各公司也会力图使自己公司的产能与市场相吻合。因此,有效地缩短生命周期的方法就是压缩在制品数量。
2.4 I/O基准测试程序:TPC-C测试程序
2.5 I/O系统的可靠性、可用性和可信性
故障分类:
- 暂时性
- 间歇性
- 永久性
提高可靠性:
- 故障避免
- 故障容忍:冗余
- 错误消除:验证
- 错误预报
RAID(Redundant Arrays of Independent Disks,RAID,磁盘冗余整列):
- 特点:容量大、速度快、可靠性高、造价低廉
- RAID 0:也称数据分块,即把数据分布到多个盘上,实际上是非冗余阵列,无冗余信息。严格地说,它不属于RAID系列。
- RAID 1:镜像盘,使用双备份盘
- RAID 2:位交叉式海明编码阵列
- RAID 3:位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。即数据以位或字节交叉的方式存于各盘,冗余的奇偶校验信息存储在一台专用盘上。
- RAID 4:块交叉奇偶校验盘阵列,即数据以块(块大小可变)交叉的方式存于各盘,冗余的奇偶校验信息存在一台专用盘上。
- RAID 5:块交叉分布式奇偶校验盘阵列,即数据以块交叉的方式存于各盘,但无专用的校验盘,而是把冗余的奇偶校验信息均匀地分布在所有磁盘上。
- RAID 6:双维奇偶校验独立存取盘阵列。即数据以块(块大小可变)交叉的方式存于各盘,冗余的检、纠错信息均匀地分布在所有磁盘上。并且,每次写入数据都要访问一个数据盘和两个校验盘,可容忍双盘出错。
3 总线和通道
总线分类:
- 同步总线:总线上的所有设备通过统一的总线系统时钟进行同步。
- 异步总线:无统一的系统时钟。设备之间的信息传送用总线发送器和接收器控制。在传输时,需要额外开销。
4 I/O与操作系统
4.1 I/O设备编制方式
- 存储器映射I/O
- 独立编制
4.2 I/O设备控制方式
- 程序查询
- 中断
- DMA
- CPU向DMA控制器发送开始地址、方向;然后,发射“开始”命令。
- DMA控制器向外设提供握手信号;向存储器提供地址和握手信号。
- I/O处理机等
4.3 通道
功能:
- 接受CPU发来的I/O指令,根据指令要求选择一台指定的外围设备与通道相连接。
- 执行CPU为通道组织的通道程序,从主存中取出通道指令,对通道指令进行译码,并根据需要向被选中的设备控制器发出各种操作命令。
- 给出外围设备的有关地址,即进行读/写操作的数据所在的位置。如,磁盘存储器的柱面号、磁头号、扇区号等。
- 给出主存缓冲区的首地址,这个缓冲区用来暂时存放从外围设备上输入的数据,或者暂时存放将要输出到外围设备中去的数据。
- 控制外围设备与主存缓冲区之间数据交换的个数,对交换的数据个数进行计数,并判断数据传送工作是否结束。
- 指定传送工作结束时要进行的操作。例如,将外围设备的中断请求及通道的中断请求送往CPU等。
- 检查外围设备的工作状态,是正常或故障。根据需要将设备的状态信息送往主存指定单元保存。
- 在数据传输过程中完成必要的格式变换,例如,把字拆卸为字节,或者把字节装配成字等。
通道种类:
- 字节多路通道:简单的共享通道,为多台低速或中速的外围设备服务。采用分时方式工作。
- 选择通道:为高速外围设备(如磁盘存储器等)服务。在传送数据期间,只能为一台高速外围设备服务,在不同的时间内可以选择不同的设备。
- 数组多路通道:为高速设备服务。各台高速设备重迭操作。
4.4 I/O与Cache的一致性问题
数据不一致问题有两个方面:
- 存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取出来使用的是陈旧数据;
- I/O与存储器交换数据之后,在Cache中被CPU使用的可能就是陈旧数据。
对一致性问题的思考:
- 写直达Cache可以保证存储器和Cache有相同的数据;
- 写回Cache则需操作系统帮助进行数据检查。
- 根据I/O使用的存储器地址来清除Cache相应的块,确保I/O使用的数据不在Cache中。
- 地址检查过程也可以使用硬件完成。
4.5 DMA与虚存器
使用物理地址进行DMA,存在以下两个问题:
- 对于超过一页的数据,由于缓冲区使用的页面在物理存储器中不一定是连续的,传输会发生问题。
- DMA正在存储器和帧缓冲器之间传输数据时,操作系统从存储器中移出一些页面(或重新分配),DMA将会在存储器中错误的页面上传输数据。