计算机组成原理输入输出系统要点课件.ppt
40页单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,*,第七章 输入 输出系统,,7.1 输入输出系统概述,,,7.3 程序中断方式,7.4 DMA方式,,7.2 程序查询方式,,,第七章 输入 输出系统 7.1 输入输出系统概述,1,输入输出(I/O)系统是计算机系统中控制与实现主机与外界交换数据的软、硬件系统.,它包括输入输出设备、输入输出接口(接口控制器)及相关控制软件,其中I/O接口是用来连接主机与I/O设备的,三者的关系如下,:,图7.1 接口与主机、外设间连接示意图,7.1 I/O系统概述,7.1.1 I/O系统组成,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,,,输入输出(I/O)系统是计算机系统中控制与实现主机与外界交换,2,,,I/O接口与端口的定义,①,接口(Interface):主机和外设之间实现信息交换的控制电路.,②,端口(Port):接口电路中可以被CPU直接访问的寄存器;若干个端口加上相应的控制逻辑电路才组成接口.,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,图7.1 接口与主机、外设间连接示意图,,状态线,,,I/O接口与端口的定义 CPU数据线地址线命令线I/O接,3,,图7.1 接口与主机、外设间连接示意图,③,端口主要分为三类:,状态端口:存放状态信息的寄存器,CPU对其内容只能读,如80X86中用输入指令(IN AL,状态口地址)将外设状态标志送到CPU;,控制端口:存放控制命令的寄存器,CPU只能对其写,如80X86中用输出指令(OUT 状态口地址,AL)将CPU的各种控制命令发送外设;,数据端口:存放数据信息的寄存器.,,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,,,图7.1 接口与主机、外设间连接示意图③端口主要分为三类:,4,,图7.1 接口与主机、外设间连接示意图,,数据线:I/O设备与主机之间数据的传输线;,地址线:用来传送设备号,多台I/O设备各自有其设备号(地址);,,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,,,图7.1 接口与主机、外设间连接示意图 数据线:I/O设备,5,,图7.1 接口与主机、外设间连接示意图,,命令线: 传输CPU向设备发出的各种命令信号(如启动、清除、读、写等);,,状态线:将I/O设备的状态向主机报告的信号线(如设备是否准备就绪,是否向CPU发出中断请求等) .,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,,,图7.1 接口与主机、外设间连接示意图 命令线: 传输CP,6,,图7.1 接口与主机、外设间连接示意图,,7.1.2 I/O接口的基本功能,I/O接口处于系统总线与外设之间,主要功能包括:,1、数据的格式转换,接口电路中必须具有实现各类数据相互转换的功能.例如,并-串转换、串-并转换、模-数转换 、数-模转换及二进制数和ASCII码的相互转换等.,,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,,,图7.1 接口与主机、外设间连接示意图 7.1.2 I,7,2.,寻址,,CPU欲访问的设备号通过地址线送至所有设备的接口,每个接口均具有选址功能,只有当地址线上的设备号与本接口的设备号一致时,相应的设备才能通过命令线、状态线和 数据线与主机交换信息.,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,图7.1 接口与主机、外设间连接示意图,,,2.寻址 CPU数据线地址线命令线I/O接口数据端口状态端,8,3.,传送主机指令,只有被选中设备接口中的“控制端口”才能接受和识别主机传送来的命令,并将命令传送到设备.,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,图7.1 接口与主机、外设间连接示意图,,,3.传送主机指令 CPU数据线地址线命令线I/O接口数据端,9,4.传送,数据及缓冲,,(1) 接口中必须有数据通路,完成数据传送;,(2) 接口应具有对数据信息传送速度的缓冲作用,即能将数据暂存在“数据端口”中,以实现速度上的匹配.,,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,图7.1 接口与主机、外设间连接示意图,,,4.传送数据及缓冲 CPU数据线地址线命令线I/O接口数据,10,5. 反映设备工作状态,接口设置一些反映设备工作状态的触发器,以便能随时采集并保存设备的工作状态(如“忙”、“就绪”、”、“错误”、“中断请求”等),以备主机查询.,,,,,,,CPU,,,,,数据线,,地址线,,命令线,,I/O接口,数据端口,状态端口,控制端口,数据线,状态信息,命令,I/O,设备,,设备识别,,控制逻辑电路,,状态线,图7.1 接口与主机、外设间连接示意图,,,5. 反映设备工作状态 CPU数据线地址线命令线I/O接口,11,,7.1.3 I/O端口的编址方式,1、存储器统一编址方式(存储器映射方式Memory-mapping Address Coding,),将,I/O端口看成是存储空间的一个组成部分,按照存储单元的编址方法统一编排地址号,每个I/O端口占用一个地址。
划给外设的这部分区域不能配置存储器芯片优点:访存指令都能访问I/O端口,故不设置专门的输入输出指令;由于访问存储单元的指令有较多的寻址方式,所以I/O程序编制灵活缺点:需占用小部分存储器空间;机器语言或汇编源程序中的I/O部分难以阅读及修改存储器统一编址方式示意图见下图:,,,7.1.3 I/O端口的编址方式存储器统一编址方式示意图,12,,I/O端口,存储器,图7.2 存储器映射的I/O设备编址方式,2、I/O端口单独编址方式(Isolated I/O Address Coding),存储单元与I/O接口寄存器的地址分别编址,各自有自己的译码部件,设计专门的I/O指令去访问端口优点:不占用存储空间;I/O指令与存储器指令有明显区别,程序结构清晰,便于理解缺点:,需专门的I/O指令,,其寻址方式较简单,指令功能较弱,编程灵活性稍差;,CPU需要提供存储器读/写、I/O设备读/写两套控制信号,,增加了控制的复杂性I/O端口存储器图7.2 存储器映射的I/O设备编址方式2,13,例:I/O的编址方式采用统一编址时,存储单元和I/O设备是靠( )加以区分.,A. 不同的地址线 B.不同的地址码,C. 不同的控制线,例: I/O采用统一编址时,进行输入输出操作的指令是( ).,A. 控制指令 B.访存指令 C. 输入输出指令,例: I/O采用不统一编址时, 进行输入输出操作的指令是( ).,A. 控制指令 B.访存指令 C. 输入输出指令,,,,例:I/O的编址方式采用统一编址时,存储单元和I/O设备是靠,14,,7.1.4 CPU与外设之间数据传送控制方式,,I/O系统主要是解决主机与外设间的数据交换问题,使外设与主机能协调一致地工作.为减少处理机对外设的控制干预,在计算机发展过程中人们先后采用了以下方法:,1、由程序控制的数据传送,程序查询方式,程序中断方式,2、,由专有硬件控制的数据传送,,DMA方式,通道方式,外围处理机方式,,,,,,,,7.1.4 CPU与外设之间数据传送控制方式,15,第七章 输入 输出系统,,7.1 输入输出系统概述,,,7.3 程序中断方式,7.4 DMA方式,,,7.2 程序查询方式,,,第七章 输入 输出系统 7.1 输入输出系统概述,16,7.2.1程序查询方式(,程序直接控制方式(Program Direct Control,PDC),),流程,,由CPU执行一段输入输出程序来控制实现主机与外设之间的数据传送.一旦某外设被选中并启动之后,主机将查询这个外设的某些状态位,看其是否准备就绪?若外设未准备就绪,主机将再次查询;若准备就绪,则执行一次I/O操作.,单个设备的 查询流程见下图.,,,,,7.2.1程序查询方式(程序直接控制方式(Program D,17,,主程序,需要I/O时,检查状态标记,就绪否,交换数据,否,是,继续运行,图7.3 单个I/O设备的查询流程,为正确完成这种查询,通常执行如下3条指令:,(1)测试指令:用来查询I/O设备是否准备就绪;,(2)传送指令:当I/O设备已经准备就绪时,执行传送指令;,(3)转移指令:当I/O设备未准备就绪时,执行转移指令,继续测试I/O设备的状态.,,,,,主程序需要I/O时检查状态标记就绪否交换数据否是继续运行图,18,(4) 数据输入输出要经过CPU控制,CPU与设备、设备与设备均不能实现并行工作;,(5) 用于连接低速外设.,主程序,需要I/O时,检查状态标记,就绪否,交换数据,否,是,继续运行,体会“程序,直接,控制”和,“程序,查询,方式”的名称,由来。
特点:,(1)简单;,(2) I/O时间预知性;,(3),不能发现和处理预先无法,估计的错误和异常情况;,图7.3 单个I/O设备的查询流程,,,(4) 数据输入输出要经过CPU控制,CPU与设备、设备与,19,7.2.2 程序查询方式的接口电路,,,数据端口,,设备选择电路,,地址线,①,,&,°,,,°,°,,●,D,Q,Q,B,°,,,°,②,⑤,③,④,⑥,⑦,⑧,启动命令,准备就绪,数据线,输入数据,启动设备,设备工作结束,图7.4 程序查询方式接口电路(输入)的基本组成,,,7.2.2 程序查询方式的接口电路数据端口设备选择电路地址线,20,,当地址线上的设备号与本设备号相符时,SEL有效,可以接收命令;数据端口用于存放 欲传送的数据;D是完成触发器,B是 工作触发器.,以输入设备 为例,接口工作如下:,,①,CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线 送至 设备 选择电路;,,②,若该接口地址码与地址线上的地址码吻合,,其输出SEL有效;,,③,I/O指令的启动命令经过“与非”门将B置“1”,将D置“0”;,,④,由B触发器启动设备 工作;,,,,当地址线上的设备号与本设备号相符时,SEL有效,可以接收命,21,⑤,输入设备将数据送至 数据端口;,⑥,由设备发设备工作结束信号,置D为“1”;B为“0”,表示外设准备就绪;,,⑦,D触发器以“准备就绪”状态通知CPU,表示“数据缓冲满”;,,⑧,CPU执行输入指令,将数据端口中的数据送至CPU的通用寄存器,再存入主存单元.,,,⑤ 输入设备将数据送至 数据端口;,22,例:在程序查询的I/O系统中,有三个不同的外设.假定一个查询操作需要50个时钟周期,CPU的时钟频率为10MHz.求CPU在以下三种情况下为I/O查询所花费的时间比率(百分比),假定必须进行足够的查询以免丢失数据并假定不考虑各设备的相互等待即分别计算.,(1)对,终端,每秒进行30次查询.,解:,每秒花在终端查询上的时钟周期数为,30 ×50=1500;,根据CPU的时钟频率为10MHz,即每秒10,×10,6,个时钟周期,,占用CPU时间比率为,1500/10M=0.015%,,,例:在程序查询的I/O系统中,有三个不同的外设.假定一个查询,23,结论——,终端查询基本不影响CPU性能.,(2)CPU向,打印机,的数据传输按字节进行,即每1个字节被CPU查询一次,数据传输率为10KB/s.,解:,每秒查询次数为10KB/1B=10K次;,查询所需时钟数为,10K,×,50=500K,,,结论——,24,占用CPU的时间比率为,500K/10M=500,×,1024/10,7,=5.12%,结论——,打印机的,查询开销,大于终端,尚可承受.,(3),硬盘,传输数据以字节为单位,即每1个字节被CPU查询一次传输率为200KB/s.,解:,每秒查询次数为200K;,查询所用时钟周期数为,200K,×,50=10000K次,,,,占用CPU的时间比率为,25,占用CPU的时间比率为,10000,×,1024/10,7,=102.4%,结论——,即使CPU将全部时间用于对硬盘查询也不能满足硬盘传输的要求,即程序查询方式只适合与低速外设.,,,占用CPU的时间比率为,26,第七章 输入 输出系统,,7.1 输入输出系统概述,,,,7.3 程序中断方式,7.4 DMA方式,,7.2 程序查询方式,,,第七章 输入 输出系统 7.1 输入输出系统概述,27,,7.3,,程序中断方式,,中断:,在接到随机请求后,CPU暂停执行原来的程序,转去执行更加紧迫事件的中断服务程序,待处理完毕后CPU恢复原程序的继续执行,这个过程称为中断.,中断系统:,在计算机内部自动处理中断的系统称为中断系统,含软件和硬件两个方面.,中断技术:实现此功能所需的软硬件技术.,,,,,,7.3,28,,7.3.1 中断的基本概念,一、程序中断方式的基本思路,依赖中断系统——,计算机系统中引入中断功能后,各部件并行工作成为可能,其中包括CPU与外设并行及外设与外设并行.,CPU变,主动查询,为,被动响应——,,在外设准备的时间里,CPU执行现行程序;,直到外设准备好,发出中断请求;,CPU响应后,中断现行程序,转而执行与外设交换数据的中断服务程序;,之后再回到原来程序运行.,中断方式原理示意如图7.4所示:,,,7.3.1 中断的基本概念一、程序中断方式的基本思路,29,主程序,(需要I/O时),启动外设,中断服务程序,,在其中完成I/O,,CPU与外设并行,图7.5 程序中断方式示意图,理解中断时应注意以下几个问题,:(1)中断过程实质上是一种程序切换过程,必须处理好保存旧现场、建立新现场的问题;(2)中断具有随机性,故必须及时检测中断请求信号,以便能够及时处理中断;(3)中断不具备重复性;(4) 程序中断与调用子程序的异同.,,,,主程序(需要I/O时)中断服务程序在其中完成I/OCPU与外,30,例:设某外设向CPU传送信息的最高频率为40K次/秒,而相应中断处理程序的执行时间为40µS.问该外设可否采用中断方式工作?为什么?,解:,该外设传送一个数据的时间为1/40=25µS,即请求中断的周期为25µS,25µS<40µS,会丢失数据,所以该设备不能采用中断方式工作.,结论:程序中断方式一般用于连接低速设备.,,,,,例:设某外设向CPU传送信息的最高频率为40K次/秒,而相应,31,,7.3.1 中断的基本概念,二、中断系统的作用,1、使CPU与I/O设备并行工作,下图为由打印机引起的I/O中断时,CPU与打印机并行工作的时间示意图.,CPU,执行主程序,启动,打印机,继续执行,主程序,响应中断,传输,数据,响应返回,继续执行,主程序,响应中断,传输,数据,响应返回,打印机,空闲,准备,发中断请求,发中断请求,接收,数据,打印,接收,数据,打印,图7.6CPU与打印机并行工作的时间示意图,,,7.3.1 中断的基本概念二、中断系统的作用CPU执行主程序,32,,二、中断系统的作用,2、使计算机系统拥有应急能力,,如计算机运行中出现突然掉电,需利用中断技术立即启动另一备份电源,并迅速进行一些必要处理,.,3、便于进行人—机联系,,如人们在机器运行过程中想随机抽查计算的中间结果.,4、使多道程序处理成为可能,,如计算机实现多道程序运行时,可通过分配给每道程序一个固定时间片,利用时钟定时发中断进行程序切换.,5、实现实时控制,,要求CPU即时响应外来信号的请求,并能完成相应操作.,,,二、中断系统的作用,33,三、基本概念,1、中断源:凡能向CPU提出中断请求的各种因素.,,如人为设置的中断(自愿中断),程序性事故(定点溢出、非法除法等),硬件故障(电源掉电、磁表面损坏等)、I/O设备、外部事件(用户通过键盘中断现行程序),2、内中断与外中断,内中断:CPU内部硬件或软件原因引起的中断,分为强迫中断和自愿中断.,自愿中断(程序自中断):计算机系统为方便用户调试软件, 在程序中安排了相关指令,这些指令可以使机器进入中断处理的过程,如:80X86指令系统中的软中断指令INT n.,非随机的,.,强迫中断:,随机,产生的待处理紧急事件所引起的中断.分为硬件故障和软件中断(如溢出等).,,,,,,三、基本概念,34,三、基本概念,2、内中断与外中断,外中断:CPU以外的,部件引起的中断,均为强迫中断. 分为不可屏蔽中断和可屏蔽中断.,不可屏蔽中断:用于应急处理,如掉电、主存读写校验错等,优先级别高.,可屏蔽中断:用于一般I/O设备的数据传送,优先级别较低.,,,,,,三、基本概念,35,例:下列选项中,能引起外部中断的事件是( ).,A.键盘输入,B.除数为0,C.浮点数运算下溢,D.访存缺页,,,例:下列选项中,能引起外部中断的事件是( ).,36,,3、向量中断与非向量中断,中断向量(Interrupt Vector),中断过程是由一个程序切换到另一个程序的过程,切换的实质是旧PC(内容)与PSW的保护及新PC与PSW的装入.,某中断服务程序的(新的)PC和PSW共称为该中断的中断向量,,或理解为:,中断服务程序入口地址即为中断向量,.,,PSW,PC,SP,内存中的,堆栈区,,CPU,,PSW,PC,,存放各中断,向量的内存区,新PC,新PSW,图7.7 切换的示意图,①,②,,,3、向量中断与非向量中断PSWPCSP内存中的CPUPSWP,37,中断向量地址(向量地址VA),将各个中断源的中断向量组织成一个表 称为,向量表,,向量表通常在内存中开辟的一块存储区域,如下图所示.,,图7.8 中断向量表,存放中断向量,的单元地址,称,为,中断向量地址,,,简称向量地址VA.,,入口地址200,PSW1,入口地址300,PSW2,┇,入口地址n,PSWn,┇,中断服务程序1,中断服务程序2,┇,A1,,A2,.,.,.,An,.,.,.,200,,300,.,.,.,,中断向量表,,,,向量地址,,,中断向量地址(向量地址VA) 图7.8 中断向,38,,向量中断:,CPU响应中断后,由中断机构自动将向量地址送CPU,由其指明向量位置并实现切换.,非向量中断:非向量中断的中断源不能直接提供中断服务程序的入口地址,而由CPU通过软件方式查询后得到.,4、单级中断和多级中断,单级中断:CPU执行中断服务的过程中不能被再打断.,多级中断(中断嵌套):在执行某个中断服务程序的过程中,CPU可去响应级别更高的中断请求.,,,,,,向量中断:CPU响应中断后,由中断机构自动将向量地址送CP,39,,7.3.1 中断的基本概念,四、中断系统应具备的功能,,1、各个中断源如何向CPU提出中断请求;,2、CPU在什么条件、什么时候、以什么方式来响应中断;,3、中断判优;,4、CPU响应中断后如何保护现场;,5、 CPU响应中断后,如何停止原来的程序而转入中断服务程序的入口地址;,6、中断处理结束后,CPU如何恢复现场,如何返回到原程序的间断处;,7、在中断处理过程中,又出现了新的中断请求,CPU如何处理.,,,,,,7.3.1 中断的基本概念四、中断系统应具备的功能,40,。





