计算机体系结构 兰州大学 chapt6课件_第1页
计算机体系结构 兰州大学 chapt6课件_第2页
计算机体系结构 兰州大学 chapt6课件_第3页
计算机体系结构 兰州大学 chapt6课件_第4页
计算机体系结构 兰州大学 chapt6课件_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章计算机输入/输出系统1.引言2.输入/输出设备类型3.I/O子系统的控制方式4.总线

5.I/O子系统性能测量

6.总结

本章要点:介绍输入/输出设备类型、输入/输出子系统的控制方法、总线、输入/输出子系统性能测量冗余磁盘阵列(RAID)技术。1.

引言计算机输入/输出系统(通称I/O系统),担负着计算机与外界交换信息的任务。早在冯·诺依曼时代就被作为计算机体系结构的一个重要组成部分。然而许多年以来,I/O系统没有得到足够的重视,它只是被作为“外围”设备看待。计算机体系结构设计者们重视的是用户程序运行的CPU时间,而I/O系统在程序执行所化的时间无论是多是少,都作为一种额外的开销而被忽略了。实际上,I/O系统的速度也是重要的。对用户而言,他们感受的不是单纯的CPU时间,而是程序的执行时间(executiontime)。I/O系统的速度对整个程序的执行时间有重要影响。假设某计算机CPU处理的时间占总处理时间的90%,而I/O处理时间仅占总处理时间的10%,根据Amdahl定理,即使CPU的处理速度提高10倍,而I/O系统的速度没有提高,则程序总的处理速度(执行时间的倒数)只能提高:

1/(0.1+0.9/10)=1/(0.1+0.09)=1/0.19≈5倍也就是说,此时有一半的CPU速度提高被浪费了。即使CPU处理速度提高了100倍,在同样的情况下,总的性能也仅能提高:

1/(0.1+0.1/100)=1/(0.1+0.009)≈10倍可见,I/O系统的速度的重要性。

1.

引言在单进程操作系统中是这样,同样在多进程的操作系统中,I/O也同样重要。在多进程的操作系统中,虽然可以通过合适的进程调度可使CPU不是空下来等待I/O系统工作的结束,而是继续执行其它进程,这样I/O速度的快慢就无关轻重了。然而事实并非如此。

首先,这种方法虽能维持整个操作系统中吞吐量不变,提高CPU的利用率,但对于用户来说,仍然存在没有解决执行时间延长的问题,他仍然必须等待I/O操作结束;由于进程切换带来的开销,他的进程运行时间甚至会更长。

其次,在大多数桌面操作系统的PC机和工作站上,并没有很多的进程可以进行这种共享,从而使CPU的空闲成为不可避免。

另外,多进程操作系统中,一般都使用盘交换区和虚拟内存技术已容纳好几个进程,而这两项技术的性能都依赖于I/O系统,依赖于外部存储系统的速度。由此可知,I/O系统在计算机体系结构中的重要性。1.

引言2.

输入输出设备类型

数据表示设备

网络通讯设备

存储设备

廉价磁盘冗余阵列输入/输出(简称I/O)设备可分为三大类:数据表示设备、网络通讯设备、存储设备。这类I/O设备的主要功能是在计算机处理器和用户之间传递信息。主要包括显示器、键盘等人-机交互设备,也包括一些用于控制其它电子设备的信号输出输入设备。这些设备通常为计算机提供其运行时所需的大部分输入信息,同时输出计算机运行的最后结果,并反馈给用户。2.1数据表示设备表6-1常见数据表I/O设备及其数据库随着计算机多媒体技术的发展,出现了许多新的数据表示方法,这些新的表示技术包括高速图形显示、视频显示,声音输入/输出。为了减轻对设备的压力,通常采用数据压缩的方法,使数据量下降,但也产生了解压缩的问题。这些新的数据表示方法不仅对I/O系统提出了很高的要求,对处理器的速度也提出了新的要求。同时,这些新的技术也扩展了计算机输入/输出设备的范畴,促进了I/O系统技术的发展。表6-2多媒体数据表示设备的参数一览表2.1数据表示设备

网络通讯设备的功能是在处理器间传递数据。网络通讯设备的种类繁多。⑴按连接处理器的距离分,有:

MPP网、局域网、广域网等;⑵按采用的通讯介质分,有:铜线电信号设备和光纤设备;⑶按所采用的控制技术分,有:以太网、ATM网、令牌环网等。随着计算机向网络化发展和网络并行计算技术的产生,这类设备的地位正在变得日益重要。

2.2网络通讯设备

存储设备是指外存储器。它的功能是作为计算机存储器层次结构的一部分,存储计算机处理时所需信息。这类设备由于经常与处理器协同工作而显得地位格外重要,作为海量的非易失外存设备,这类I/O设备一方面担负存储计算机后备数据的任务,一方面还往往作为虚存或操作系统交换区的一部分,直接参与计算机的处理。计算机外存储器一般有磁盘、光盘、磁带。2.3存储设备磁盘分为软盘和硬盘。磁道(track):磁盘的表面沿直线方向划分为不同的同心圆。柱面(cylinder):在硬盘机中,磁盘片连在一起,把各面的同一磁道连起来。每条磁道按切线方向划分为几十个扇区,扇区是磁盘存储信息的最小单位,一般有扇区号、分隔用的空白区、扇区数据信息组成。通常,所有的磁道扇区数是一样的,外圈的磁道扇区密度小,数据存放可靠,而内圈磁道短,故数据容易出差错。所以,可采用“常位密度”的存储方式:在外圈长磁道上放更多的扇区,这样就使整个磁盘上扇区的密度也就是数据的密度一致,增加了可靠性。在对磁道进行数据读写是,首先磁头臂要移到指定的位置,这个操作称为寻道,该操作所需时间称为寻道时间,寻道时间与磁头时间有关。在磁头移动到指定磁道后,读写数据还需等待磁盘旋转到指定的扇区,这个操作所需时间称为旋转时间,大多数的磁盘旋转时间为3600r/s,平均旋转延迟是指磁盘旋转半圈的时间,为0.5*60/(3600)=8.3(ms)。2.3存储设备数据传输所需时间称为传输时间。磁盘从收到读盘命令到启动磁盘臂移动之间的时间称为控制时间,它包括了等待上一次读写磁盘结束的时间,称做排队时间(queuingdelay)。将控制时间、寻道时间、转旋延迟和传输时间加起来,才是一次读写磁盘所需的总时间——存取时间(accesstime)。在磁盘和计算机之间,有一个叫磁盘控制器(diskcontroller)的部件负责控制磁盘的数据传输。磁盘发展追求提高存储密度,降低成本和提高速度。存储密度的度量指标是盘片的面密度(areadensity),单位为每平方英寸的位数,于是有面密度=每英寸磁道数*每英寸道数,其中,每英寸半径上磁道数又称道密度,单位为TPI(trackperinch);每英寸磁道上存储的位数又称位密度,单位为BPI(bitperinch)。磁盘的存取时间比DRAM慢100000倍,从而在现今计算机的主存和次级存储器间造成了巨大的存取时间缺口。2.3存储设备光盘光盘存储容量大,成本低,存放期限长,存储密度高。光盘分为只读型(CD-ROM)、WORM(一次写多次读)型和可擦写型。只读型用于软件开发,可擦写型只能用于数据备份,不能作为次级存储器。磁带磁带与磁盘很相似,不同之处是磁盘在一个有限大小的面积上进行读写,存取速度快;而磁带存储面积是个“无限”的带,只能串行存取,速度慢,容量大,常作为磁盘的后备介质使用。磁带容易缠断和断裂,可采用螺旋扫描带(helicalscantapes)技术解决:让磁带以一固定速度旋转,而沿着磁道的对斜线,用一个转的比磁带快的多的读写头记录数据。2.3存储设备廉价磁盘冗余阵列(RedundantArray

ofInexpensiveDisk)的基本思想是使用多个磁盘存储数据,并行的读写,提高数据传输带宽。为了提高数据的可靠性,数据是冗余存储的。具有容量大,数据传输快,功耗低,体积小,成本低。RAID中的数据并行存储造作对CPU是透明的。多个磁盘驱动器在逻辑上构成一个磁盘,系统的数据分布在各磁盘上的操作有磁盘控制器完成。见图6-2。

在图6-2中,控制处理器是RAID的控制中心,接收和分析主机操作命令,调度和管理磁盘阵列数据通道,组织和执行设备命令等。控制处理器运行一个控制软件,执行初始化、接口规范处理、命令序列优化处理、地址转换、数据通道管理等功能。数据通道在控制处理器控制下,实现数据的分配与集中、缓冲、奇偶校验等。控制接口是阵列与主机接口,实现主机和磁盘阵列的通信、数据传送和控制信号的传递;设备接口是直接连磁盘驱动器的接口。

2.4廉价磁盘冗余阵列(RAID)图6-2RAID结构图2.4廉价磁盘冗余阵列(RAID)控制接口控制处理器设备接口设备接口数据通路设备接口主机总线表6-3RAID的分级实现的可靠性RAID有几种实现功能,分成六个级别,分别称RAID1-RAID6,表6-3列出了非冗余磁盘阵列(RAID0)和各RAID级别的实现特性。2.4廉价磁盘冗余阵列(RAID)

程序控制

I/O处理器3.

I/O子系统的控制方式CPUMI/O图6-4(a)I/O系统的三种管理方式数据3.1程序控制

程序控制

在早期,计算机I/O子系统的控制直接由CPU来完成,如图6-4(a),由CPU执行启动,测试I/O设备,进行数据传输。这种方式不需专门的硬件,简单的计算机系统都用这种方式。但I/O设备的工作速度比CPU慢的多,CPU多数时间是在等待,效率较低。3.1程序控制中断驱动的I/O控制在程序控制方式(又称轮询方式)中,计算机CPU周期性的进入I/O控制操作处理外设的I/O事务,而不管该外设此时是否需要进行I/O处理。而CPU一旦进入I/O控制操作就不能作其它工作,从而大大降低了CPU效率。为此,采用中断驱动的I/O控制,如图6-4(b),只有在I/O设备需要CPU的控制操作时,才向CPU发出中断请求,使其转向为I/O系统服务,而平时CPU可以处理其它工作。中断处理时CPU与I/O间传递数据速度还不够快。CPUMI/O图6-4(b)I/O系统的三种管理方式数据中断信号中断方式不仅提高了CPU的效率,而且使CPU可同时控制多个I/O设备,但中断方式仍然需要CPU的干预,并且中断方式是作为程序控制方式的“改进”出现的,但如果I/O设备的速度足够快,采用中断方式时I/O设备就会不停地向CPU发出中断,此时,中断引起的保存现场等开销就会很严重,反而不如有程序控制CPU轮询操作好,因此,采用中断还是程序轮询方式控制CPU与I/O设备的速度有关。3.1程序控制CPUMDMA控制器I/O直接存储器访问”(directmemoryaccess,DMA)

中断方式和程序方式必须借助CPU完成I/O设备的控制方式。为了减轻CPU的负担,采用一个名为“直接存储器访问”的部件协助CPU进行数据传输方面的操作,如图6-4(c)。在CPU完成必要的I/O控制之后,不是由CPU来传递I/O数据,而由DMA根据CPU传递的参数(起始地址、长度等),直接在I/O设备与存储器之间快速传递大量数据,传完之后再通过中段通知CPU。图6-4(c)I/O系统的三种管理方式3.1程序控制DMA管理的I/O系统的主要问题是在传送时仍占用总线,会与CPU产生争用,此外仍需CPU完成一些控制工作。为此,使用一个叫I/O处理器(I/Oprocessor)或称I/O通道(I/Ochannel)的设备来代替CPU来控制I/O设备。这样的I/O子系统有更强的功能,它执行自己的程序,除了完成数据传送外还可以进行数据的变换、装配校验等工作,使CPU进一步摆脱输入输出操作的负担。I/O通道管理I/O总线,这是将I/O设备与I/O处理器连起来的总线,而计算机内部总线则是另一条在一个总线控制器控制下的高速同步总线。当I/O处理器要传数据到内存时,它的总线控制器发送使用内部总线请求,由其统一安排对计算机内部总线的使用。I/O处理器一般就是一个通用处理器,与计算机的通用处理器CPU协同工作,但也可以是专门为I/O设备设计的专用处理器。有时,把多进程操作系统里的I/O管理进程也成为软件意义上的I/O处理器。为适应兼容性方面的要求,这样的软件处理器通常分为几个层次如用户界面层、设备无关层、设备驱动器中断处理等。3.2I/O处理器PMI/O通道I/OI/O总线主控控制I/O总线图6-5I/O通道结构图在这里我们看一下硬件通道的情况,图6-5是典型的具有通道的计算机系统结构图,这种结构图正如我们前面所讲的有两种总线:存储总线(内部总线)和通道总线(I/O总线)。一条通道总线可以连几个设备控制器,一个设备控制器也可一连几个设备。从逻辑结构讲,有了I/O通道后,I/O设备连接可以分为四层:

CPU—通道处理器—设备控制器—设备3.2I/O处理器

对于同一系列的机器,通道与设备控制器间有统一标准接口,设备控制器与具体设备间有专用接口,大中型计算机系统一般都接有多个通道,对不同类型的I/O设备可进行分类管理。存储管理部件(对应图6-5中的总线适配器)是存储总线的控制部件,它的主要任务是根据事先确定的优先次序(由硬件设定或软件决定)决定下个周期由哪个部件使用存储总线。由于大多数I/O设备读写信号有实时性,不及时处理将丢失数据,所以通道的优先权较高,而高速设备通道的优先权高于一般设备的通道优先权。

通道的基本功能是执行通道命令,组织外围设备和内存进行数据传输,按I/O指令要求启动I/O设备,向CPU报告中断等,具体是:接收CPU的I/O指令,按指令要求与指定的I/O设备进行通讯。从内存选取属于通道程序的通道指令,经译码后向设备控制器和设备发送各种命令,组织外围设备和内存进行数据传递并根据需要给数据提供中间缓存的空间,以及提供数据存入内存的地址和传送的数据量,并从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存指定单元供CPU使用,将外围设备的中断请求和通道本身的中断请求按次序报告给CPU。3.2I/O处理器CPU对通道的管理通过I/O指令和处理来自通道的中断来实现。一般把CPU运行操作系统的核心,管理程序的状态称管态,而把CPU执行目标程序的状态称目态。一般多用户操作系统只允许在管态下对通道进行操作,以使I/O资源能为各用户共享,并保证操作系统安全。通道通过指令使用设备控制器进行数据传送操作,并以通道状态字(channelstateword,CSW)接收设备状态器反映的I/O设备状态,因此设备控制器是通道对I/O设备实现传输控制的执行机构。它的任务是接收通道指令,控制I/O设备完成要求的操作,向通道反映I/O设备的状态;将各种I/O设备的不同信号转为通道能识别的标准信号等。根据通道工作的方式,通道分为选择通道,数组多路通道,字节多路通道和通道适配器四种。3.2I/O处理器选择通道又称高速通道,它的特点是可连接多个设备,但这些设备不能同时工作,选择通道一次只能选择一个设备进行工作,这种通道主要连接高速设备,如磁盘、磁带等,信息以成组方式高速传输。数组多路通道:在设备进行数据传送时设备只为该设备服务;当设备进行寻址等控制性机械动作时,通道暂时断开与该设备的连接,为其它设备去服务。它既保留了选择通道高速传输数据的特点,有充分利用了机械辅助操作的时间间隔为其它设备服务,使通道的效率充分得到发挥,在实际系统中得到较多应用。

字节多路通道用于连接低速设备,如纸带输入机、打印机等,这些低速设备的传输速率低,例如纸带输入机的数据传输率是1000字节/s,字节间的传输间隔是1ms,而通道从设备接收或者发送一个字节只有不到1ms,因此通道在字节间有很多空闲时间,字节多路通道可以用这段空闲时间为其它设备服务。3.2I/O处理器字节多路通和数组多路通道都是分时复用通道。在一段时间内能交替执行多个设备的通道程序,使这些设备同时工作。但它们的不同之处:第一,数组多路通道虽然允许多个设备同时工作,但只允许一个设备进行传输型操作,而其它设备只能进行控制型操作;字节多路通道不仅允许多个设备同时工作,而且允许它们同时传输数据。其二,数组多路通道与设备间的数据传送的基本单位是数据块,而字节多路通道与设备间的数据传送的基本单位是字节,通道为一个设备传送一个字节以后,又可以为另一个设备传送一个字节,因此各设备与通道间的数据传送以字节为单位交替进行。在某些系统中,除配置上述三类型的通道外,还配置通道适配器,这是一种将通道与某些设备控制器结合在一起的专用性质的通道,它与某些特定类型设备连接,它的逻辑设计是针对专用设备的,适配器与设备间有专用接口线。3.2I/O处理器4.总线

总线分类与选择

总线标准总线(bus)是计算机各部分之间联系通讯的纽带,它把计算机各子系统连接在一起,总线可以容易地接纳计算机的新部件,并且成本较低。总线的主要问题是它有通讯瓶颈,当几个部件争用时,总线会使计算机子系统的性能下降,所以,总线的设计是很重要的。4.1总线分类与选择总线的分类总线可以有几种分类方式,按允许的数据传送方向分:单向传输总线和双向传输总线。双向传输总线又可以分为半双工和全双工的。按用途分:专用总线和共享总线。按数据线的宽度分:8位、16位、32位和64位总线等。传统上最常见的分类:存储器总线和I/O总线。与存储器总线相比,I/O总线相对更长,可连接更多设备,适应更多的数据宽度,通常还有一定的标准。而存储器总线所连接的设备一般在设计时确定,可以进行专用的优化设计。总线传输周期一个总线周期可分为两个阶段:地址传送阶段和数据传送阶段。总线传输一般可分为两种类型:“读”操作,这时数据从内存流向I/O设备或CPU;“写”操作,这时数据从CPU及I/O设备流向内存

。在“读”操作时,I/O设备或CPU先送出地址信号和控制信号,内存根据这些相应的数据送到总线;

“写”操作类似,只是CPU或I/O外设必须在送出地址、控制信号的同时把数据送出。为了解决总线上各设备(CPU,内存与I/O设备)的速率匹配,一般还得引入一个“等待”信号。总线传输周期示意图详见图6-6。4.1总线分类与选择时钟地址数据读信号等待信号图6-6典型的总线读周期图示4.1总线分类与选择4.1总线分类与选择总线存在的问题总线仲裁:对于复杂的一些总线,可能有几个总线主设备存在,它们都可以启动总线操作。由于同一时间只能有一个主设备使用总线,就产生了总线仲裁问题。为了实现仲裁,可以用集中式控制(仲裁部件是一个专门部件)或者分布式控制(各总线设备自行控制决定使用总线)的方法,一般都有一个固定的优先级顺序,保证总线使用的公平和高效率。总线传输方式:一般有两种方法,单数据传递和块传递。在单数据传递技术中,一个总线主设备向总线仲裁器发一个请求,然后在整个传输操作期间独占总线。块传递又称作连接/解除连接技术或流水线总线或分组交换总线。图6-7是采用分离操作技术后总线操作示意图。同步问题:即总线信号和总线时钟的关系。有三种方式:同步、半同步和异步。同步总线表示各信号必须按一个固定的时刻发出,异步总线表示信号的发出时刻是任意的,半同步是以上两种方式的混合,它的信号必须和时钟有一定的关系。三种方式各有优劣。地址数据等待采用分离传输技术,读操作被分为一个输出地址的读请求操作和一个传递数据的存储器应答操作,这些操作都加上标识,以便通讯双方能知道谁是谁,当内存正在执行前一个读操作时,总线上就能为下一个读操作准备好地址,从而使得数据读出与地址输入能交叉进行,提高了总线带宽。但与简单的单数据读出比较,分离操作总线的时延较大。4.1总线分类与选择图6-7分离操作总线的操作周期示意图4.1总线分类与选择

同步方式,数据的传输在一个共同的时钟控制下进行,总线的操作有固定的时序,设备不需判断下一步应采取什么动作,实现简单,成本低,速度也较快。主要有两个缺点:一是所有的设备只能按一个速度工作,即所有设备都按最慢设备速度工作;二是同步总线长度受到限制,太长容易发生时钟变形。

异步方式下,总线操作时序不是固定的,每个操作步骤由一个信号来标识,根据控制信号间的时序关系,异步方式又可以分为互锁的和非互锁的。互锁方式采用握手协议来协调动作。缺点是控制比较复杂,对噪声较敏感。异步方式可以连接更多种类的设备,可使用任意长度总线而无时钟变形或同步问题。它在每次传输前都要有控制信号,增加了开销,所以选择同步方式还是异步方式的关键就在于:连接距离、设备数和所需带宽。

半同步方式是上述两种方式的折衷方案。系统也有一个集中的时钟,控制信号的出现受时钟信号的支配,各信号间的间隔是时钟周期的整数倍,相当于在同步总线中增加了等待协议,从而避免了同步总线中在操作速度不确定时的性能下降。半同步方式实际上是将时间量规范化的异步方式,也是实际常用的一种异步方式,且半同步方式具有同步方式受信号噪音影响小的优点。长时钟变形短同步方式更好异步方式更好相近I/O设备速度相差大图6-9异步和同步方式比较4.1总线分类与选择

4.2总线标准I/O系统中,I/O设备的数量和种类是不断变化的,为了适应这种变化,I/O设备接口和总线设计者必须遵循一定的标准进行总线和I/O设备接口设计。标准是一些指导互联的规范,可以让两方面的设计者分别工作,而又能设计出互相兼容的装置。4.2总线标准总线标准形成的三种途径:1.由某些计算机厂家首先提出,随后逐渐被其它计算机厂商使用而形成的所谓事实标准的(factostandards),如IBMPC-AT总线、DEC、PDP-11Unibus和Qbus等。2.如果总线足够成功,由总线专利创始人提出建议,将其总线规范由专家给予技术评价和修改,进而被标准化组织如CNSI或IEEE采用而纳入国家或国际标准,如Intel的Multibus5100总线。3.由专家小组在标准化组织的主持下从事开发和制定总线标准的工作,标准以一种自上而下的方式普及,如FutmeBus,FootBus及著名的PCI等。4.2总线标准EISA总线

EISA总线是在IBM-PC上的ISA总线基础上发展起来的32位总线(时钟频率33MHz)。ISA总线也称AT总线,是IBM为PC/XT设计的总线标准,原先宽度16位,时钟频率8.33MHz。EISA在ISA的基础上扩展了DMA通道、多处理器方式的裁决、共享中断和配置管理功能。增加了块DMA方式,允许8个DMA控制器按指定优先级占用DMA设备,从而可允许多用户操作。EISA还提供了中断共享功能,允许用户配置各个设备共享一个中断。4.2总线标准SCSI

总线

SCSI(smallcomputersysteminterface小型计算机接口)是一种来源于数组多种通道的I/O总线,它最初是用于大中型计算机系统的,后来才一直到小型微型计算机系统上。

SCSI是磁盘存储设备的接口,具有灵活性、设备独立性等特点,在磁带设备、打印设备、光盘设备等I/O设备接口中得到普遍应用,并发展到许多新的I/O设备和计算机网络、计算机工业控制等领域。采用SCSI总线,主机通过适配器以SCSI总线连接。SCSI可连接多个适配器和多个外设控制器,每个外设控制器可控制一个或多个外设,控制器与外设之间的通讯接口是设备级的局部输入输出接口(图6-10)。4.2总线标准主机1SCSI

总线适配器主机2外设控制器外设控制器外设控制器外设1外设2外设3外设i外设j

外设n适配器图6-10SCSI系统结构SCSI

总线SCSI总线可以连接多种设备级局部输入输出接口,具备与设备无关的高级命令系统,SCSI通过一种分层管理来实现这种独立与具体外设的特性(图6-11)。SCSI总线有异步和同步数据传输方式,SCSI-1的8位数据线可使通常使用的异部传输方式能实现最大1.5MB/s的传输速率,在同步方式下的传输速率可达4MB/s。SCSI设备之间通常采用消息系统,“消息”是主设备和从设备见的“会话语言”,SCSI将每个设备都赋一个标示号,从0~7共8个,标识号大的设备享有高的优先权,并采用菊花链方式互连。4.2总线标准主机适配器控制器外设(系统总线)MultiBus-I,IIVMEBusSTDBusIBM-PCBus(I/O总线)SCSIIPI-3QIC-2(设备级总线)ST506/412ESDISMDIPI-2QIC-36图6-11SCSI系统层次图4.2总线标准4.2总线标准PCI

总线PCI(peripheralcomponentinterconnect,外围部件互连总线)是1992年以Inter公司为首的一个联合体设计的总线,这是一种同步I/O总线,数据线32位,可扩充到64位,传送最高速度为133M/s,适于图形显示等要求高速数据传输的应用场合。该总线支持自动配置,不需设置开关及跳线,有即插即用(plus&play)特性。4.2总线标准在PCI总线系统中,总线分为外部总线,PCI总线和I/O总线三层次。在PCI总线上可连接显示器、存储器和网格控制器等,PCI总线通过PCI桥与计算机存储总线相连接,因此扩展能力很强,可支持需要对主存或相互之间进行快速访问的多种适配器,并允许CPU以全速访问。在PCI总线中,将主设备和从设备统称中介(Agents),所有总线上的数据传输都采用突发方式传输(或称高速传输)。突发的长度可以任意,由主从设备自行商定。每次突发方式的传送由以下两个阶段组成:1.地址阶段,输出地址和传输类型。2.数据阶段,如果从设备和当前主设备都能进行零等待传输,则进入数据阶段在每个后续的数据阶段都将传输一个数据(32/64位)。于是一个PCI总线操作就由一个地址阶段和其后的一个或几个数据阶段组成,一个地址阶段的持续期是一个PCI时钟信号周期,数据阶段的数量则取决与突发传输中的数据传输量,每个数据阶段传输一个数据,一个数据阶段至少由一个时钟周期组成,在一个数据阶段中可插入等待状态。在地址阶段中,主设备制定了从设备和传输操作类型,这些信息分别通过发放PCI地址码和命令类型字来表示。各设备在收到这些信息后,先判断自身是否是被呼叫的从设备,如果是,对命令进行译码,并发出一个PCI信号作为对该操作的应答,然后开始数据阶段,如果主设备收不到这样一个信号,在过了一个预定时间后就终止操作。4.2总线标准在数据阶段中,主设备和从设备间相互传递数据,数据阶段长度由“命令/字节”使总线信号决定,这些信号由主设备在数据阶段发出并使之有效(即所谓激活),PCI总线为主设备和从设备都定义了表示就绪的信号线,如果未就绪,还能在该数据阶段扩展一个时钟周期,主设备通过一个成帧信号——FRAME来标识整个突发方式传输的持续期。这个PCI信号在地址阶段开始时发出,保持有效到最后一个数据阶段,当它复位后,就表示突发传输的最后一次数据传输正在进行之中,紧接着驱动就绪信号表示以准备好最后一次数据传输,当最后一次数据传输完成后,主设备通过取消就绪信号使PCI总线恢复空闲。4.2总线标准4.2总线标准

PCI总线信号线由地址和数据线、接口控制线、仲裁线、系统线,还有中断请求线、边界扫描线信号、高速缓存支持、出错报告、接口控制等可选信号线组成。系统信号是时钟信号CLK和复位线RST,CLK信号是总线上所有设备的一个输入信号,为系统提供定时,RST信号使其它信号线处于三态。4.2总线标准IPI总线

IPI(intelligentperipheralinterface智能外围接口)是一种智能化的I/O接口总线,它的层次结构使得它的智能化程序可以按需要选择。根据现有ANSI协议,它被定义成4层,但实际上还可扩充,其层次结构如图6-12。IPI有三个特点:一是具有高级命令结构,一个主机可以配置最多8个外设,按需要可以选择0~3级不同的智能。二是传输速率高,它是一种并行接口,数据总线宽度为16位,定义最高传输速率达10MB/s,总线宽度和数据速度还在不断的提高。三是有设备独立性,可以同时控制多种输入输出设备,而且设备的更新不用更换硬件结构和系统软件。图6-12IPI层次图4.2总线标准4.2总线标准

IPI体系结构可以分为三级:主级-从级-设备级,其关系是主级控制着从级,从级按主级的要求用逻辑地址和设备命令来管理设备。在IPI体系结构中,主机是主级,IPI子系统是从级,在IPI子系统内部,IPI的从级还可以再用IPI构成多级IPI结构,IPI采用6根控制信号线和两组9位数据线,控制信号线中5根用于主级到从级的命令,可表示25~32种总线状态,一根用于从级到主级的响应。两组数据线分别叫A总线和B总线,各由8位数据加1位奇偶校验组成,它们有两种工作方式:半双工、全双工。半双工工作方式中A总线传送主级到从级的控制信息,B总线进行从级到主级的传送,全双工工作方式中A,B两总线共同并行进行16位数据传输,传送的具体方向有控制信号决定。表6-3一些I/O总线性能一览表4.2总线标准5.

I/O子系统性能测量

引言

I/O性能预测

I/O系统性能测量I/O的性能和CPU的性能是不一样的,这主要有两个原因:一是I/O设备的多样性,有许多相互间完全不同的I/O设备;二是数量的不确定性,一台计算机可以同时连接多个I/O设备。5.1引言I/O性能的两种测量方法:⑴用CPU性能标志响应时间(responsetime,也称时延(latency))和吞吐量(throughput,也称I/O带宽(I/Oband-width))来测量。⑵I/O处理使用CPU的时间,进行I/O控制和传输都要占用CPU时间,处理I/O中断也要占用CPU时间,从而将影响CPU处理其它事物。生产者服务者图6-13生产者—服务者模型队列I/O系统可看作为一个生产—服务模型,如图6-13所示。生产者产生待处理的任务放入任务队列中,而服务器从任务队列中取出任务并处理之。但在I/O系统中,这两个性能指标对系统的要求是很不一致的,响应时间是任务放入任务队列到服务器完成处理的时间,所以任务队列越短,任务在任务队列中停留时间就越短,相应地响应时间也越短。而吞吐量是单位时间内服务者所处理的平均任务数,故而要求任务队列尽量不能空。显然这两个要求是互相矛盾的。5.1引言图6-14时间与吞吐量的关系图5.1引言占总吞吐量的百分比响应时间(ms)图6-14画出了响应时间与吞吐量之间的关系。从图中可以看到,响应时间短一点,对吞吐量的影响就很大,故而同时提高两个指标是很困难的一件事。图6-15人机交互情况下一个系统运行情况分析051015时间(s)输入时间系统响应时间思考时间图形负载,系统响应时间1.0秒传统交互负载,系统响应时间1.0秒5.1引言由图6-15中可以看出,减少系统响应时间不仅减少了作业时间中的系统响应时间部分,同时将提高系统的产出量,将系统时间减少9.7s后,传统交互负载的作业时间下降了4.9s,即下降了34%,图形处理的作业时间下降了2s,下降10%,这样的结果是由人的一个特点引起的:人在响应快时,本身的思考也快。5.1引言无论怎样解释这种现象,系统响应时间对产出量的影响很大是一个事实。实际上,当计算机系统响应时间降至1s以下时,产出量呈现非线性的飞速增长,图6-16比较了新手、一般工程人员和计算机专业人员在图形显示器上进行物理设计时的产出量随系统响应时间的变化曲线。在图中可以看到,在响应速度快的系统上工作的初学者和一般工程人员的产出量比在响应时间慢的系统上工作的专家的产出量要高,随着响应时间的缩短,所有人的产出量都会大幅提高,所以响应时间的缩短,在与吞吐量的比较中应占有更重要的地位,毕竟人是计算机的主宰。人的特性更为重要。图6-16新手、一般工程人员和计算机专业人员在图形显示器上进行物理设计时的产出量随系统响应时间的变化曲线05001000150020002500300035004000450050000.260.310.370.50.7711.5系统响应时间(秒)用户工作效率(每小时完成的操作)新手工程师专家5.1引言5.2I/O性能预测这一节中,我们将讨论如何从理论上预测和计算I/O的性能,在设计I/O系统时,I/O系统的系统是无法用测量得到的,于是理论预测就成为设计I/O系统时的一个重要步骤。我们先从一个黑箱模型开始,在这个模型中,一个I/O系统被看作是一个黑箱,如图6-17所示,CPU向这个黑箱发出I/O任务请求,由黑箱处理后,任务再离开黑箱。图6-17I/O系统的黑箱模型离开到来5.2I/O性能预测这里我们只研究系统的稳定状态,即系统运行足够长的时间后,达到一种状态,此时的到达速率和离去速率应该相等,这时可用Little定律描述这一状态,其表达形式为:系统中的平均任务数=到达速率×平均响应时间图6-18I/O系统的真实模型到来服务排队I/O控制器及设备5.2I/O性能预测Little定律

这里我们只研究系统的稳定状态,即系统运行足够长时间后,达到的一种状态。此时任务的到达速率和离去速率应该相等,这时可用Little定律描述这一状态:

系统中的平均任务数=达到速率×平均响应时间

Lsys=R×Tsys5.2I/O性能预测系统利用率

为了评估一个I/O系统忙闲程度,我们引入一个叫系统利用率(systemutilization,以U表示)的概念,它的计算公式为

U=R/服务速率系统利用率的值域在0到1之间,否则就意味着到达I/O系统的任务比I/O系统所处理的要多,违反了前面说的平衡状态条件,系统利用率有时也称为通讯密度。5.2I/O性能预测[例6-1]设一个单磁盘的I/O系统每秒接收到10个I/O请求,而磁盘处理每个任务平均约需50ms。I/O系统的利用率是多少?解:服务速度=1/服务时间=20I/O任务/s(简称IOPS)则 系统利用率=到达速率/服务速率=0.5由Little定律得: 队列长度=到达速率×等待(排队)时间 服务长度=到达速率×服务时间[例6-2]设完成一个磁盘I/O请求的平均时间为50ms,磁盘收到的I/O请求为200IOPS,在服务器磁盘中的平均I/O请求个数是多少?解:服务长度=到达速率×服务时间=105.2I/O性能预测

如何从队列中取出任务称为队列规则(queueprinciple),最简单常用的规则为先进先出规则(first-in-first-out,FIFO),如果用先进先出方法,我们可以得到下式

系统时间=队列长度×服务时间+新任务到达后完成目前任务的平均时间上式中最后一项计算起来并不像想象中那么简单,新任务可以在任一时刻到达,也没有办法估计一个特定的任务要在系统中停留多少时间,为此,先介绍一些概率论的基础知识。描述随机变量概率分布的一种方法是直方图(histogram)。它将一定范围内的取值划为一个桶(bucket),将每个桶中取值概率相加,然后将其用不同长度的柱(column)表示,但它只适用于离散型的随机变量,对于连续随机变量的概率分布,必须用等值线上的连续曲线才能精确表示。5.2I/O性能预测平均服务时间=(f1×T1+f2×T2+…+fn×Tn)/∑fi这里Ti————任务i的服务时间,

fi————其概率。为表示实际值与平均值的偏离程度,可以用标准差或方差,后者是前者的平方。这里我们用方差,计算公式为

方差=∑(fi×(Ti-平均服务时间)2)/∑fi方差的缺点是其所使用的单位所造成的,由于它的单位是原单位的二次方,给使用和换算带来一定困难,为了防止这个问题,常用一个叫协方差的量来计算。常简写为C表示

协方差(C)=方差/平均服务时间25.2I/O性能预测平均停留服务时间=1/2×平均服务时间×(1+C)[例6-3]以平均服务时间,服务器利用率,协方差计算新任务在队列中的平均等待时间。解:Tq=Lq×

Tsvr+服务器利用率×平均停留服务时间Tq=服务器利用率×(1/2×Tsvr×(1+C))+(R×Tsvr)×TqTq=服务器利用率×(1/2×Tsvr×(1+C))+服务器利用率×TqTq-服务器利用率×Tq=服务器利用率×(1/2×Tsvr×(1+C))Tq=(服务器利用率×Tsvr×(1+C))/(2×(1-服务器利用率))设各任务为指数分布,则C=1,上式可简化成

Tq=服务器利用率/(1-服务器利用率)5.2I/O性能预测上面的公式都是基于应用数学的一个领域叫排队论(queuingtheory),排队论推导的结果一般只能逼近所需的结果,而不能得到真实的预测,因为实际系统要比理论模型复杂得多。和计算机科学中常用到的一些方法不同,它认为事件间是彼此独立的,过去事件和现在事件之间没有联系,而计算机中常用的一些理论则以过去和现在有关为基础,比如Cache或虚存中内容更新的一些算法(LRU),都是如此。排队论的应用通常以模型和实验为基础,先建立模型,再进行试验。如果结果是对的,就用这个模型来进行计算和预测。5.2I/O性能预测我们总结一直所用的排队模型,并有以下假设:⑴系统是稳定的;⑵两个相继请求到来之间的时间称间隔时间(intervaltimes)服从指数分布;⑶请求的个数是无限的(在排队论中叫无限人口模型infinitepopulationmodel);⑷服务器在为前一个请求服务后能立即为下一个请求服务;⑸队列的长度是无限的,遵守先入先出原则;⑹队列中所有任务都必须完成。

这样的队列在排队论中称M/G/1模型,各字母含义为

M:为无记忆,任务请求服从指数分布;

G:普通服务分布,非指数分布;

1:服务器只有一个。5.2I/O性能预测

如果时间间隔服从指数分布,模型就成为M/M/1,这个模型就是上例中简化后的最后结果,它是一个最简单的模型,使用广泛。指数分布假设在排队论中使用很广,理由有两个:

⑴一是许多计算机中的随机事件服从指数分布,从而使用它是较准确的;

⑵另外一个原因则是计算简单。下面给出几个例子:5.2I/O性能预测[例6-4]设一个处理器以10IOPS速率发请求,它们都服从指数分布,平均磁盘服务时间为20ms,问:1.磁盘平均利用率为多少?2.平均用在排队上的时间为多少?3.90%的排队时间小于多少?4.包括排队时间和磁盘服务时间在内,磁盘的平均响应时间是多少?解:1.服务器利用率=到达速率/服务速率=10/(1/0.02)=0.22.平均排队时间=平均服务时间×服务器利用率/(1-服务器利用率)=20×0.2/(1-0.2)=5(ms)3.从表6-4中查到,90%的排队时间小于平均排队时间的2.3倍,即2.3×5=11.5(ms)4.平均排队时间+平均服务时间=5+20=25(ms)5.2I/O性能预测5.3I/O系统性能测量在上一节中,我们讨论了对I/O系统性能的预测,但仅有预测是不够的,实际测量能为我们提供I/O系统性能的实验值,并为预测模型提供检验,帮助建立预测模型的和选择参数进行性能测量的方法一般是采用基准测试程序(benchmark)。这是一些专门为检验性能编写的小程序,可以测量I/O的基本性能,下面介绍用于测量磁盘系统性能的三种基准测试程序。5.3I/O系统性能测量事务处理基准测试程序

事务处理或在线事务处理(transactionprocessingTP;on_linetransactionprocessingOLip)用来测量数据库的I/O性能。由于要处理的工作通常包括对一些共享数据的存取和保护,所以它更注重的是I/O速率,也就是单位时间内磁盘存取的次数,而不是数据速率。此外,TP系统还必须有在系统出错时保持数据一致性的功能。此外,TP系统还必须有在系统出错时保持数据一致性的功能。比如,一个银行的计算机在客户提钱时崩溃了,TP系统就必须保证客户拿走的钱与银行帐户上的钱是一致的。5.3I/O系统性能测量由几十个成员组成的TP协会(TPcommunity,TPC)推出了一种事务处理基准程序DebitCredit,这个软件模拟银行柜员的工作,测量系统的事务处理能力。模拟银行客户的存取操作,并以一个叫做每秒执行事务数(transactionspersecond,TPS)的单位进行计量。TPC共同推出四种基准测试程序,TPC-A和TPC-B,在它们的基础之上发展出模拟复杂查询处理的基准测试程序TPC-C和模拟决策支持的TPC-D。根据TP系统设计的灵巧程度,每次事务进行2~10次磁盘存取,花掉5000~20000条CPU指令执行的时间,这主要取决于TP系统软件的效率,另外还取决于有多少磁盘存取能转换为对主存的存取。所以TPC软机不仅测量了计算机的I/O性能,也测量了用到的数据库TP软件。TPC主要测的是在90%事务的响应时间不超过两秒的情况下的峰值TPS指标,基准测试程序还要求当TPS增加时,模拟的柜员数和记帐文件大小也应增加,如表6-5所示。这样做的目的是保证基准测试程序确定测量I/O指标,否则在柜员很少或记帐文件很小的情况下,数据会直接在内存的磁盘缓冲区内读写,从而得到很高的虚假TPS值。5.3I/O系统性能测量TPC-A和TPC-B的另一个引人注目的优点是它能比较两台不同配置的计算机的性能,除了报告TPS之外,基准测试程序也报告每个TPS的成本。5.3I/O系统性能测量表6-5模拟的柜员数和记帐文件大小关系5.3I/O系统性能测量系统文件服务器(system-levelfileserver,SFS)基准测试程序

SPEC基准测试程序是以测量处理器性能而闻名的,但是它也测试其它方面的指标。1990年,七家公司联合推出一种综合基准测试程序叫SFS,用来测量运行SUNMicrosystems

网络文件系统NFS的计算机性能。这种基准测试软件提供由比例适当的读写操作及其它(如文件检查)操作组合而成的测量程序来测量NFS系统。SFS提供适合于进行性能比较的缺省参数,如所有写操作的一半在一个8KB的块中完成,其余的一半在一些1,2或4KB大小的快中完成;或者读85%的整块和15%的零星碎块等缺省参数。像TPC-B一样,SFS按吞吐量大小对文件系统大小提出要求,如对一个能进行每秒100次NFS操作的系统,要求其大小必须增加1GB。SFS也像TPC一样限制了平均相应时间,上限为50ms,SFS但不像TPC,提供了标准化的统一指标以便比较不同配置的计算机的性能。5.3I/O系统性能测量5.3I/O系统性能测量自扩展(self-scaling)的I/O基准测试程序

自扩展的I/O性能分析程序是由Chen和Patterson在1994年提出的,这种自扩展基准测试程序可以根据所测系统的性能自行改变测量尺度。在前面的TPC-B的SPEC中我们已经看到改变测量参数以适应不同尺度的例子,但这种基准测试程序可以测量参数变化范围更广的系统,因而具有更大的适应性。它通过五个参数,从不同方面衡量和测试一个系统,这五个参数是:5.3I/O系统性能测量自扩展(self-scaling)的I/O基准测试程序1.存取的独立字节数:工作负载所读写的独立字节数(不重复的),实际上,这就是工作负载存取的数据集合大小。2.读操作占总操作的百分比。3.平均I/O请求大小。从一个指数分布是选择的。4.顺序请求所占百分比。如一个请求与前一个请求是顺序相连的,则称他们是顺序请求。比如在磁盘请求中,有一半的请求与它的前一个请求在磁盘位置上是相邻的,就可认为顺序请求所占百分比是50%。5.进程数。负载的并行程度,即可同时执行I/O操作的进程数目。5.3I/O系统性能测量基准测试程序先对这五个参数取一个对系统性能来说没有影响的额定值(nominal),然后依次固定4个值,改变一个值,进行测量,但第一个值不能改变,因为这牵涉到是真的在磁盘上读写还是在内存文件缓冲区读写的问题,对系统性能影响很大。故一般由基准测试程序自动选择两个测试值,进行测试。5.3I/O系统性能测量

测试的结果指标分别按五个参数画出性能曲线图,由此就可以了解I/O系统的性能状况,但这样的测试也带来了一个问题,即难以对不同I/O系统的性能进行公正的比较,因为各I/O系统的性能指标都是由自扩展基准测试程序在不同的负载下测出的,没有可比性。所以,在进行了测试之后,还必须作第二步工作,即估计I/O系统在自扩展基准测试程序所未测的负载之下的性能,估计的原则是假设一个参数的性能曲线形状与其他参数无关,写成公式如下:

Perf(X,Y,Z)=Perf(X额定,Y额定,Z额定,…)×fx(X)×fy(Y)×fz(Z)…其中:Perf(X,Y,Z)为I/O系统在参数为X,Y,Z时的性能,X额定,Y额定,Z额定为参数的一个初始额定值,

fx(X)为其它参数不变时,X参数的变化影响系统性能的比率,fy(Y),fz(Z)同理。Chen和Patterson声称,用这样的方法估计,对大多数负载情况误差不超过10%。引言设计一个I/O系统的中心问题是怎样在防止造成I/O瓶颈的情况下设计一个符合预定性能和成本的系统,此外,一个良好的I/O系统还必须有可扩充性,根据性能要求的不同,设计时应侧重不同的方面,下面列出设计I/O系统的六步方案:6.

总结6.

总结

1.列出计算机将连接的各种I/O设备,或计算机支持的总线标准。2.列出各I/O设备的物理要求,如体积,功率,接插件,总线槽,扩展机箱等。3.列出各种I/O设备的成本,包括控制这些I/O设备的成本。4.记下各种I/O设备对CP资源的要求,包括启动,支持到终止一个I/O设备的时间,CPU等待I/O操作所需的时间,比如等待I/O完成对内存,总线,Cache的使用和从I/O操作中恢复过来的时间(比如等待I/O后高速缓冲的刷新(flush))。5.列出I/O设备对存储器和总线资源的需求,即使在CPU不使用存储器时,存储器的容量和带宽也是有限的。6.最后对各种组织I/O设备的方法进行综合分析和测评,选择一种合理方案。6.

总结

性能价格比是影响I/O系统实现的重要因素,衡量性能的参数可以是每秒传送的兆字节数或每秒I/O操作数IOPS,可以按具体要求选择。对于要求高性能的系统,主要是设法提高I/O设备的速度和数据传送的速度等;对于低成本系统,则着重考虑降低成本。下面举例说明I/O设计的过程。如,按下列条件设计一个I/O系统:6.

总结一个500MIPSCPU价格为$30000。一个16位宽存储器,读出周期100ns。一条20MB/S的I/O总线,可以为20条SCSI-2总线和控制器所用。SCSI-2总线可以具有20MB/s的传输率,最多支持15个磁盘。每个SCSI-2控制器价值1500美圆,会使磁盘I/O增加1ms时延。操作系统进行一次磁盘I/O需要10000条CPU指令。可选用8GB的大硬盘或2GB的小硬盘,每MB价格$.25。6.

总结8.磁盘转速7200RB,平均寻道时间为8ms,传输速率为6MB/s。9.要求总外存为200GB。10.I/O传送平均大小为16KB。评估在用大磁盘(2GB)和大磁盘(8GB)时的IOPS,设每次磁盘I/O开销包括平均寻道时间和平均旋转时延,设所有的设备可用到100%的容量,且各磁盘机上负载平衡。答:I/O性能由其性能最差的一部分决定,所有我们应逐个检查I/O性能的各个方面,再得出最终结果。6.

总结让我们从计算CPU,主存,I/O总线的IOPS开始

CPU可达到的最大IPOS=CPU速度(以MIPS计)/每次I/O操作所需指令数=500MIPS/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论