计算机系统结构第六章IO系统

上传人:枫** 文档编号:568492763 上传时间:2024-07-24 格式:PPT 页数:63 大小:2.68MB
返回 下载 相关 举报
计算机系统结构第六章IO系统_第1页
第1页 / 共63页
计算机系统结构第六章IO系统_第2页
第2页 / 共63页
计算机系统结构第六章IO系统_第3页
第3页 / 共63页
计算机系统结构第六章IO系统_第4页
第4页 / 共63页
计算机系统结构第六章IO系统_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《计算机系统结构第六章IO系统》由会员分享,可在线阅读,更多相关《计算机系统结构第六章IO系统(63页珍藏版)》请在金锄头文库上搜索。

1、计算机系统结构计算机系统结构第六章I/O系统郑庆华郑庆华西安交大计算机系西安交大计算机系2015年5月6.1I/O系统特性及其对CPU性能的影响6.2总线6.3廉价磁盘冗余阵列RAID6.4通道处理机本章内容本章内容6.1I/O系统的基本原理系统的基本原理6.1.1组成组成I/O设备+I/O接口(查询、中断、DMA)+I/O处理软件(I/O驱动程序)衡量指标衡量指标响应时间(响应时间(ResponseTime)可靠性(可靠性(Reliability)误区:使用多进程技术可以忽略I/O性能对系统性能的影响。事实:多进程技术只能够提高系统吞吐率,并不能够减少系统响应时间。进程切换需要增加I/O操作

2、。可切换的进程数量有限,当I/O处理较慢时,仍然会导致CPU处于空闲状态。问题:I/O系统性能与CPU性能间的关系?例1假设一台计算机的I/O处理占10,当其CPU性能改进,而I/O性能保持不变时,系统总体性能会出现什么变化?解:假设原来的程序执行时间为1个单位时间。如果CPU的性能提高10倍,程序的计算(包含I/O处理)时间为:(1-10%)/10+10%=0.19如果如果CPU的性能提高的性能提高10倍倍如果如果CPU的性能提高的性能提高100倍倍 即整机性能只能提高约即整机性能只能提高约5倍倍,差不多有,差不多有50的的CPU性能浪费在性能浪费在I/O上。上。如果如果CPU性能提高性能提

3、高100倍,程序的计算时间为:倍,程序的计算时间为:(1-10%)/100+10%=0.109而整机性能只能提高约而整机性能只能提高约10倍倍,表示有,表示有90的性能的性能浪费在没有改进的浪费在没有改进的I/O上了。上了。6.1.2 I/O系统的主要特点异步性:处理机和CPU之间以各自的速度执行,相互之间仅在必要时进行同步,而在两个同步点的时间段内,各自可以并行运行。实时性:在I/O设备提出中断、DMA等请求时,CPU要及时响应,完成必要的I/O操作或控制。例如:Keyboard、Printer、COM、Mouse、定时器等。与设备无关性:通过制定统一的接口标准(物理接口、软件接口),使得应

4、用程序依据这一接口可以访问或支持各种I/O设备。I/O系统的层次结构n各种I/O设备都可能通过统一的接口与计算机系统连接,中断、I/O端口地址、DMA通道号等由系统自动识别并赋值,无需应用人员进行配置。即插即用(即插即用(PNP)概念:)概念:Ex.,对于由Windows操作系统已经认定的标准设备,其驱动程序无需由操作人员安装,而直接由Windows操作系统自动安装。对于新安装的设备,即使Windows无法识别,也会主动提示程序员。1、I/O系统特性及其对CPU性能的影响2、总线3、廉价磁盘冗余阵列RAID4、通道处理机本章内容本章内容典型的总线连接典型的总线连接 CPUCache主存主存I/

5、O控制器控制器图形显示图形显示I/O控制器控制器I/O控制器控制器总线适配器总线适配器网络网络CPUCPU主存总线主存总线主存总线主存总线I/OI/O总线总线总线总线 总 线1.总线的设计选择高性能低价格总线宽度独立的地址和数据总线分时复用数据和地址总线数据总线宽度越宽越快(例如:64位)越窄越便宜(例如:8位)传输块大小块越大总线开销越小每次传送单字总线主设备多个(需要仲裁)单个(无需仲裁)分离事务采用不用定时方式同步异步2. 总线标准和实例: 几种常用并行I/O总线总线类型IDE/UltraATASCSIPCIPCI-X数据宽度16bit8/16bit32/64bit32/64bit时钟频

6、率MHz10010(Fast)20(Ultra)40(Ultra2)80(Ultra3)160(Ultra4)33/6666/100/133主设备数一个多个多个多个峰值带宽200MB/s320MB/s533MB/s1066MB/s同步方式异步异步同步同步标准无ANSIX3.131无无SCSI:SmallComputerSystemInterface6.1I/O系统特性及其对CPU性能的影响6.2总线6.3廉价磁盘冗余阵列RAID6.4通道处理机本章内容本章内容6.3廉价磁盘冗余阵列RAID廉价磁盘冗余阵列RedundantArrayofInexpensiveDisks独立磁盘冗余阵列Redun

7、dantArrayofIndependentDisks简称盘阵列技术。1988年,Patterson教授首先提出。优点:容量大;速度快;可靠性高;造价低廉。RAID级别RAID级数据磁盘数允许失效的最大磁盘数检测磁盘数0非冗余8001镜像8182存储器式ECC8143位交叉奇偶校验8114块交叉奇偶校验8115块交叉分布奇偶校验8116P+Q冗余8227Cache+异步822RAID级别是具有如下共性的不同结构:RAID由一组物理磁盘驱动器组成,操作系统视之为一个逻辑驱动器数据分布在一组物理磁盘上冗余信息被存储在冗余磁盘空间中,保证磁盘在万一损坏时可以恢复数据其中第2、3个特性在不同的RAID

8、级别中的表现不同,RAID0不支持第3个特性。数据分块,即把数据分布在多个盘上。非冗余阵列、无冗余信息。严格地说,它不属于RAID系列。MNOetc.IJKLEFGHABCD1. 1. RAID0RAID0中的数据映射阵列管理阵列管理阵列管理阵列管理条带条带条带条带0 0条带条带条带条带1 1条带条带条带条带1 1条带条带条带条带2 2条带条带条带条带3 3条带条带条带条带4 4条带条带条带条带5 5条带条带条带条带6 6条带条带条带条带7 7条带条带条带条带8 8条带条带条带条带9 9条带条带条带条带1010条带条带条带条带1111条带条带条带条带0 0条带条带条带条带2 2条带条带条带条带

9、3 3条带条带条带条带4 4条带条带条带条带5 5条带条带条带条带6 6条带条带条带条带7 7条带条带条带条带8 8条带条带条带条带9 9条带条带条带条带1010条带条带条带条带1111逻辑盘逻辑盘逻辑盘逻辑盘物理盘物理盘物理盘物理盘 0 0物理盘物理盘物理盘物理盘 1 1物理盘物理盘物理盘物理盘 2 2物理盘物理盘物理盘物理盘 3 36.4.2RAID1亦称镜像盘,使用双备份磁盘。亦称镜像盘,使用双备份磁盘。每当数据写入一个磁盘时,将该数据也写到另每当数据写入一个磁盘时,将该数据也写到另一个冗余盘,形成信息的两份复制品。一个冗余盘,形成信息的两份复制品。GGHHEEFFCCDDAABB=2.

10、RAID11.RAID1特点:读性能好:RAID1的性能能够达到RAID0性能的两倍;写性能由写性能最差的磁盘决定,相对以后各级RAID来说,RAID1的写速度较快;可靠性很高;最昂贵的解决方法,物理磁盘空间是逻辑磁盘空间的两倍。2.RAID1中的镜像和分块如何相互作用?RAID0+1:先分块后镜像MNOetc.IJKLEFGHABCDMNOetc.IJKLEFGHABCDRAID1+0:先镜像后分块NJFBOKGCetc.LHDMIEANJFBOKGCetc.LHDMIEA位交叉式海明编码阵列各个数据盘上的相应位计算海明校验码,编码位被存放在多个校验(ECC:ErrorCorrectCode

11、)磁盘的对应位上。D0D1D2D3C0C1C2C3B0B1B2B3A0A1A2A3Ecc/AxEcc/BxEcc/CxEcc/DxEcc/AyEcc/ByEcc/CyEcc/DyEcc/AzEcc/BzEcc/CzEcc/Dz3.RAID2RAID2特点:并行存取,各个驱动器同步工作。使用海明编码来进行错误检测和纠正,数据传输率高。需要多个磁盘来存放海明校验码信息,冗余磁盘数量与数据磁盘数量的对数成正比。是一种在多磁盘易出错环境中的有效选择。并未被广泛应用,目前还没有商业化产品。位交叉奇偶校验盘阵列单盘容错并行传输:数据以位或字节交叉存储,奇偶校验信息存储在一个专用硬盘上。D0D1D2D3C0

12、C1C2C3B0B1B2B3A0A1A2A3A校验码校验码B校验码校验码C校验码校验码D校验码校验码校验码校验码产生器产生器位或字节位或字节4.RAID3(Paralleltransferwithparity)RAID3特点将磁盘分组,读写要访问组中所有盘,每组中有一个盘作为校验盘。校验盘一般采用奇偶校验简单理解:先将分布在各个数据盘上的一组数据加起来,将和存放在冗余盘上。一旦某一个盘出错,只要将冗余盘上的和减去所有正确盘上的数据,得到的差就是出错的盘上的数据。缺点:恢复时间较长。适用于写操作少、读操作为主的场合,比较适合大文件类型且安全性要求较高的应用,如WWW服务器、视频编辑、硬盘播出机、

13、大型数据库等RAID3读写特点假定有4个数据盘和一个冗余盘。读出数据,一共需要5次磁盘读操作。写数据需要3次磁盘读和2次磁盘写操作。D0D0D1D2D3PD1D2D3PD0读操作读操作读操作读操作读操作读操作写操作写操作写操作写操作异或异或专用奇偶校验独立存取盘阵列数据以块(块大小可变,如文件)交叉的方式存于各盘,奇偶校验信息存在一台专用盘上。D0D1D2D3C0C1C2C3B0B1B2B3A0A1A2A3A校验码校验码B校验码校验码C校验码校验码D校验码校验码校验码校验码产生器产生器数据块数据块5.RAID4(IndependentDataDiskswithSharedParityDisk)

14、RAID4特点冗余代价与RAID3相同。访问数据的方法与RAID3不同。在RAID3中,一次磁盘访问将对磁盘阵列中的所有磁盘进行操作。RAID4出现的原因:希望使用较少的磁盘参与操作,以使磁盘阵列可以并行进行多个数据的磁盘操作。它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次访问只是针对一个盘。RAID4读写特点假定有4个数据盘和一个冗余盘。读出数据,对两个磁盘的两次读操作。写数据需要2次磁盘读和2次磁盘写操作。 D0D0D1D2D3PD1D2D3PD0读操作读操作读操作读操作写操作写操作写操作写操作异或异或异或异或块交叉分布式奇偶校验盘阵列数据以块交叉的方式存于各盘,无专用冗余盘,奇

15、偶校验信息均匀分布在所有磁盘上。C4D44校验码校验码E4A3C3D3A2B2D2A1B1C1A0B0C0D00校验码校验码1校验码校验码2校验码校验码3校验码校验码校验码校验码产生器产生器E1E2E3B46.RAID5RAID4和RAID5中的信息分布04812162015913172126101418223711151923P0P5P4P3P2P104812162015913172126101418223711151923P0P5P4P3P2P1.RAID4RAID5RAID 5: Block Interleaved Distributed-Parityblock0block4block8

16、block12P(16-19)block1block5block9P(12-15)block16block2block6P(8-11)block13block17block3P(4-7)block10block14block18P(0-3)block7block11block15block19 Parity disk = (block number/4) mod 5 Eliminate the parity disk bottleneck of RAID 4 Best of large read and large write performance Can correct any singl

17、e self-identifying failure Small logical writes take two physical reads and two physical writes. Recovering needs reading all nonfailed disksLeft Symmetric Distribution双维奇偶校验独立存取盘阵列数据以块(块大小可变)交叉方式存于各盘,检、纠错信息均匀分布在所有磁盘上。C2D3D校验码校验码C1D2A2D1A1B1A0B0C00校验码校验码1校验码校验码B校验码校验码3校验码校验码校验码校验码产生器产生器B22校验码校验码C校验码

18、校验码A校验码校验码7.RAID6RAID 6: P + Q Redundancyblock0block4block7block10P(12-15)block1block5block8P(10-12)Q(158.)block2block6P(7-9)Q(2613.)block13block3P(4-6)Q(31114.)block11block14P(0-3)Q(91215.)block9block12block15Q(047.) An extension to RAID 5 but with two-dimensional parity. Each row has P parity and

19、each row has Q parity. (Reed-Solomon Codes) Has an extremely high data fault tolerance and can sustain multiple simultaneous drive failures Rarely implementedMore information, please see the paper: A tutorial on Reed-Solomon Coding for Fault Tolerance in RAID-like SystemsRAID6特点写入数据要访问1个数据盘和2个冗余盘可容忍

20、双盘出错存储开销是RAID5的两倍,RAID6的写过程需要6次磁盘操作。采用Cache和异步技术的RAID6。较高的响应速度和传输速率。C0B0B1A0A1A2实时实时操作系统操作系统A校验码校验码B校验码校验码C校验码校验码B2C1C28.RAID71.实现盘阵列的方式主要有三种软件方式,即阵列管理软件由主机来实现。其优点是成本低,缺点是要过多地占用主机时间,并且带宽指标上不去。阵列卡方式,即把RAID管理软件固化在I/O控制卡上,从而可不占用主机时间,一般用于工作站和PC机。子系统方式,这是一种基于通用接口总线的开放式平台,可用于各种主机平台和网络系统。9.RAID的实现与发展2. 盘阵列

21、技术研究的主要热点问题新型阵列体系结构;RAID结构与其所记录文件特性的关系;在RAID冗余设计中,综合平衡性能、可靠性和开销的问题;超大型盘阵列在物理上如何构造和连结的问题等。1、I/O系统特性及其对CPU性能的影响2、总线3、廉价磁盘冗余阵列RAID4、通道处理机本章内容本章内容6.4通道处理机通道处理机1、提出目的、提出目的将CPU进一步从I/O事务中脱离出来,使之具有更多的时间从事计算工作让DMA控制器能被多台设备共享,以提高附加硬件的利用率。通道:是一个具有输入输出处理器控制的输入输出部件。通道控制器有自己的指令,即通道命令,能够根据程序控制多个外部设备并提供了DMA共享的功能。2、

22、通道的作用和功能、通道的作用和功能负担外围设备的大部分负担外围设备的大部分I/O工作,是一台同时能够被多工作,是一台同时能够被多台外围设备共享的小型台外围设备共享的小型DMA处理机处理机接受CPU发来的I/O指令,并选择相应的I/O设备执行CPU为通道组织的程序计算I/O设备的有关地址,如磁盘存储器的物理地址给出MM的Beginpointer计算I/O设备和MM间的数据交换数量指定I/O操作结束时,要执行的善后操作实现I/O设备和MM间的数据格式转换通道的功能通道的功能1.通道完成一次数据输入/输出的工作过程在用户程序中使用访管指令进入管理程序,由管理程序生成一个通道程序,并启动通道。q用户在

23、目标程序中设置一条广义指令,通过调用操作用户在目标程序中设置一条广义指令,通过调用操作系统的管理程序来实现。系统的管理程序来实现。q操作系统根据广义指令提供的参数来编制通道程序。操作系统根据广义指令提供的参数来编制通道程序。q启动输入启动输入/输出设备指令输出设备指令是一条主要的输入是一条主要的输入/输出指令,输出指令,属于特权指令。属于特权指令。工作流程q通道处理机执行通道程序,完成指定的数据输入通道处理机执行通道程序,完成指定的数据输入/输出输出工作。工作。通道处理机执行通道程序与通道处理机执行通道程序与CPUCPU执行用户程序是执行用户程序是并行的。并行的。 q通道程序结束后向通道程序结

24、束后向CPUCPU发中断请求。发中断请求。6.4.2通道的工作过程MOVAX,0201hMOVBX,200hMOVCX,01MOVDX,80hINT13hINT20h举例说明:读取硬盘的引导扇区。举例说明:读取硬盘的引导扇区。I/O请求请求CPU执行用户执行用户程序程序CPU执行执行I/O管理程序管理程序OS编制通道程序编制通道程序通道程序执行通道程序执行向向CPU发中断发中断中断响应中断响应I/O结束处理结束处理并行执行并行执行3、CPU执行和通道执行间的时间关系4、通道种类、通道种类字节多路通道选择通道数组多路通道设备控制器设备控制器设备控制器设备控制器设备控制器设备控制器CPUMM1、字

25、节多路通道(ByteMultiplexorChannel)目的:为多台低速或中速的外围设备服务;工作方式:分时机制。方式1:字节交叉方式(byte-interleavemode):方式2:成组方式(blockmode):2、选择通道、选择通道(SelectorChannel)目的:针对高速外围设备,设置专门通道在一段时间内单独为一台外围设备服务,在不同的时间内仍可以选择其它设备;l工作方式:一旦选中某设备,就一直到数据传输结束为止。3 3、数组多路通道、数组多路通道(BlockMultiplexorChannel)目的:前两种方式的结合,并发地为多台高速设备服务;l工作方式工作方式:每次选择一

26、个高速设备,轮流为多台I/O设备服务;lProcess:locatesectorfoundreaddatal实际工作方式:通道在为一台高速设备传输数据时,有多台高速设备可以在定位或在寻找扇区。l传输效率和通道的利用率最高。6.4.5通道中的数据传送过程Ts,TdD11D21Di,jTs,TdTs,TdTs,TdDp,nTs:设备选择时间,即:从通道响应设备发出数据传送请求开始,到通道实际为这台设备传送数据所需的时间。Td:传送一个字节所需要的时间;P:在一个通道上连接的设备台数字节多路通道的数据传输过程n:每一个设备传送的字节数,这里,假设每一台设备的传输字节数都一样。Di,j:连接在通道上的

27、第i台设备传输的第j个数据,i=1p,j=1n;T:通道完成全部数据传输工作所需要的时间。当一个字节多路通道上连接有p台外围设备,每一台外围设备都传输n个字节时,总共需要的时间T为:Tbyte=(Ts+Td)*P*n选择通道选择通道:在选择通道之中,通道每连接一个外围设备,就把这个设备的n个字节全部传送完毕,然后再与下一个设备连接。当一个字节多路通道上连接有p台外围设备,每一台外围设备都传输n个字节时,总共需要的时间T为:Tselector=(Ts/n+Td)*P*n数组通道数组通道: : 数组通道在一段时间内只能为一台外围设备传送数据,但同时有多台设备在寻址或定位。当一个字节多路通道上连接有

28、p台外围设备,每一台外围设备都传输k个字节(kn,如k=512)时,总共需要的时间T为: T selector = (Ts/k + Td)* P * n在一个设备寻址后,连续传输在一个设备寻址后,连续传输k个字节个字节通道流量分析通道流量分析: : 又称通道吞吐率或数据传输率。即:单位时间内能够传送的最大数据量,单位:bytes/s。字节多路通道传输率选择通道最大传输率数组通道最大传输率例子:一个字节多路通道连接D1、D2、D3、D4、D5,分别以10us,30us,30us,50us,75us向通道发出一次数据传送服务请求,求解:1)计算这个字节多路通道的实际流量和工作周期。2)画出通道分时

29、为各个设备的时间关系图。3)从时间关系图上发现什么问题?如何解决?解:该通道的实际流量为:该通道的工作周期为:010203040506070D1D2D3D4D580问题分析:1、当字节多路通道的最大流量与实际很接近时,虽然在宏观上保证通道流量平衡,不会丢失数据,但传输速度高的设备将因频繁发出请求而影响低速设备的请求服务。如:D5设备。2、原则上,如果对所有设备的请求时间间隔取最小公倍数,期间通道的流量是平衡的,即:所有设备的请求都能得到一次响应服务。但这并不能保证在任意设备的任意两次时间传输请求之间的请求都能得到响应。例如:D5解决策略:1、增加通道的最大流量;2、动态改变设备的优先级;3、增加一定数量的数据缓冲区。本章小结一、I/O基本原理I/O系统组成:I/O设备+I/O接口+I/O驱动程序I/O系统三大特点:异步性+实时性+设备无关性I/O方式:查询方式,中断方式,DMA方式二、RAID系统的工作原理RAID0RAID1RAID27三、通道处理机三、通道处理机通道的作用和功能:通道的工作原理/流程通道的流量计算本章作业:1,3,5,7,8,10课外作业:请问RAID6为什么具有极大的数据出错容忍能力?请给出RAID6的读、写过程。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号