《计算机组成原理第8章 输入输出系统.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第8章 输入输出系统.ppt(132页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理计算机组成原理计算机组成原理计算机组成原理第第8章章输入输出输入输出系统系统 11/19/20221计算机组成原理计算机组成原理计算机组成原理计算机组成原理第第8章章计计算算机机的的输输入入输输出出系系统统是是整整个个计计算算机机系系统统中中最最具具有有多多样样性性和和复复杂杂性性的的部部分分,本本章章首首先先介介绍绍主主机机与与外外设设之之间间的的连连接接问问题题,接接着着重重点点介介绍绍程程序序查查询询方方式式、程程序序中中断断方方式式、DMA方式和通道方式。方式和通道方式。11/19/20222计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主
2、机与外设的连接8.1.1输输入入输输出接口出接口主主机机和和外外设设的的连连接接方方式式有有辐辐射射型型连连接接、总总线线型型连连接接等等。输输入入/输输出出接接口口(I/O接接口口)是是主主机机和和外外设设之之间间的的交交接接界界面面,通通过过接接口口可可以以实实现现主主机机和和外设之间的信息交换。外设之间的信息交换。主主机机和和外外设设各各自自具具有有自自己己的的工工作作特特点点,它它们们在在信信息息形形式式和和工工作作速速度度上上具具有有很很大大的的差差异异,接接口口正是为了解决这些差异而设置的正是为了解决这些差异而设置的。11/19/20223计算机组成原理计算机组成原理计算机组成原理
3、计算机组成原理8.1主机与外设的连接主机与外设的连接主机和外主机和外设设之之间间需要交需要交换换的信息的信息有:有:1.数据信息数据信息这这类类信信息息可可以以是是通通过过输输入入设设备备送送到到计计算算机机的的输输入入数数据据,也也可可以以是是经经过过计计算算机机运运算算处处理理和和加加工工后后,送送到到输输出出设设备备的的结结果果数数据据。传传送送可可以以是是并并行行的的,也也可以是串行的。可以是串行的。2.控制信息控制信息这这是是CPU对对外外设设的的控控制制信信息息或或管管理理命命令令,如如外外设设的的启启动动和和停停止止控控制制、输输入入或或输输出出操操作作的的指指定定、工工作方式的
4、作方式的选择选择、中断功能的允、中断功能的允许许和禁止等。和禁止等。11/19/20224计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接3.状状态态信息信息这这类类信信息息用用来来标标志志外外设设的的工工作作状状态态,比比如如,输输入入设设备备数数据据准准备备好好标标志志,输输出出设设备备忙忙闲闲标标志志等等。CPU在在必必要要时时可可通通过过对对它它的的查查询询来来决决定定下下一一步步的的操作。操作。4.联络联络信息信息这这是是主主机机和和外外设设间间工工作作的的时时间间配配合合信信息息,它它与与主主机机和和外外设设间间的的信信息息交交换换方方
5、式式密密切切相相关关。通通过过联联络络信信息息可可以以决决定定不不同同工工作作速速度度的的外外设设和和主主机机之之间间交交换换信信息息的的最最佳佳时时刻刻,以以保保证证整整个个计计算算机机系系统统能能统统一一协调协调地工作。地工作。11/19/20225计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接5.外外设识别设识别信息信息这这是是I/O寻寻址址的的信信息息,使使CPU能能从从众众多多的的外外设设中中寻寻找出与自己找出与自己进进行信息交行信息交换换的唯的唯一外部设备。一外部设备。11/19/20226计算机组成原理计算机组成原理计算机组成原理计
6、算机组成原理8.1主机与外设的连接主机与外设的连接8.1.2接口的功能和基本组成接口的功能和基本组成1.接口的功能接口的功能(1)实现主机和外设的通信联络控制实现主机和外设的通信联络控制接接口口中中的的同同步步控控制制电电路路用用来来解解决决主主机机与与外外设设的时间配合问题。的时间配合问题。(2)进行地址译码和设备选择进行地址译码和设备选择当当CPU送送来来选选择择外外设设的的地地址址码码后后,接接口口必必须须对对地地址址进进行行译译码码以以产产生生设设备备选选择择信信息息,使使主主机机能能和指定外设交换信息。和指定外设交换信息。11/19/20227计算机组成原理计算机组成原理计算机组成原
7、理计算机组成原理8.1主机与外设的连接主机与外设的连接(3)实现数据缓冲实现数据缓冲 在在接接口口电电路路中中,一一般般设设置置有有一一个个或或几几个个数数据据缓缓冲冲寄寄存存器器,用用于于数数据据的的暂暂存存,以以避避免免因因速速度度不不一一致致而而丢丢失失数数据据。在在传传送送过过程程中中,先先将将数数据据送送入入数数据据缓缓冲冲寄寄存存器器中中,然然后后再再送送到到输输出出设设备备或或主主机机中去。中去。(4)数据格式的变换数据格式的变换在在输输入入或或输输出出操操作作过过程程中中,为为了了满满足足主主机机或或外外设设的的各各自自要要求求,接接口口电电路路中中必必须须具具有有完完成成各各
8、类类数据相互转换的功能。数据相互转换的功能。(并并-串、数串、数-模模)11/19/20228计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(5)传递控制命令和状态信息传递控制命令和状态信息当当CPU要要启启动动某某一一外外设设时时,通通过过接接口口中中的的控控制制命命令令寄寄存存器器向向外外设设发发出出启启动动命命令令;当当外外设设准准备备就就绪绪时时,则则有有状状态态信信息息送送回回接接口口中中的的状状态态寄寄存存器器,为为CPU提提供供反反馈馈信信息息,告告诉诉CPU,I/O设设备备已已经经具具备备和和CPU交交换换数数据据的的条条件件。当
9、当外外设设向向CPU提提出出中中断断请请求求和和DMA请请求求时时,CPU也也有有相相应应的的响响应应信信号反馈给外设。号反馈给外设。11/19/20229计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接2.接口的基本组成接口的基本组成接接口口中中要要分分别别传传送送数数据据信信息息、控控制制信信息息和和状状态态信信息息,数数据据信信息息、控控制制信信息息和和状状态态信信息息都都通通过过数数据据总总线线来来传传送送。大大多多数数计计算算机机都都把把I/O设设备备的的状状态态信信息息视视为为输输入入数数据据,而而把把控控制制信信息息看看成成输输出出数
10、数据据,并并在在接接口口中中分分设设各各自自相相应应的的寄寄存存器器,赋赋以以不不同同的的端端口口地地址址,各各种种信信息息分分时时地地使使用用数数据据总总线线传传送到各自的寄存器中。送到各自的寄存器中。11/19/202210计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接主主机机外设识别外设识别数据数据/命令命令/状态状态控制电路控制电路地址信息地址信息控制联络控制联络信息信息数据数据(并并)外外设设控制联络控制联络数据数据(并并/串串)接口接口11/19/202211计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连
11、接主机与外设的连接接接口口与与端端口口是是两两个个不不同同的的概概念念。端端口口是是指指接接口口电电路路中中可可以以进进行行读读/写写的的寄寄存存器器,若若干干个个端端口口加加上相应的控制逻辑电路才组成接口。上相应的控制逻辑电路才组成接口。11/19/202212计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接通通常常,一一个个接接口口中中包包含含有有数数据据端端口口、控控制制端端口口和和状状态态端端口口。存存放放数数据据信信息息的的寄寄存存器器称称为为数数据据端端口口,存存放放控控制制命命令令的的端端口口称称为为命命令令端端口口,存存放放状状态态
12、信信息息的的寄寄存存器器称称为为状状态态端端口口。CPU通通过过输输入入指指令令可可以以从从有有关关端端口口中中读读出出信信息息,通通过过输输出出指指令令可可以以把把信信息息写写入入有有关关端端口口。对对状状态态端端口口只只能能实实施施读读出出(输输入入)操操作作,将将读读取取的的外外设设状状态态标标志志送送到到CPU中中去去;对对命命令令端端口口只只进进行行写写入入(输输出出)操操作作,CPU将将向向外外设设发发送送各各种种控控制制命命令令。因因此此,在在有有的的接接口口电电路路中中状状态态信信息息和和控控制制信信息息共共用用一一个个寄寄存存器器,称之为设备的称之为设备的控制控制/状态寄存器
13、状态寄存器。11/19/202213计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接3.接口的接口的类类型型(1)按数据按数据传传送方式分送方式分类类有有串串行行接接口口和和并并行行接接口口。这这里里所所说说的的数数据据传传送送方方式式指指的的是是外外设设和和接接口口一一侧侧的的传传送送方方式式,而而在在主机和接口一侧,数据总是并行传送的主机和接口一侧,数据总是并行传送的。(2)按主机按主机访问访问I/O设备设备的控制方式分的控制方式分类类可可分分为为程程序序查查询询式式接接口口、中中断断接接口口、DMA接接口口等等。(3)按功能按功能选择选择的灵
14、活性分的灵活性分类类有可有可编编程接口和不可程接口和不可编编程接口。程接口。11/19/202214计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(4)按通用性分按通用性分类类有通用接口和有通用接口和专专用接口。用接口。(5)按按输输入入/输输出的信号分出的信号分类类有数字接口和模拟接口。有数字接口和模拟接口。(6).按应用来分类按应用来分类运行辅助接口。运行辅助接口。用户交互接口。用户交互接口。传感接口。传感接口。控制接口。控制接口。11/19/202215计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设
15、的连接8.1.3外设的识别与端口寻址外设的识别与端口寻址外外设设识识别别是是通通过过地地址址总总线线和和接接口口电电路路中中的的外外设设识识别别电电路路来来实实现现的的,输输入入输输出出设设备备的的端端口口地地址址就就是是主主机机与与外外设设直直接接通通信信的的地地址址,CPU可可以以通通过过端口发送命令、读取状态和传送数据。端口发送命令、读取状态和传送数据。1.端口地址端口地址编编址方式址方式I/O端端口口编编址址方方式式有有两两种种:一一种种是是I/O映映射射方方式式,即即把把I/O端端口口地地址址与与主主存存单单元元地地址址分分别别进进行行独独立立的的编编址址;另另一一种种是是存存储储器
16、器映映射射方方式式,即即把把端端口口地址与主存单元地址地址与主存单元地址统一编址统一编址。11/19/202216计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(1)独立编址独立编址 主主存存地地址址空空间间和和I/O端端口口地地址址空空间间是是相相对对独独立立的的,分分别别单单独独编编址址。比比如如,在在8086中中,其其主主存存地地址址范范围围是是从从00000HFFFFFH连连续续的的1MB,其其I/O端端口口的的地地址址范范围围从从0000HFFFFH,它它们们互互相相独独立立,互互不不影影响响。CPU访访问问主主存存时时,由由主主存存读
17、读/写写控控制制线线控控制制;访访问问外外设设时时,由由I/O读读/写写控控制制线线控控制制,所所以以在在指指令令系系统统中中必必须须设设置置专专门门的的I/O指指令令(P78)(P78)。当当CPU使使用用I/O指指令令时时,其其指指令令的的地地址址字字段段直直接接或或间接的指示出端口地址。间接的指示出端口地址。11/19/202217计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(2)统一编址统一编址I/O端端口口地地址址和和主主存存单单元元的的地地址址是是统统一一编编址址的的,把把I/O接接口口中中的的端端口口作作为为主主存存单单元元一一样
18、样进进行行访访问问,不设置专门的不设置专门的I/O指令指令。每每个个外外设设至至少少有有两两个个寄寄存存器器:控控制制状状态态寄寄存存器器和和数数据据缓缓冲冲寄寄存存器器,外外设设寄寄存存器器的的地地址址码码是是连连续续的的。在在PDP-11中中,把把主主存存的的高高4KB地地址址空空间间留留给给外外设设接接口口寄寄存存器器和和CPU内内部部寄寄存存器器使使用用,这这4KB存储空间不允许用户再存放其他内存储空间不允许用户再存放其他内容。容。11/19/202218计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接例如,例如,PDP-11机分配给某些外
19、机分配给某些外设寄存器的端口地址如下。设寄存器的端口地址如下。纸带输入机:纸带输入机:控制状态寄存器控制状态寄存器 177550Q 数据缓冲寄存器数据缓冲寄存器 177552Q 穿孔输入机:穿孔输入机:控制状态寄存器控制状态寄存器 177554Q 数据缓冲寄存器数据缓冲寄存器 177556Q 控制台打字机:控制台打字机:键盘控制状态寄存器键盘控制状态寄存器 177560Q 键盘数据寄存器键盘数据寄存器 177562Q 打印控制状态寄存器打印控制状态寄存器 177564Q 打印数据寄存器打印数据寄存器 177566Q 行式打印机:行式打印机:控制状志寄存器控制状志寄存器 177514Q 数据缓冲
20、寄存器数据缓冲寄存器 177516Q11/19/202219计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接2.独立编址方式的端口访问独立编址方式的端口访问Intel80 x86最最多多可可直直接接寻寻址址256个个字字节节端端口口,可可间间接接寻寻址址65536个个字节端口字节端口。任任意意两两个个连连续续的的8位位端端口口可可作作为为1个个16位位端端口口处处理理;四四个个连连续续的的8位位端端口口可可作作为为1个个32位位端端口口处处理理。因因此此,I/O地地址址空空间间最最多多能能提提供供64K个个8位位端端口口、32K个个16位位端端口口
21、、16K个个32位位端端口口或或总总容容量量不不超过超过64KB的不同端口的组合。的不同端口的组合。11/19/202220计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接80 x86的的专专用用I/O指指令令IN和和OUT有有直直接接寻寻址址和和间间接接寻寻址址两两种种类类型型。直直接接寻寻址址I/O端端口口的的寻寻址址范范围围为为00FFH,至至多多为为256个个端端口口地地址址。这这时时程程序序可可以指定:以指定:编号编号0到到255的的256个个8位端口;位端口;编号编号0、2、4252、254的的128个个16位端口;位端口;编号编号0、
22、4、8248、252的的64个个32位端口。位端口。11/19/202221计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接间间接接寻寻址址由由DX寄寄存存器器间间接接给给出出I/O端端口口地地址址。DX寄寄存存器器长长16位位,寻寻址址范范围围为为0000FFFFH,最多可最多可寻址寻址216=64K个端口地址,这时程序可指定:个端口地址,这时程序可指定:编号编号0到到65535的的65536个个8位端口;位端口;编编号号0、2、465532、65534的的32768个个16位位端口;端口;编编号号0、4、865528、65532的的16384个
23、个32位位端口。端口。11/19/202222计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接CPU一一次次可可实实现现字字节节(8位位)、字字(16位位)或或双双字字(32位位)的的数数据据传传送送,与与存存储储器器中中的的双双字字一一样样。32位位端端口口应应对对准准可可被被4整整除除的的偶偶地地址址,与与存存储储器器中中的的字字一一样样,16位位端端口口应应对对准准偶偶地地址址,8位端口可定位在偶地址,也可定位在奇地址。位端口可定位在偶地址,也可定位在奇地址。11/19/202223计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.
24、1主机与外设的连接主机与外设的连接8.1.4输入输入/输出信息传送控制方式输出信息传送控制方式主主机机和和外外设设之之间间的的信信息息传传送送控控制制方方式式,经经历历了了由由低低级级到到高高级级、由由简简单单到到复复杂杂、由由集集中中管管理理到到各各部部件件分分散散管管理理的的发发展展过过程程,按按其其发发展展的的先先后后次次序和主机与外设并行工作的程度,可以分为四种。序和主机与外设并行工作的程度,可以分为四种。11/19/202224计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接1.程序查询方式程序查询方式程程序序查查询询方方式式是是一一种种
25、程程序序直直接接控控制制方方式式,这这是是主主机机与与外外设设间间进进行行信信息息交交换换的的最最简简单单方方式式,输输入入和和输输出出的的完完全全是是通通过过CPU去去执执行行相相应应的的程程序序来来实实现现的的。一一旦旦某某一一外外设设被被选选中中并并启启动动之之后后,主主机机将将查查询询这这个个外外设设的的某某些些状状态态位位,看看其其是是否否准准备备就就绪绪?若若外外设设未未准准备备就就绪绪,主主机机将将再再次次查查询询;若若外外设已准备就绪,则执行一次设已准备就绪,则执行一次I/O操作。操作。11/19/202225计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与
26、外设的连接主机与外设的连接1.程序查询方式程序查询方式这这种种方方式式控控制制简简单单,但但外外设设和和主主机机不不能能同同时时工工作作,各各外外设设之之间间也也不不能能同同时时工工作作,系系统统效效率率很很低低,因因此此,仅仅适适用用于于外外设设的的数数目目不不多多,对对I/O处处理理的的实实时时要要求求不不那那么么高高,CPU的的操操作作任任务务比比较较单单一一,并不很忙的情况。并不很忙的情况。11/19/202226计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接2.程序中断方式程序中断方式 在在主主机机启启动动外外设设后后,无无须须等等待待
27、查查询询,而而是是继继续续执执行行原原来来的的程程序序,外外设设在在做做好好输输入入/输输出出准准备备时时,向向主主机机发发中中断断请请求求,主主机机接接到到请请求求后后就就暂暂时时中中止止原原来来执执行行的的程程序序,转转去去执执行行中中断断服服务务程程序序对对外外部部请请求求进进行行处处理理,在在中中断断处处理理完完毕毕后后返返回回原原来来的的程程序继续执行。序继续执行。显显然然,程程序序中中断断不不仅仅适适用用于于外外部部设设备备的的输输入入输输出出操操作作,也也适适用用于于对对外外界界发发生生的的随随机机事事件件的的处处理。理。11/19/202227计算机组成原理计算机组成原理计算机
28、组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接2.程序中断方式程序中断方式 程程序序中中断断在在信信息息交交换换方方式式中中处处于于最最重重要要的的地地位位,它它不不仅仅允允许许主主机机和和外外设设同同时时并并行行工工作作,并并且且允允许许一一台台主主机机管管理理多多台台外外设设。但但是是完完成成一一次次程程序序中中断断需需要要许许多多辅辅助助操操作作,可可能能使使CPU应应接接不不暇暇;另另外外,对对于于一一些些高高速速外外设设,由由于于信信息息交交换换是是成成批批的的,如如果果处处理理不不及及时时,可可能能会会造造成成信信息息丢丢失失,因因此,它主要此,它主要适用于中、低速外
29、设适用于中、低速外设。11/19/202228计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接3.直接存储器存取直接存储器存取(DMA)方式方式DMA方方式式是是在在主主存存储储器器和和外外部部设设备备之之间间开开辟辟直直接接的的数数据据通通路路,可可以以进进行行基基本本上上不不需需要要CPU介介入入的的主主存存和和外外设设之之间间的的信信息息传传送送,这这样样不不仅仅能能保保证证CPU的高效率,而且能满足高速外设的需要。的高效率,而且能满足高速外设的需要。DMA方方式式只只能能进进行行简简单单的的数数据据传传送送操操作作,在在数数据据块块传传送送
30、的的起起始始和和结结束束时时还还需需CPU及及中中断断系系统统进行预处理和后处理。进行预处理和后处理。11/19/202229计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接4.I/O通道控制方式通道控制方式I/O通通道道控控制制方方式式是是DMA方方式式的的进进一一步步发发展展,在在系系统统中中设设有有通通道道控控制制部部件件,每每个个通通道道挂挂若若干干外外设设。主主机机在在执执行行I/O操操作作时时,只只需需启启动动有有关关通通道道,通道将执行通道程序,从而完成通道将执行通道程序,从而完成I/O操作。操作。通通道道是是一一个个具具有有特特殊殊
31、功功能能的的处处理理器器,它它能能独独立立地地执执行行通通道道程程序序,产产生生相相应应的的控控制制信信号号,实实现现对对外外设设的的统统一一管管理理和和外外设设与与主主存存之之间间的的数数据据传传送送。但但它它不不是是一一个个完完全全独独立立的的处处理理机机,它它要要在在CPU的的I/O指指令令指指挥挥下下才才能能启启动动、停停止止或或改改变变工工作作状状态态,是从属于是从属于CPU的一个专用处理器。的一个专用处理器。11/19/202230计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接4.I/O通道控制方式通道控制方式一一个个通通道道执执行行
32、输输入入/输输出出过过程程全全部部由由通通道道按按照照通通道道程程序序自自行行处处理理,不不论论交交换换信信息息多多少少,只只打打扰扰CPU两两次次(启启动动和和停停止止时时)。因因此此,主主机机、外外设设和和通通道道可可以以并并行行同同时时工工作作,而而且且一一个个通通道道可可以以控制多台不同类型的设备。控制多台不同类型的设备。目目前前,小小型型、微微型型计计算算机机大大多多采采用用程程序序查查询询方方式式、程程序序中中断断方方式式和和DMA方方式式;大大、中中型型机机多多采用通道方式。采用通道方式。11/19/202231计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查
33、询方式及其接口程序查询方式及其接口 程程序序查查询询方方式式的的核核心心问问题题在在于于需需要要不不断断地地查查询询I/O设备是否准备就绪。设备是否准备就绪。8.2.1程序查询方式程序查询方式1.程序查询的基本思想程序查询的基本思想由由CPU执执行行一一段段输输入入、输输出出程程序序来来实实现现主主机机与与外外设设之之间间的的数数据据传传送送方方式式,叫叫做做程程序序直直接接控控制制方方式式。根根据据外外设设的的不不同同性性质质,这这种种传传送送方方式式又又可可分为无条件传送和程序查询方式两种。分为无条件传送和程序查询方式两种。11/19/202232计算机组成原理计算机组成原理计算机组成原理
34、计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口l在在无无条条件件传传送送方方式式中中,I/O端端口口总总是是准准备备好好接接收收主主机机的的输输出出数数据据,或或总总是是准准备备好好向向主主机机输输入入的的数数据据,因因而而CPU无无需需查查询询外外设设的的工工作作状状态态,而而默默认认外设始终处于准备就绪状态。外设始终处于准备就绪状态。l许许多多外外设设的的工工作作状状态态是是很很难难事事先先预预知知的的,为为了了保保证证数数据据传传送送的的正正确确进进行行,就就要要求求CPU在在程程序序中中查查询询外外设设的的工工作作状状态态,如如果果外外设设尚尚未未准准备备就就绪绪,CPU
35、就就等等待待,只只有有外外设设已已做做好好准准备备,CPU才才能能执执行行I/O指令,这就是指令,这就是程序查询方式。程序查询方式。11/19/202233计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(1)预预置置传传送参数送参数在在传传送送数数据据之之前前,由由CPU执执行行一一段段初初始始化化程程序序,预预置置传传送送参参数数。传传送送参参数数包包括括存存取取数数据据的的主主存存缓缓冲冲区区首首地地址址和和传传送送数数据据的的个个数数。2.程序查询方式的工作流程程序查询方式的工作流程预置传送参数预置传送参数启动外设启动外设取外设状态
36、取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束11/19/202234计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口当当CPU选选中中某某台台外外设设时时,执执行行输输出出指指令令向向外外设设接接口口发发出出命命令令字字,启启动动外外设设,为为接接收收数数据据或或发发送送数据的操作做准备。数据的操作做准备。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束
37、结束(2)向外设接口发命令字向外设接口发命令字11/19/202235计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口CPU执执行行输输入入指指令令,从从外外设设接接口口中中取取回回状状态态字字并并进进行行测测试试,判判断断数数据据传传送送是是否可以进行。否可以进行。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束(3)从外设接口取回状态字从外设接口取回状态字11/19/202236计算机组成原理计算机组成原理计算机组成原
38、理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(4)查询外设标志查询外设标志CPU不不断断查查询询状状态态标标志志。如如果果外外设设没没有有准准备备就就绪绪,CPU就就踏踏步步等等待待,再再次次转转入入第第(3)步步,一一直直到到这这个个外外设设准准备备就就绪绪,并并发发出出“准准备备就就绪绪”信信号为止。号为止。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束11/19/202237计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及
39、其接口程序查询方式及其接口(5)传送数据传送数据只只有有外外设设准准备备好好,才才能能实实现现主主机机与与外外设设间间的的一一次次数数据据传传送送。输输入入时时,CPU执执行行输输入入指指令令,从从外外设设接接口口的的数数据据缓缓冲冲寄寄存存器器中中接接收收数数据据;输输出出时时,CPU执执行行输输出出指指令令,将将数数据据写写入入外外设设接接口的数据缓冲寄存器。口的数据缓冲寄存器。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束11/19/202238计算机组成原理计算机组
40、成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(6)修改传送参数修改传送参数每每进进行行一一次次数数据据传传送送,需需要要修修改改传传送送参参数数,其其中中包包括括主主存存缓缓冲冲区区地地址址加加1,传送个数减,传送个数减1。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束11/19/202239计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(7)判判断断传传送送是是否否结结束束如如果果
41、传传送送个个数数不不为为0,则则转转第第3步步,继继续续传传送送,直直到到传传送送结结束束为为止。止。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束11/19/202240计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束输出指令输出指令(OUT控制口控制口
42、,AL)输入输入/输出指令输出指令(INAL,数据口数据口/OUT数据口数据口,AL)输入指令输入指令(INAL,状态口状态口)11/19/202241计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口8.2.2程序程序查询查询方式接口方式接口最最简单简单、经济经济的的I/O方式,只需很少的硬件。方式,只需很少的硬件。通通常常接接口口中中至至少少有有两两个个寄寄存存器器,一一个个是是数数据据缓缓冲冲寄寄存存器器,即即数数据据端端口口,用用来来存存放放与与CPU进进行行传传送送的的数数据据信信息息,另另一一个个是是供供CPU查查询询的的设设备备
43、状状态态寄寄存存器器,即即状状态态端端口口,这这个个寄寄存存器器由由多多个个标标志志位位组组成成,其其中中最最重重要要的的是是设设备备准准备备就就绪绪标标志志。当当CPU得得到到这这位位信信息息后后就就进进行行判判断断,以以决决定定下下一一步步是是继继续续循循环环等等待待还还是是进进行行I/O传传送送,也也有有些些计计算算机机仅仅设设置置状状态态标标志触志触发发器,其作用与设备状态寄存器相同。器,其作用与设备状态寄存器相同。11/19/202242计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口 图图8-3为为查查询询式式输输入入接接口口电
44、电路路,图图中中Ready为为准准备备好好触触发发器器,它它对对应应于于设设备备状状态态寄寄存存器的器的D0位。位。在在输输入入设设备备准准备备好好数数据据时时,发发出出一一个个选选通通信信号号(STB),一一方方面面将将数数据据送送入入锁锁存存器器,同同时时将将Ready触触发发器器置置“1”,以以表表示示接接口口电电路路中中已已有有数数据据(即即准备就绪)。准备就绪)。8.2.2程序查询方式接口程序查询方式接口1.输入接口输入接口11/19/202243计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口8.2.2程序程序查询查询方式接口方
45、式接口 CPU要要从从外外设设输输入入数数据据时时,先先执执行行输输入入指指令令读读取取状状态态字字,如如Ready=1,再再执执行行输输入入指指令令从从锁锁存存器器中中读读取取数数据据,同同时时把把Ready触触发发器器清清“0”,以以准准备备从从外外设设接接收收下下一一个个数数据据;如如Ready=0,则则踏踏步步等等待待,继继续续读读取取状状态态字字,直直至至Ready=1为止。为止。11/19/202244计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口图图8-4为为查查询询式式输输出出接接口口电电路路,图图中中Busy为为忙忙触触
46、发发器器,对对应应于于设设备备状态寄存器的状态寄存器的D7位。位。输输出出时时,CPU首首先先执执行行输输入入指指令令读读取取状状志志字字,如如Busy=1,表表示示接接口口的的输输出出锁锁存存器器是是满满的的,CPU只只能能踏踏步步等等待待,继继续续读读取取状状态态字字,直直至至Busy=0为止;为止;8.2.2程序查询方式接口程序查询方式接口2.输出接口输出接口11/19/202245计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口8.2.2程序程序查询查询方式接口方式接口如如Busy=0,表表示示接接口口的的输输出出锁锁存存器器是是空
47、空的的,允允许许CPU向向外外设设发发送送数数据据。此此时时,CPU执执行行输输出出指指令令,将将数数据据送送 入入 寄寄 存存 器器,并并 将将Busy触触 发发 器器 置置“1”。当当输输出出设设备备把把CPU送送来来的的数数据据真真正正输输出出之之后后,将将发发出出一一个个ACK信信号号,使使Busy触触发发器器置置“0”,以以准准备备下下一一次传送。次传送。11/19/202246计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口8.2.2程序程序查询查询方式接口方式接口若若有有多多个个外外设设需需要要用用查查询询方方式式工工作作时时
48、,其其工工作作流流程程如如图图8-5所所示示。此此时时CPU巡巡回回检检测测各各个个外外设设,逐逐个个进进行行查查询询,发发现现哪哪个个外外设设准准备备就就绪绪,就就对对该该外外设设实实施施数数据据传传送送,然然后后再再对对下下一一外外设设查询,依次循环。查询,依次循环。11/19/202247计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式中中断断是是现现代代计计算算机机有有效效合合理理地地发发挥挥效效能能和和提提高高效效率率的的一一个个十十分分重重要要的的功功能能。CPU中中通通常常设设有有处处理理中中断断的的机机构构中中断断系系统
49、统,以以解解决决各各种种中中断断的的共共性性问问题题。本本节节主主要要分分析析中中断断系系统统的的功能,特别强调功能,特别强调I/O中断。中断。11/19/202248计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8.3.1中断的基本概念中断的基本概念1.中断的提出中断的提出程序查询方式存在着下列明显的缺点。程序查询方式存在着下列明显的缺点。在在查查询询过过程程中中,CPU长长期期处处于于踏踏步步等等待待状状态态,使系统使系统效率大大降低效率大大降低。CPU在在一一段段时时间间内内只只能能和和一一台台外外设设交交换换信信息息,其它设备
50、不能同时工作。其它设备不能同时工作。不不能能发发现现和和处处理理预预先先无无法法估估计计的的错错误误和和异异常常情情况。况。11/19/202249计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式为为了了提提高高输输入入/输输出出能能力力和和CPU的的效效率率,20世世纪纪50年代中期,中断传送方式被引进计算机系统。年代中期,中断传送方式被引进计算机系统。程程序序中中断断方方式式的的思思想想是是:CPU在在程程序序中中安安排排好好在在某某一一时时刻刻启启动动某某一一台台外外设设,然然后后CPU继继续续执执行行原原来来程程序序,不不需需要