《计算机组成原理_8.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理_8.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章 输入输出系统8.1 外围设备的定时方式与信息交换方式8.2 程序中断方式8.3 DMA方式8.4 通道方式 8.5 通用I/O标准接口8.1 外围设备的定时方式与信息交换方式 8.1.1 外围设备的定时方式外围设备的定时方式 外围设备的种类相当繁多,有机械式和电动式,也有电子式和其他形式。从信息传输速率来讲,相差也很悬殊。如果把高速工作的主机同不同速度工作的外围设备相连接,如何保证主机与外围设备在时间上同步?这就是我们要讨论的外围设备的定时问题。问题的关键在于:问题的关键在于:究竟什么时候数据才成为有效?很显然,由于输入/输出设备本身的速度差异很大,因此,对于不同速度的外围设备,需要有
2、不同的定时方式,总的说来,CPU与外围设备之间的定时,有以下三种情况。1.速度极慢或简单的外围设备速度极慢或简单的外围设备 这类设备CPU只要接收或发送数据即可。2.慢速或中速的外围设备慢速或中速的外围设备 CPU与这类设备之间的数据交换通常采用异步异步定时方式定时方式,即为应答式应答式的数据交换。3.高速的外围设备高速的外围设备 通常采用同步定时方式同步定时方式,或采用直接内存访问(DMA)方式8.1.2信息交换方式信息交换方式 在计算机系统中,CPU管理外围设备有以下几种方式:1.程序查询方式程序查询方式 2.程序中断方式程序中断方式 3.直接内存访问直接内存访问(DMA)方式方式 4.通
3、道方式通道方式 5.外围处理机外围处理机(PPU)方式方式 1.程序查询方式程序查询方式 程序查询方式是早期计算机中使用的一种方式。数据在CPU和外围设备之间的传送完全靠计算机程序控制,查询方式的优点是CPU的操作和外围设备的操作能够同步,而且硬件结构比较简单。但问题是,外围设备动作很慢,程序进入查询循环时将白白浪费掉CPU很多时间,CPU此时只能等待,不能处理其他业务。即使CPU采用定期地由主程序转向查询设备状态的子程序进行扫描轮询的办法,CPU宝贵资源的浪费也是可观的。因此当前除单片机外,很少使用程序查询方式。2.程序中断方式程序中断方式 中断中断是外围设备用来“主动”通知CPU准备送出输
4、入数据或接收输出数据的一种方法。通常当一个中断发生时,CPU暂停它的现行程序而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到它原来的任务,并从它停止的地方开始执行程序。可以看出,它节省了CPU宝贵的时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即进行。同程序查询方式相比,硬件结构相对复杂一些,服务开销时间较大。3.直接内存访问直接内存访问(DMA)方式方式用中断方式交换数据时,每处理一次I/O数据交换。对于一些高速的外围设备以及成组交换数据时,仍然速度太慢。DMA方式是一种完全由硬件执行I/O交换的工作方式。
5、此时DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU而直接在内存和外围设备之间进行,以高速传送数据。其主要优点是数据传送速度很高,传送速率仅受到内存访问时间的限制。与中断方式相比,需要更多的硬件。DMA方式适用于内存和高速外围设备之间大批数据交换的场合。4.通道方式通道方式 DMA方式的出现已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高,而通道的出现则进一步提高了CPU的效率。这是因为,CPU将部分权力下放给通道。通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器输入输出处理器(IOP),它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送,大
6、大提高了CPU的工作效率。然而这种提高CPU效率的办法是以花费更多硬件为代价的。5.外围处理机方式外围处理机方式 外围处理机(PPU)方式是通道方式的进一步发展。由于PPU基本上独立于主机工作,它的结构更接近一般处理机,甚至就是微小型计算机。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务。从某种意义上说,这种系统已变成分布式的多机系统。程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。目前单片机和微型机中多采用程序查询方式、程序中断方式和DMA方式。通道方式和PPU方式大都用在中、大型计算机中。
7、8.2 程序中断方式8.2.1 中断的基本概念中断的基本概念 图8.2 中断处理示意图问题说明:问题说明:(1)尽管外界中断请求是随机的,但CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才不致于使当前指令的执行受到干扰。公操作是指一条指令执行结束后CPU所进行的操作,如中断处理、直接内存传送、取下条指令等。外界中断请求信号通常存放在接口中的中断源锁存器里,并通过中断请求线连至CPU,每当一条指令执行到末尾,CPU便检查中断请求信号。若中断请求信号为“1”,则CPU转入“中断周期”,受理外界中断。(2)为了在中断服务程序执行完毕以后正确地返回到原来主程序被中断的断点
8、(PC内容)而继续执行主程序,必须把程序计数器PC的内容,以及当前指令执行结束后CPU的状态(包括寄存器的内容和一些状态标志位)都保存到堆栈中去。这些操作叫做保存现场保存现场。(3)当CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个中断屏蔽中断屏蔽触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。(4)中断处理过程是由硬件和软件结合来完成的。如上图所示,中断周期中断周期由硬件实现,而中断服务程序由机器指令序列实现。后者除执行保存现场、恢复现场、开放中断并返回主程序任务外,还对要求中断
9、的设备进行服务,使其同CPU交换一个字的数据,或作其他服务。8.2.2 程序中断方式的基本接口程序中断方式的基本接口 程序中断方式的基本接口如下图所示。程序中断由外设接口的状态和CPU两方面来控制:在接口方面,有决定是否向CPU发出中断请求的机构,主要是接口中的“准备就绪”标志(RD)和“允许中断”标志(EI)两个触发器;在CPU方面,有决定是否受理中断请求的机构,主要是“中断请求”标志(IR)和“中断屏蔽”标志(IM)两个触发器。上述四个标志触发器的具体功能如下:准备就绪的标志准备就绪的标志(RD):一旦设备做好一次数据的接收或发送,便发出一个设备动作完毕信号,使RD标志置“1”。在中断方式
10、中,该标志用作为中断源触发器,简称中断触发器。允许中断触发器允许中断触发器(EI):可以用程序指令来置位。EI为“1”时,某设备可以向CPU发出中断请求;EI为“0”时,不能向CPU发出中断请求,这意味着某中断源的中断请求被禁止。设置EI标志的目的,就是通过软件来控制是否允许某设备发出中断请求。中断请求触发器中断请求触发器(IR):它暂存中断请求线上由设备发出的中断请求信号。当IR标志为“1”时,表示设备发出了中断请求。中断屏蔽触发器中断屏蔽触发器(IM):是CPU是否受理中断或批准中断的标志。IM标志为“0”时,CPU可以受理外界的中断请求,反之,IM标志为“1”时,CPU不受理外界的中断。
11、8.2.3 单级中断单级中断 1.单级中断的概念单级中断的概念根据计算机系统对中断处理的策略不同,可分为单级中断系统和多级中断系统。单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务程序,即使优先权比它高的中断源也不能再打断。单级中断示意图和系统结构图如下:图8.5 单级中断3.中断向量的产生中断向量的产生由于存储器的地址码是一串布尔量的序列,因此常把地址码称为向量地址向量地址。当CPU响应中断时,由硬件直接产生
12、一个固定的地址(即向量地址),由向量地址指出每个中断源设备的中断服务程序入口,这种方法通常称为向量中断向量中断。显然,每个中断源分别有一个中断服务程序,而每个中断服务程序又有自己的向量地址。当CPU识别出某中断源时,由硬件直接产生一个与该中断源对应的向量地址,很快便引入中断服务程序。向量中断要求在硬件设计时考虑所有中断源的向量地址,而实际中断时只能产生一个向量地址。8.2.4 多级中断多级中断 1.多级中断的概念多级中断的概念多级中断系统多级中断系统是指计算机系统中有相当多的中断源,根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。优先权高的中断级可以打断优先权低的中
13、断服务程序,从而可以进行程序嵌套方式工作。根据系统的配置不同,多级中断可分为一维多级中断和二维多级中断,一维多级中断一维多级中断是指每一级中断里只有一个中断源,而二维多级中断二维多级中断是指每一级中断里又有多个中断源。8.2.5 中断控制器中断控制器 8259中断控制器中断控制器是一个中断控制接口芯片,它将中断接口与优先级判断等功能汇集于一身,常用于微型机系统。其内部结构如下图:图8.9 8259中断控制器8.3 DMA方式8.3.1 DMA的基本概念的基本概念 直接内存访问直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,
14、数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA方式一般用于高速传送成组数据。DMA控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。DMA方式的主要优点是速度快。方式的主要优点是速度快。所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。DMA至少能执行以下一些基本操作:至少能执行以下一些基本操作:(1)从外围设备发出DMA请求;(2)CPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制;(3)由DMA控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执行
15、数据传送的操作;(4)向CPU报告DMA操作的结束。注意:注意:当外设发出DMA请求时,CPU在本机器周期执行结束后响应该请求。8.3.2DMA传送方式传送方式DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序。DMA控制器与CPU分时使用内存通常采用以下三种方法:1.停止停止CPU访问内存访问内存 2.周期挪用周期挪用 3.DMA与与CPU交替访内存交替访内存 8.3.3 基本的基本的DMA控制器控制器1.DMA控制器的基本组成控制器的基本组成一个DMA控制器,实际上是采用DMA方式的外围设备与系统总线之间的接口电路。这个接口电路是在中断接口的基
16、础上再加DMA机构组成。其逻辑示意图见文字教材图8.12。最简单的最简单的DMA控制器由以下逻辑部件组成:控制器由以下逻辑部件组成:(1)内存地址计数器内存地址计数器 (2)字计数器字计数器 (3)数据缓冲寄存器数据缓冲寄存器 (4)“DMA请求请求”标志标志 (5)“控制控制/状态状态”逻辑逻辑 (6)中断机构中断机构 图8.12 简单DMA控制器组成2.DMA数据传送过程数据传送过程 DMA的数据块传送过程可分为三个阶段:传送前预处理;传送前预处理;正式传送;正式传送;传送后处理传送后处理。DMA传送数据的流程图传送数据的流程图 8.4 通道方式 8.4.1 通道的功能通道的功能 1.通道
17、的功能通道的功能通道的出现进一步提高了CPU的效率。因为通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部运算与I/O设 备的平行工作。典型的具有通道的计算机系统结构图如下所示。该结构具有两种类型的总线,一种是存储总存储总线线承担通道与内存、CPU与内存之间的数据传输任务。另一种是通道总线通道总线,即I/O总线承担外围设备与通道之间的数 据传送任务。这两类总线可以分别按照各自的时序同时进行工作。由上图看出,通道总线可以接若干个设备控制器,一个设备控制器可
18、以接一个或多个设备。因此从逻辑结构上讲,I/O系统一般具有四级连接:CPU与内存与内存通道通道设备控制器设备控制器外围设备外围设备。为了便于通道对各设备的统一管理,对同一系列的机器,通道与设备控制器之间都有统一的标准接口,设备控制器与设备之间则根据设备要求不同而采用专用接口。8.4.2 通道的类型通道的类型1.选择通道选择通道选择通道选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作。选择通道很像一个单道程序的处理器,在一段时间内只允许执行一个设备的通道程序,只有当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。
19、2.数组多路通道数组多路通道 基本思想:基本思想:当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。所以数组多路通道很像一个多道程序的处理器。3.字节多路通道字节多路通道字节多路通道主要用于连接大量的低速设备,如键盘、打印机等等。例如数据传输率是1000B/s,即传送1个字节的间隔是1ms,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。字节多路通道和数组多路通道的共同之处字节多路通道和
20、数组多路通道的共同之处:都是多路通道,在一段时间内能交替执行多个设备的通道程序,使这些设备同时工作。字节多路通道和数组多路通道的不同之处字节多路通道和数组多路通道的不同之处:(1)数组多路通道允许多个设备同时工作,但只允许一个设备进行传输型操作,其他设备进行控制型操作。而字节多路通道不仅允许多个设备同时操作,而且也允许它们同时进行传输型操作。(2)数组多路通道与设备之间数据传送的基本单位是数据块数据块,通道必须为一个设备传送完一个数据块后才能为别的设备传送数据块。而字节多路通道与设备之间数据传送的基本单位是字节字节,通道为一个设备传送一个字节后又可以为另一个设备传送一个字节,因此各设备与通道之
21、间的数据传送是以字节为单位交替进行。8.4.3 通道结构的发展通道结构的发展通道结构的进一步发展,出现了两种计算机I/O系统结构:1.输入输出处理器输入输出处理器(IOP)是通道结构的I/O处理器。IOP可以和CPU并行工作,提供高速的DMA处理能力实现数据的高速传送。但是它不是独立于CPU工作的,而是主机的一个部件。有些IOP例如Intel 8089 IOP,还提供数据的变换、搜索以及字装配/拆卸能力。这类IOP广泛应用于中小型及微型计算机中。2.外围处理机外围处理机(PPU)PPU基本上是独立于主机工作的,它有自己的指令系统,完成算术/逻辑运算,读/写主存储器,与外设交换信息等。有的外围处
22、理机干脆就选用已有的通用机。外围处理机I/O方式一般应用于大型高效率的计算机系统中。8.5 通用I/O标准接口8.5.1 并行并行I/O标准接口标准接口SCSISCSI是小型计算机系统接口的简称,其设计思想来源于IBM大型机系统的I/O通道结构,目的是使CPU摆脱对各种设备的繁杂控制。它是一个高速智能接口,可以混接各种磁盘、光盘、磁 带机、打印机、扫描仪、条码阅读器以及通信设备。它首先应用于Macintosh和Sun平台上,后来发展到工作站、网络服务器和pentium系统中,并成为ANSI(美国国家标准局)标准。SCSI有如下性能特点:有如下性能特点:(1)SCSI接口总线由8条数据线、一条奇
23、偶校验线、9条控制线组成。使用50芯电缆,规定了两种电气条件:单端驱动,电缆长6m;差分驱动,电缆最长25m。(2)总线时钟频率为5MHz,异步方式数据传输率是2.5MB/s,同步方式数据传输率是5MB/s。1.(3)SCSI接口总线以菊花链形式最多可连接8台设备。2.(4)每个SCSI设备有自己的唯一设备号ID07。ID=7的设备具有最高优先权,ID=0的设备优先权最低。SCSI采用分布式总线仲裁策略。8.5.2串型串型I/O标准接口标准接口IEEE13941.1394性能特点性能特点 IEEE1394串行接口与SCSI等并行接口相比,有如下三个显著特点:(1)数据传送的高速性 1394的数
24、据传输率分为100Mb/s、200Mb/s、400Mb/s三档。而SCSI-2也只有40MB/s(相当于320Mb/s)。这样的高速特性特别适合于新型高速硬盘及多媒体数据传送。1394之所以达到高速,一是串行传送比并行传送容易提高数据传送时钟速率;二是采用了DS-Link编码技术,把时钟信号的变化转变为选通信号的变化,即使在高的时钟速率下也不易引起信号失真。(2)数据传送的实时性 实时性可保证图像和声音不会出现时断时续的现象,因此对多媒体数据传送特别重要。(3)体积小易安装,连接方便 1394使用6芯电缆,直径约为6mm,插座也小。而SCSI使用50芯或68芯电缆,插座体积也大。1394的电缆
25、不需要与电缆阻抗匹配的终端,而且电缆上的设备随时可从插座重拔出或插入,即具有热插入能力。本章小结本章小结 各种外围设备的数据传输速率相差很大。如何保证主机与外围设备在时间上同步,则涉及外围设备的定时问题。在计算机系统中,CPU对外围设备的管理有以下五种方式:(1)程序查询方式;(2)程序中断方式;(3)直接存储器访问(DMA)方式;(4)通道方式;(5)外围处理机(PPU)方式。其中第一种对CPU的资源浪费最大,而第五种使CPU的效率得到最大发挥,但是需要更多的硬件支持。程序中断方式是各类计算机中广泛使用的一种数据交换方式。当某一外设的数据准备就绪后,它“主动”向CPU发出请求信号。CPU响应
26、中断请求后,暂停运行主程序,自动转移到该设备的中断服务子程序,为该设备进行服务,结束时返回主程序。中断处理过程可以嵌套进行,优先级高的设备可以中断优先级低的中断服务程序。为此,需要有相应的中断优先级仲裁、中断向量产生和中断控制逻辑等硬件支持。DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续程序。DMA方式采用以下三种方法:(1)停止CPU访内;(2)周期挪用;(3)DMA与CPU交替访内。DMA控制器按其组成结构,分为选择型和多路型两类。选择型控制器在物理上可以 连接多个设备,而在逻辑上只允许接一个设备,适合于连接高速设备。多路型控制器不仅在物理上而且在
27、逻辑上可以连接多个设备,适合于连接慢速设备。通道是一个特殊功能的处理器。它有自己的指令和程序专门负责数据输入输出的传输控制,从而使CPU将“传输控制”的功能下放给通道,实现了CPU内部的数据处理与I/O设备的平行工作。通道有三种类型:(1)选择通道,物理上可以连接多个设备,但在某一时间段内只选择一个设备工作,适用于信息以成组方式高速传输。(2)数组多路 通道,保留了选择通道高速传送数据的优点,又充分利用了控制性操作的时间间隔为其他设备服务。(3)字节多路通道,与数组多路通道相同处在于它们都 是多路通道,在一段时间内交替执行多个设备的通道程序,使这些设备同时工作。不同处在于数组多路通道只允许一个
28、设备进行传输型操作,数据传送单位是数据块;字节多路通道可 允许每个设备进行传输性操作,数据传送单位是字节。标准化是建立开放式系统的基础。CPU、系统总线、I/O总线及标准接口技术近年来取得了重大进步。其中并行I/O接口SCSI与串行I/O接口IEEE1394是两个最具权威性和发展前景的标准接口技术。SCSI是系统级接口,是处于主适配器和智能设备控制器之间的并行I/O接口,可允许连接715台不同类型的高速外围设备。SCSI的不足处在于硬件较昂贵,并需要通用设备驱动程序和各类设备的驱动程序模块的支持。IEEE 1394是串行I/O标准接口。与SCSI并行I/O接口相比,它具有更高的数据传输速率和数据传送的实时性,具有更小的体积和连接的方便性。作业:第八章:作业:1、12、16 练习:2、4、8、10 13、14、15、