《计算机组成原理》 第四版 科学出版社版 第8章 课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第8章输入输出系统1第8章输入输出系统§1速度分级和信息交换方式§2程序查询方式§3程序中断方式§4DMA方式第8章输入输出系统2§5通道方式§6通用I/O标准接口第8章输入输出系统3§1速度分级和信息交换方式8.1.1外围设备的速度分级8.1.2信息交换方式第8章输入输出系统48.1.1外围设备的速度分级外设种类繁多,存在以下几种情况:•不同种类的外设数据传输速率差别很大;•同一种设备在不同时刻传输速率也可能不同。高速的CPU与速度参差不齐的外设怎样在时间上同步呢?解决办法是在CPU和外设之间数据传送时加以定时。对于不同速度的外围设备,需要有不同的定时方式。第8章输入输出系统51.速度极慢或简单的外围设备对这类设备,如机械开关或显示二极管等,CPU总是能足够快地作出响应。机械开关输入数码管显示器输出第8章输入输出系统6速度极慢或简单的外围设备(续)SWITCH换句话说,对机械开关来讲,CPU可以认为输入的数据一直有效,因为机械开关的动作相对CPU的速度来讲是非常慢的。输入时READY第8章输入输出系统7速度极慢或简单的外围设备(续)LED对显示二极管来讲,CPU可以认为输出端口一定是空的。因为只要给出数据,显示二极管就能进行显示,所以,在这种情况下,CPU只要发送数据就可以了。输出时Empty第8章输入输出系统8三态缓冲器74244&DBABIO/M非RDVcc指拨开关三态缓冲器74244&DBABIO/M非WR去输出设备数据端口数据端口第8章输入输出系统92.慢速或中速的外围设备这类设备的速度和CPU的速度并不在一个数量级。键盘鼠标打印机第8章输入输出系统10慢速或中速的外围设备(续)因此,CPU与这类设备之间的数据交换通常采用异步定时方式。由于这类设备的速度和CPU的速度并不在一个数量级。或者由于设备(如键盘)本身是在不规则时间间隔下操作的。其定时过程如下:第8章输入输出系统11如果CPU从外设接收一个字则它首先询问外设的状态。如果该外设的状态标志表明设备已“准备就绪”,那么CPU就从总线上接收数据。READY接收数据第8章输入输出系统12如果CPU从外设接收一个字然后,外设把“准备就绪”的状态标志复位,并准备下一个字的交换。CPU在接收数据以后,发出输入响应信号,告诉外设已经把数据总线上的数据取走。使READY=0第8章输入输出系统13CPU从外设接收一个字(续)•查询外设的状态•判READY=1?•若READY=1,接收数据•接口使READY=0第8章输入输出系统14如果外设的READY=0那么它就发出表示外设“忙”的标志。于是,CPU将进入一个循环程序中等待,并在每次循环中询问外设的状态,一直到外设发出“准备就绪”信号以后,才从外设接收数据。第8章输入输出系统15CPU发送数据CPU发送数据的情况也与上述情况相似,外设先发出请求输出信号,而后,CPU询问外设是否准备就绪。如果外设已准备就绪,CPU便发出准备就绪信号,并输出数据。外设接收数据以后,将向CPU发出“数据已经取走”的通知。EMPTY=1?输出数据并使Empty=0第8章输入输出系统16总结通常,把这种在CPU和外设间用问答信号进行定时的方式叫做应答式数据交换。第8章输入输出系统173.高速的外围设备硬盘网卡高速打印机第8章输入输出系统18高速的外围设备(续)由于这类外设是以相等的时间间隔操作的,而CPU也是以等间隔的速率执行输入/输出指令的,因此,这种方式叫做同步定时方式。一旦CPU和外设发生同步,它们之间的数据交换便靠时钟脉冲控制来进行。第8章输入输出系统198.1.2信息交换方式优点是CPU的操作和外围设备的操作能够同步,硬件结构比较简单。1程序查询方式程序查询方式是早期计算机中使用的一种方式。数据在CPU和外围设备之间的传送完全靠计算机程序控制。第8章输入输出系统20但问题是,外围设备动作很慢,程序进入查询循环时将白白浪费掉CPU很多时间。这种情况下,CPU此时只能等待,不能处理其他业务。缺点第8章输入输出系统21即使CPU采用定期地由主程序转向查询设备状态的子程序,进行扫描轮询的办法,CPU宝贵资源的浪费也是可观的。结论:CPU主动查询,外设被动。类似于上门零售。缺点(续)第8章输入输出系统222程序中断方式中断是外围设备用来“主动”通知CPU,准备送出输入数据或接收输出数据的一种方法。中断(Interrupt)第8章输入输出系统23程序中断方式(续)通常,当一个中断发生时,CPU暂停它的现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到它原来的任务,并从它停止的地方开始执行程序。第8章输入输出系统24这种方式节省了CPU宝贵的时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即进行。程序中断优点第8章输入输出系统25显然,这是一种思路的大转变。结论:CPU被动,外设主动。效率大为提高。类似于开店零售。程序中断优点(续)第8章输入输出系统263直接内存访问(DMA)方式1、中断方式不适合高速的外围设备2、高速外设-----成组交换数据3、直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。DMA(DirectMemoryAccess)直接内存访问第8章输入输出系统27DMA方式(续)用中断方式交换数据时,每处理一次I/O交换,约需几十微秒到几百微秒。对于一些高速的外围设备,以及成组交换数据的情况,仍然显得速度太慢。直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。CPU进一步得到解放。第8章输入输出系统28这种方式既考虑到中断响应,同时又要节约中断开销。此时,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU。而直接在内存和外围设备之间进行,以高速传送数据。第8章输入输出系统29DMA---批发程序查询------上门零售结论:程序中断------开店零售第8章输入输出系统30第8章输入输出系统314通道方式DMA方式的出现已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高。而通道的出现则进一步提高了CPU的效率。通道Channel第8章输入输出系统32通道方式(续)这是因为,CPU将部分权力下放给通道。它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(IOP)。第8章输入输出系统33这种方式大大提高了CPU的工作效率。然而这种提高CPU效率的办法是以花费更多硬件为代价的。结论:通道方式是地区总代理。第8章输入输出系统34DMA---批发程序查询------上门零售结论:程序中断------开店零售通道方式----地区总代理第8章输入输出系统35§2程序查询方式8.2.1设备编址8.2.2输入输出指令8.2.3程序查询接口8.2.4程序查询输入/输出方式第8章输入输出系统368.2.1设备编址用程序实现输入/输出的数据传送,外围设备有两种不同的编址方法。统一编址:单独编址:第8章输入输出系统37一种是统一编址:把输入/输出设备中的数据寄存器、状态寄存器、控制寄存器等和内存单元一样看待,它们和内存单元联合在一起编排地址。这样就可用访问内存的指令(读、写指令)去访问I/O设备的某个寄存器,因而不需要专门的I/O指令组。一套指令第8章输入输出系统38另一种是单独编址:内存地址和I/O设备地址是分开的,访问内存和访问I/O设备使用不同操作码的指令。即访问I/O设备有专门的指令。两套指令第8章输入输出系统398.2.2输入输出指令当用程序实现输入/输出传送时,I/O指令一般具有如下功能:①置“1”或置“0”I/O接口的某些控制触发器,用于控制设备进行某些动作。如启动、关闭设备等。②测试设备的某些状态,如“忙”、“准备就绪”等,以便决定下一步的操作。第8章输入输出系统40③传送数据:当输入数据时,将I/O接口中数据寄存器的内容送到CPU某一寄存器。当输出数据时,将CPU中某一寄存器的内容送到I/O接口的数据寄存器。不同的机器,所采用的I/O指令格式和操作也不相同。第8章输入输出系统418.2.3程序查询接口程序查询方式的接口,包括:(1)设备选择电路:接到总线上的每个设备预先都给定了设备地址码。CPU执行I/O指令时需要把指令中的设备地址送到地址总线上,用以指示CPU要选择的设备。第8章输入输出系统42程序查询接口(续)每个设备接口电路都包含一个设备选择电路,用它判别地址总线上呼叫的设备是不是本设备。第8章输入输出系统43数据端口状态端口控制端口第8章输入输出系统44(2)数据缓冲寄存器当输入操作时,用数据缓冲寄存器来存放从外部设备读出的数据,然后送往CPU。当输出操作时,用数据缓冲寄存器来存放CPU送来的数据,以便送给外部设备输出。数据端口第8章输入输出系统45(3)设备状态标志是接口中的标志触发器,如“忙”、“准备就绪”、“错误”等,用来标志设备的工作状态,以便接口对外设动作进行监视。一旦CPU用程序询问外部设备时,将状态标志信息取至CPU进行分析。状态端口第8章输入输出系统468.2.4程序查询输入/输出方式程序查询方式是利用程序控制实现CPU和外部设备之间的数据传送。程序执行的动作如下:第8章输入输出系统47程序查询输入/输出方式(续)(1)先向I/O设备发出命令字,请求进行数据传送。(2)从I/O接口读入状态字。(3)检查状态字中的标志,看看数据交换是否可以进行。第8章输入输出系统48第8章输入输出系统49(4)假如这个设备没有准备就绪,则第②、③步重复进行,直到这个设备发出准备就绪信号“Ready”为止。(5)CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器。与此同时,CPU将接口中的状态标志复位。第8章输入输出系统50输入状态信息Ready=1输入数据YesNo准备输出数据输入状态信息Empty=1输出数据yesNo第8章输入输出系统51§3程序中断方式8.3.1中断的基本概念8.3.2中断接口8.3.3单级中断和多级中断8.3.4中断控制器8.3.5Pentium中断机制第8章输入输出系统528.3.1中断的基本概念中断是指CPU暂时中止现行程序,转去处理随机发生的紧急事件,处理完后自动返回原程序的功能和技术。外部将CPU中断第8章输入输出系统53中断的基本概念(续)中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。第8章输入输出系统54第8章输入输出系统55在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的主程序。在这个意义上说,CPU可以和多个外围设备的一些操作并行地进行。因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。第8章输入输出系统56第8章输入输出系统57中断处理过程需要注意几个问题:第一个问题,尽管外界中断请求是随机的,但CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求。这样才不至于使当前指令的执行受到干扰。第8章输入输出系统58第二个问题为了在中断服务程序执行完毕以后,能够正确地返回到原来主程序被中断的断点(PC内容),而继续执行主程序。必须把程序计数器PC的内容,以及当前指令执行结束后CPU的状态(包括寄存器的内容和一些状态标志位)都保存到堆栈中去。这些操作叫做保存现场。第8章输入输出系统59第三个问题当CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个“中断屏蔽”触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。第8章输入输出系统60只有在“中断屏蔽”标志为“0”时,CPU才可以受理中断。中断屏蔽(续1)当一条指令执行完毕CPU接受中断请求并作出响应时,它一方面发出中断响应信号INTA,另一方面把“中断屏蔽”标志置

1 / 213
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功