《计算机组成原理第8章 输入输出系统》由会员分享,可在线阅读,更多相关《计算机组成原理第8章 输入输出系统(132页珍藏版)》请在金锄头文库上搜索。
1、计算机组成原理计算机组成原理计算机组成原理计算机组成原理第第8章章输入输出输入输出系统系统 8/2/20241计算机组成原理计算机组成原理计算机组成原理计算机组成原理第第8章章计计算算机机的的输输入入输输出出系系统统是是整整个个计计算算机机系系统统中中最最具具有有多多样样性性和和复复杂杂性性的的部部分分,本本章章首首先先介介绍绍主主机机与与外外设设之之间间的的连连接接问问题题,接接着着重重点点介介绍绍程程序序查查询询方方式式、程程序序中中断断方方式式、DMA方式和通道方式。方式和通道方式。8/2/20242计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设
2、的连接8.1.1输入入输出接口出接口主主机机和和外外设设的的连连接接方方式式有有辐辐射射型型连连接接、总总线线型型连连接接等等。输输入入/输输出出接接口口(I/O接接口口)是是主主机机和和外外设设之之间间的的交交接接界界面面,通通过过接接口口可可以以实实现现主主机机和和外设之间的信息交换。外设之间的信息交换。 主主机机和和外外设设各各自自具具有有自自己己的的工工作作特特点点,它它们们在在信信息息形形式式和和工工作作速速度度上上具具有有很很大大的的差差异异,接接口口正是为了解决这些差异而设置的正是为了解决这些差异而设置的。8/2/20243计算机组成原理计算机组成原理计算机组成原理计算机组成原理
3、8.1主机与外设的连接主机与外设的连接主机和外主机和外设之之间需要交需要交换的信息的信息有:有:1.数据信息数据信息这类信信息息可可以以是是通通过输入入设备送送到到计算算机机的的输入入数数据据,也也可可以以是是经过计算算机机运运算算处理理和和加加工工后后,送送到到输出出设备的的结果果数数据据。传送送可可以以是是并并行行的的,也也可以是串行的。可以是串行的。2.控制信息控制信息这是是CPU对外外设的的控控制制信信息息或或管管理理命命令令,如如外外设的的启启动和和停停止止控控制制、输入入或或输出出操操作作的的指指定定、工工作方式的作方式的选择、中断功能的允、中断功能的允许和禁止等。和禁止等。8/2
4、/20244计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接3.状状态信息信息这类信信息息用用来来标志志外外设的的工工作作状状态,比比如如,输入入设备数数据据准准备好好标志志,输出出设备忙忙闲标志志等等。CPU在在必必要要时可可通通过对它它的的查询来来决决定定下下一一步步的的操作。操作。4.联络信息信息这是是主主机机和和外外设间工工作作的的时间配配合合信信息息,它它与与主主机机和和外外设间的的信信息息交交换方方式式密密切切相相关关。通通过联络信信息息可可以以决决定定不不同同工工作作速速度度的的外外设和和主主机机之之间交交换信信息息的的最最佳佳时刻刻
5、,以以保保证整整个个计算算机机系系统能能统一一协调地工作。地工作。8/2/20245计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接5.外外设识别信息信息这是是I/O寻址址的的信信息息,使使CPU能能从从众众多多的的外外设中中寻找出与自己找出与自己进行信息交行信息交换的唯的唯一外部设备。一外部设备。8/2/20246计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接8.1.2接口的功能和基本组成接口的功能和基本组成1.接口的功能接口的功能(1)实现主机和外设的通信联络控制实现主机和外设的通信联络控制接接口
6、口中中的的同同步步控控制制电电路路用用来来解解决决主主机机与与外外设设的时间配合问题。的时间配合问题。(2)进行地址译码和设备选择进行地址译码和设备选择当当CPU送送来来选选择择外外设设的的地地址址码码后后,接接口口必必须须对对地地址址进进行行译译码码以以产产生生设设备备选选择择信信息息,使使主主机机能能和指定外设交换信息。和指定外设交换信息。8/2/20247计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(3)实现数据缓冲实现数据缓冲 在在接接口口电电路路中中,一一般般设设置置有有一一个个或或几几个个数数据据缓缓冲冲寄寄存存器器,用用于于数数据
7、据的的暂暂存存,以以避避免免因因速速度度不不一一致致而而丢丢失失数数据据。在在传传送送过过程程中中,先先将将数数据据送送入入数数据据缓缓冲冲寄寄存存器器中中,然然后后再再送送到到输输出出设设备备或或主主机机中去。中去。(4)数据格式的变换数据格式的变换在在输输入入或或输输出出操操作作过过程程中中,为为了了满满足足主主机机或或外外设设的的各各自自要要求求,接接口口电电路路中中必必须须具具有有完完成成各各类类数据相互转换的功能。数据相互转换的功能。(并并-串、数串、数-模模)8/2/20248计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(5)传递控
8、制命令和状态信息传递控制命令和状态信息当当CPU要要启启动动某某一一外外设设时时,通通过过接接口口中中的的控控制制命命令令寄寄存存器器向向外外设设发发出出启启动动命命令令;当当外外设设准准备备就就绪绪时时,则则有有状状态态信信息息送送回回接接口口中中的的状状态态寄寄存存器器,为为CPU提提供供反反馈馈信信息息,告告诉诉CPU,I/O设设备备已已经经具具备备和和CPU交交换换数数据据的的条条件件。当当外外设设向向CPU提提出出中中断断请请求求和和DMA请请求求时时,CPU也也有有相相应应的的响响应应信信号反馈给外设。号反馈给外设。8/2/20249计算机组成原理计算机组成原理计算机组成原理计算机
9、组成原理8.1主机与外设的连接主机与外设的连接2.接口的基本组成接口的基本组成接接口口中中要要分分别别传传送送数数据据信信息息、控控制制信信息息和和状状态态信信息息,数数据据信信息息、控控制制信信息息和和状状态态信信息息都都通通过过数数据据总总线线来来传传送送。大大多多数数计计算算机机都都把把I/O设设备备的的状状态态信信息息视视为为输输入入数数据据,而而把把控控制制信信息息看看成成输输出出数数据据,并并在在接接口口中中分分设设各各自自相相应应的的寄寄存存器器,赋赋以以不不同同的的端端口口地地址址,各各种种信信息息分分时时地地使使用用数数据据总总线线传传送到各自的寄存器中。送到各自的寄存器中。
10、8/2/202410计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接主主机机外设识别外设识别数据数据/命令命令/状态状态控制电路控制电路地址信息地址信息控制联络控制联络信息信息数据数据(并并)外外设设控制联络控制联络数据数据(并并/串串)接口接口8/2/202411计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接接接口口与与端端口口是是两两个个不不同同的的概概念念。端端口口是是指指接接口口电电路路中中可可以以进进行行读读/写写的的寄寄存存器器,若若干干个个端端口口加加上相应的控制逻辑电路才组成接口。上相
11、应的控制逻辑电路才组成接口。8/2/202412计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接通通常常,一一个个接接口口中中包包含含有有数数据据端端口口、控控制制端端口口和和状状态态端端口口。存存放放数数据据信信息息的的寄寄存存器器称称为为数数据据端端口口,存存放放控控制制命命令令的的端端口口称称为为命命令令端端口口,存存放放状状态态信信息息的的寄寄存存器器称称为为状状态态端端口口。CPU通通过过输输入入指指令令可可以以从从有有关关端端口口中中读读出出信信息息,通通过过输输出出指指令令可可以以把把信信息息写写入入有有关关端端口口。对对状状态态端端
12、口口只只能能实实施施读读出出(输输入入)操操作作,将将读读取取的的外外设设状状态态标标志志送送到到CPU中中去去;对对命命令令端端口口只只进进行行写写入入(输输出出)操操作作,CPU将将向向外外设设发发送送各各种种控控制制命命令令。因因此此,在在有有的的接接口口电电路路中中状状态态信信息息和和控控制制信信息息共共用用一一个个寄寄存存器器,称之为设备的称之为设备的控制控制/状态寄存器状态寄存器。8/2/202413计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接3.接口的接口的类型型(1)按数据按数据传送方式分送方式分类有有串串行行接接口口和和并并行
13、行接接口口。这这里里所所说说的的数数据据传传送送方方式式指指的的是是外外设设和和接接口口一一侧侧的的传传送送方方式式,而而在在主机和接口一侧,数据总是并行传送的主机和接口一侧,数据总是并行传送的。(2)按主机按主机访问I/O设备的控制方式分的控制方式分类可可分分为程程序序查询式式接接口口、中中断断接接口口、DMA接接口口等等。(3)按功能按功能选择的灵活性分的灵活性分类有可有可编程接口和不可程接口和不可编程接口。程接口。8/2/202414计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(4)按通用性分按通用性分类有通用接口和有通用接口和专用接口。
14、用接口。(5)按按输入入/输出的信号分出的信号分类有数字接口和模拟接口。有数字接口和模拟接口。(6).按应用来分类按应用来分类运行辅助接口。运行辅助接口。用户交互接口。用户交互接口。传感接口。传感接口。控制接口。控制接口。8/2/202415计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接8.1.3外设的识别与端口寻址外设的识别与端口寻址外外设设识识别别是是通通过过地地址址总总线线和和接接口口电电路路中中的的外外设设识识别别电电路路来来实实现现的的,输输入入输输出出设设备备的的端端口口地地址址就就是是主主机机与与外外设设直直接接通通信信的的地地址址
15、,CPU可可以以通通过过端口发送命令、读取状态和传送数据。端口发送命令、读取状态和传送数据。1.端口地址端口地址编址方式址方式I/O端端口口编编址址方方式式有有两两种种:一一种种是是I/O映映射射方方式式,即即把把I/O端端口口地地址址与与主主存存单单元元地地址址分分别别进进行行独独立立的的编编址址;另另一一种种是是存存储储器器映映射射方方式式,即即把把端端口口地址与主存单元地址地址与主存单元地址统一编址统一编址。8/2/202416计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(1)独立编址独立编址 主主存存地地址址空空间间和和I/O端端口口地
16、地址址空空间间是是相相对对独独立立的的,分分别别单单独独编编址址。比比如如,在在8086中中,其其主主存存地地址址范范围围是是从从00000HFFFFFH连连续续的的1MB,其其I/O端端口口的的地地址址范范围围从从0000HFFFFH,它它们们互互相相独独立立,互互不不影影响响。CPU访访问问主主存存时时,由由主主存存读读/写写控控制制线线控控制制;访访问问外外设设时时,由由I/O读读/写写控控制制线线控控制制,所所以以在在指指令令系系统统中中必必须须设设置置专专门门的的I/O指指令令(P78)(P78)。当当CPU使使用用I/O指指令令时时,其其指指令令的的地地址址字字段段直直接接或或间接
17、的指示出端口地址。间接的指示出端口地址。8/2/202417计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接(2)统一编址统一编址I/O端端口口地地址址和和主主存存单单元元的的地地址址是是统统一一编编址址的的,把把I/O接接口口中中的的端端口口作作为为主主存存单单元元一一样样进进行行访访问问,不设置专门的不设置专门的I/O指令指令。每每个个外外设设至至少少有有两两个个寄寄存存器器:控控制制状状态态寄寄存存器器和和数数据据缓缓冲冲寄寄存存器器,外外设设寄寄存存器器的的地地址址码码是是连连续续的的。在在PDP-11中中,把把主主存存的的高高4KB地地址
18、址空空间间留留给给外外设设接接口口寄寄存存器器和和CPU内内部部寄寄存存器器使使用用,这这4KB存储空间不允许用户再存放其他内存储空间不允许用户再存放其他内容。容。8/2/202418计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接例如,例如,PDP-11机分配给某些外机分配给某些外设寄存器的端口地址如下。设寄存器的端口地址如下。 纸带输入机:纸带输入机: 控制状态寄存器控制状态寄存器 177550Q 数据缓冲寄存器数据缓冲寄存器 177552Q 穿孔输入机:穿孔输入机: 控制状态寄存器控制状态寄存器 177554Q 数据缓冲寄存器数据缓冲寄存器
19、177556Q 控制台打字机:控制台打字机: 键盘控制状态寄存器键盘控制状态寄存器 177560Q 键盘数据寄存器键盘数据寄存器 177562Q 打印控制状态寄存器打印控制状态寄存器 177564Q 打印数据寄存器打印数据寄存器 177566Q 行式打印机:行式打印机: 控制状志寄存器控制状志寄存器 177514Q 数据缓冲寄存器数据缓冲寄存器 177516Q8/2/202419计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接2.独立编址方式的端口访问独立编址方式的端口访问Intel80x86最最多多可可直直接接寻址址256个个字字节端端口口,可可
20、间接接寻址址65536个个字节端口字节端口。任任意意两两个个连连续续的的8位位端端口口可可作作为为1个个16位位端端口口处处理理;四四个个连连续续的的8位位端端口口可可作作为为1个个32位位端端口口处处理理。因因此此,I/O地地址址空空间间最最多多能能提提供供64K个个8位位端端口口、32K个个16位位端端口口、16K个个32位位端端口口或或总总容容量量不不超过超过64KB的不同端口的组合。的不同端口的组合。8/2/202420计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接80x86的的专专用用I/O指指令令IN和和OUT有有直直接接寻寻址址和和
21、间间接接寻寻址址两两种种类类型型。直直接接寻寻址址I/O端端口口的的寻寻址址范范围围为为00FFH,至至多多为为256个个端端口口地地址址。这这时时程程序序可可以指定:以指定:编号编号0到到255的的256个个8位端口;位端口;编号编号0、2、4252、254的的128个个16位端口;位端口;编号编号0、4、8248、252的的64个个32位端口。位端口。8/2/202421计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接间间接接寻寻址址由由DX寄寄存存器器间间接接给给出出I/O端端口口地地址址。DX寄寄存存器器长长16位位,寻寻址址范范围围为为0
22、000FFFFH,最多可最多可寻址寻址216=64K个端口地址,这时程序可指定:个端口地址,这时程序可指定:编号编号0到到65535的的65536个个8位端口;位端口;编编号号0、2、465532、65534的的32768个个16位位端口;端口;编编号号0、4、865528、65532的的16384个个32位位端口。端口。8/2/202422计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接CPU一一次次可可实实现现字字节节(8位位)、字字(16位位)或或双双字字(32位位)的的数数据据传传送送,与与存存储储器器中中的的双双字字一一样样。32位位端端
23、口口应应对对准准可可被被4整整除除的的偶偶地地址址,与与存存储储器器中中的的字字一一样样,16位位端端口口应应对对准准偶偶地地址址,8位端口可定位在偶地址,也可定位在奇地址。位端口可定位在偶地址,也可定位在奇地址。8/2/202423计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接8.1.4输入输入/输出信息传送控制方式输出信息传送控制方式主主机机和和外外设设之之间间的的信信息息传传送送控控制制方方式式,经经历历了了由由低低级级到到高高级级、由由简简单单到到复复杂杂、由由集集中中管管理理到到各各部部件件分分散散管管理理的的发发展展过过程程,按按其其
24、发发展展的的先先后后次次序和主机与外设并行工作的程度,可以分为四种。序和主机与外设并行工作的程度,可以分为四种。8/2/202424计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接1.程序查询方式程序查询方式程程序序查查询询方方式式是是一一种种程程序序直直接接控控制制方方式式,这这是是主主机机与与外外设设间间进进行行信信息息交交换换的的最最简简单单方方式式,输输入入和和输输出出的的完完全全是是通通过过CPU去去执执行行相相应应的的程程序序来来实实现现的的。一一旦旦某某一一外外设设被被选选中中并并启启动动之之后后,主主机机将将查查询询这这个个外外设设
25、的的某某些些状状态态位位,看看其其是是否否准准备备就就绪绪?若若外外设设未未准准备备就就绪绪,主主机机将将再再次次查查询询;若若外外设已准备就绪,则执行一次设已准备就绪,则执行一次I/O操作。操作。8/2/202425计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接1.程序查询方式程序查询方式这这种种方方式式控控制制简简单单,但但外外设设和和主主机机不不能能同同时时工工作作,各各外外设设之之间间也也不不能能同同时时工工作作,系系统统效效率率很很低低,因因此此,仅仅适适用用于于外外设设的的数数目目不不多多,对对I/O处处理理的的实实时时要要求求不不那
26、那么么高高,CPU的的操操作作任任务务比比较较单单一一,并不很忙的情况。并不很忙的情况。8/2/202426计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接2.程序中断方式程序中断方式 在在主主机机启启动动外外设设后后,无无须须等等待待查查询询,而而是是继继续续执执行行原原来来的的程程序序,外外设设在在做做好好输输入入/输输出出准准备备时时,向向主主机机发发中中断断请请求求,主主机机接接到到请请求求后后就就暂暂时时中中止止原原来来执执行行的的程程序序,转转去去执执行行中中断断服服务务程程序序对对外外部部请请求求进进行行处处理理,在在中中断断处处理理
27、完完毕毕后后返返回回原原来来的的程程序继续执行。序继续执行。 显显然然,程程序序中中断断不不仅仅适适用用于于外外部部设设备备的的输输入入输输出出操操作作,也也适适用用于于对对外外界界发发生生的的随随机机事事件件的的处处理。理。8/2/202427计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接2.程序中断方式程序中断方式 程程序序中中断断在在信信息息交交换换方方式式中中处处于于最最重重要要的的地地位位,它它不不仅仅允允许许主主机机和和外外设设同同时时并并行行工工作作,并并且且允允许许一一台台主主机机管管理理多多台台外外设设。但但是是完完成成一一次次
28、程程序序中中断断需需要要许许多多辅辅助助操操作作,可可能能使使CPU应应接接不不暇暇;另另外外,对对于于一一些些高高速速外外设设,由由于于信信息息交交换换是是成成批批的的,如如果果处处理理不不及及时时,可可能能会会造造成成信信息息丢丢失失,因因此,它主要此,它主要适用于中、低速外设适用于中、低速外设。8/2/202428计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接3.直接存储器存取直接存储器存取(DMA)方式方式DMA方方式式是是在在主主存存储储器器和和外外部部设设备备之之间间开开辟辟直直接接的的数数据据通通路路,可可以以进进行行基基本本上上不
29、不需需要要CPU介介入入的的主主存存和和外外设设之之间间的的信信息息传传送送,这这样样不不仅仅能能保保证证CPU的高效率,而且能满足高速外设的需要。的高效率,而且能满足高速外设的需要。DMA方方式式只只能能进进行行简简单单的的数数据据传传送送操操作作,在在数数据据块块传传送送的的起起始始和和结结束束时时还还需需CPU及及中中断断系系统统进行预处理和后处理。进行预处理和后处理。8/2/202429计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接4.I/O通道控制方式通道控制方式I/O通通道道控控制制方方式式是是DMA方方式式的的进进一一步步发发展展,
30、在在系系统统中中设设有有通通道道控控制制部部件件,每每个个通通道道挂挂若若干干外外设设。主主机机在在执执行行I/O操操作作时时,只只需需启启动动有有关关通通道道,通道将执行通道程序,从而完成通道将执行通道程序,从而完成I/O操作。操作。通通道道是是一一个个具具有有特特殊殊功功能能的的处处理理器器,它它能能独独立立地地执执行行通通道道程程序序,产产生生相相应应的的控控制制信信号号,实实现现对对外外设设的的统统一一管管理理和和外外设设与与主主存存之之间间的的数数据据传传送送。但但它它不不是是一一个个完完全全独独立立的的处处理理机机,它它要要在在CPU的的I/O指指令令指指挥挥下下才才能能启启动动、
31、停停止止或或改改变变工工作作状状态态,是从属于是从属于CPU的一个专用处理器。的一个专用处理器。8/2/202430计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.1主机与外设的连接主机与外设的连接4.I/O通道控制方式通道控制方式一一个个通通道道执执行行输输入入/输输出出过过程程全全部部由由通通道道按按照照通通道道程程序序自自行行处处理理,不不论论交交换换信信息息多多少少,只只打打扰扰CPU两两次次(启启动动和和停停止止时时)。因因此此,主主机机、外外设设和和通通道道可可以以并并行行同同时时工工作作,而而且且一一个个通通道道可可以以控制多台不同类型的设备。控制多台不同类型的设备。
32、 目目前前,小小型型、微微型型计计算算机机大大多多采采用用程程序序查查询询方方式式、程程序序中中断断方方式式和和DMA方方式式;大大、中中型型机机多多采用通道方式。采用通道方式。8/2/202431计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口 程程序序查查询询方方式式的的核核心心问问题题在在于于需需要要不不断断地地查查询询I/O设备是否准备就绪。设备是否准备就绪。8.2.1程序查询方式程序查询方式1.程序查询的基本思想程序查询的基本思想由由CPU执执行行一一段段输输入入、输输出出程程序序来来实实现现主主机机与与外外设设之之间间的的数数据
33、据传传送送方方式式,叫叫做做程程序序直直接接控控制制方方式式。根根据据外外设设的的不不同同性性质质,这这种种传传送送方方式式又又可可分为无条件传送和程序查询方式两种。分为无条件传送和程序查询方式两种。8/2/202432计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口l在在无无条条件件传传送送方方式式中中,I/O端端口口总总是是准准备备好好接接收收主主机机的的输输出出数数据据,或或总总是是准准备备好好向向主主机机输输入入的的数数据据,因因而而CPU无无需需查查询询外外设设的的工工作作状状态态,而而默默认认外设始终处于准备就绪状态。外设始终处
34、于准备就绪状态。l许许多多外外设设的的工工作作状状态态是是很很难难事事先先预预知知的的,为为了了保保证证数数据据传传送送的的正正确确进进行行,就就要要求求CPU在在程程序序中中查查询询外外设设的的工工作作状状态态,如如果果外外设设尚尚未未准准备备就就绪绪,CPU就就等等待待,只只有有外外设设已已做做好好准准备备,CPU才才能能执执行行I/O指令,这就是指令,这就是程序查询方式。程序查询方式。8/2/202433计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(1)预置置传送参数送参数在在传送送数数据据之之前前,由由CPU执行行一一段段初初始
35、始化化程程序序,预置置传送送参参数数。传送送参参数数包包括括存存取取数数据据的的主主存存缓冲冲区区首首地地址址和和传送送数数据据的的个个数数。2.程序查询方式的工作流程程序查询方式的工作流程预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束8/2/202434计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口当当CPU选选中中某某台台外外设设时时,执执行行输输出出指指令令向向外外设设接接口口发发出出命命令令字字,启启动动外外设
36、设,为为接接收收数数据据或或发发送送数据的操作做准备。数据的操作做准备。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束(2)向外设接口发命令字向外设接口发命令字8/2/202435计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口CPU执执行行输输入入指指令令,从从外外设设接接口口中中取取回回状状态态字字并并进进行行测测试试,判判断断数数据据传传送送是是否可以进行。否可以进行。预置传送参数预置传送参数启动外设启动外设取外设
37、状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束(3)从外设接口取回状态字从外设接口取回状态字8/2/202436计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(4)查询外设标志查询外设标志CPU不不断断查查询询状状态态标标志志。如如果果外外设设没没有有准准备备就就绪绪,CPU就就踏踏步步等等待待,再再次次转转入入第第(3)步步,一一直直到到这这个个外外设设准准备备就就绪绪,并并发发出出“准准备备就就绪绪”信信号为止。号为止。预置传送参数预置传送参数启动外设启动外设
38、取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束8/2/202437计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(5)传送数据传送数据只只有有外外设设准准备备好好,才才能能实实现现主主机机与与外外设设间间的的一一次次数数据据传传送送。输输入入时时,CPU执执行行输输入入指指令令,从从外外设设接接口口的的数数据据缓缓冲冲寄寄存存器器中中接接收收数数据据;输输出出时时,CPU执执行行输输出出指指令令,将将数数据据写写入入外外设设接接口的数据缓冲寄存器。口的数据缓
39、冲寄存器。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束8/2/202438计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(6)修改传送参数修改传送参数每每进进行行一一次次数数据据传传送送,需需要要修修改改传传送送参参数数,其其中中包包括括主主存存缓缓冲冲区区地地址址加加1,传送个数减,传送个数减1。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪
40、外设准备就绪?传送完否传送完否?YYNN结束结束8/2/202439计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口(7)判判断断传传送送是是否否结结束束如如果果传传送送个个数数不不为为0,则则转转第第3步步,继继续续传传送送,直直到到传传送送结结束束为为止。止。预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束8/2/202440计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式
41、及其接口预置传送参数预置传送参数启动外设启动外设取外设状态取外设状态传送一次数据传送一次数据修改传送参数修改传送参数外设准备就绪外设准备就绪?传送完否传送完否?YYNN结束结束输出指令输出指令(OUT控制口控制口,AL)输入输入/输出指令输出指令(INAL,数据口数据口/OUT数据口数据口,AL)输入指令输入指令(INAL,状态口状态口)8/2/202441计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口8.2.2程序程序查询方式接口方式接口最最简单、经济的的I/O方式,只需很少的硬件。方式,只需很少的硬件。通通常常接接口口中中至至少少有有
42、两两个个寄寄存存器器,一一个个是是数数据据缓冲冲寄寄存存器器,即即数数据据端端口口,用用来来存存放放与与CPU进行行传送送的的数数据据信信息息,另另一一个个是是供供CPU查询的的设备状状态寄寄存存器器,即即状状态端端口口,这个个寄寄存存器器由由多多个个标志志位位组成成,其其中中最最重重要要的的是是设备准准备就就绪标志志。当当CPU得得到到这位位信信息息后后就就进行行判判断断,以以决决定定下下一一步步是是继续循循环等等待待还是是进行行I/O传送送,也也有有些些计算算机机仅设置置状状态标志触志触发器,其作用与设备状态寄存器相同。器,其作用与设备状态寄存器相同。8/2/202442计算机组成原理计算
43、机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口 图图8-3为为查查询询式式输输入入接接口口电电路路,图图中中Ready为为准准备备好好触触发发器器,它它对对应应于于设设备备状状态态寄寄存存器的器的D0位。位。在在输输入入设设备备准准备备好好数数据据时时,发发出出一一个个选选通通信信号号(STB),一一方方面面将将数数据据送送入入锁锁存存器器,同同时时将将Ready触触发发器器置置“1”,以以表表示示接接口口电电路路中中已已有有数数据据(即即准备就绪)。准备就绪)。8.2.2程序查询方式接口程序查询方式接口1.输入接口输入接口8/2/202443计算机组成原
44、理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及其接口8.2.2程序程序查询方式接口方式接口 CPU要要从从外外设设输输入入数数据据时时,先先执执行行输输入入指指令令读读取取状状态态字字,如如Ready=1,再再执执行行输输入入指指令令从从锁锁存存器器中中读读取取数数据据,同同时时把把Ready触触发发器器清清“0”,以以准准备备从从外外设设接接收收下下一一个个数数据据;如如Ready=0,则则踏踏步步等等待待,继继续续读读取取状状态态字字,直直至至Ready=1为止。为止。8/2/202444计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程
45、序查询方式及其接口程序查询方式及其接口图图8-4为为查查询询式式输输出出接接口口电电路路,图图中中Busy为为忙忙触触发发器器,对对应应于于设设备备状态寄存器的状态寄存器的D7位。位。输输出出时时,CPU首首先先执执行行输输入入指指令令读读取取状状志志字字,如如Busy=1,表表示示接接口口的的输输出出锁锁存存器器是是满满的的,CPU只只能能踏踏步步等等待待,继继续续读读取取状状态态字字,直直至至Busy=0为止;为止;8.2.2程序查询方式接口程序查询方式接口2.输出接口输出接口8/2/202445计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式
46、及其接口8.2.2程序程序查询方式接口方式接口如如Busy=0,表表示示接接口口的的输输出出锁锁存存器器是是空空的的,允允许许CPU向向外外设设发发送送数数据据。此此时时,CPU执执行行输输出出指指令令,将将数数据据送送 入入 寄寄 存存 器器 , 并并 将将Busy触触 发发 器器 置置 “1”。当当输输出出设设备备把把CPU送送来来的的数数据据真真正正输输出出之之后后,将将发发出出一一个个ACK信信号号,使使Busy触触发发器器置置“0”,以以准准备备下下一一次传送。次传送。8/2/202446计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.2程序查询方式及其接口程序查询方式及
47、其接口8.2.2程序程序查询方式接口方式接口若若有有多多个个外外设设需需要要用用查查询询方方式式工工作作时时,其其工工作作流流程程如如图图8-5所所示示。此此时时CPU巡巡回回检检测测各各个个外外设设,逐逐个个进进行行查查询询,发发现现哪哪个个外外设设准准备备就就绪绪,就就对对该该外外设设实实施施数数据据传传送送,然然后后再再对对下下一一外外设设查询,依次循环。查询,依次循环。8/2/202447计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式中中断断是是现现代代计计算算机机有有效效合合理理地地发发挥挥效效能能和和提提高高效效率率的的一
48、一个个十十分分重重要要的的功功能能。CPU中中通通常常设设有有处处理理中中断断的的机机构构中中断断系系统统,以以解解决决各各种种中中断断的的共共性性问问题题。本本节节主主要要分分析析中中断断系系统统的的功能,特别强调功能,特别强调I/O中断。中断。8/2/202448计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8.3.1中断的基本概念中断的基本概念1.中断的提出中断的提出程序查询方式存在着下列明显的缺点。程序查询方式存在着下列明显的缺点。在在查查询询过过程程中中,CPU长长期期处处于于踏踏步步等等待待状状态态,使系统使系统效率大大降
49、低效率大大降低。CPU在在一一段段时时间间内内只只能能和和一一台台外外设设交交换换信信息息,其它设备不能同时工作。其它设备不能同时工作。不不能能发发现现和和处处理理预预先先无无法法估估计计的的错错误误和和异异常常情情况。况。8/2/202449计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式为为了了提提高高输输入入/输输出出能能力力和和CPU的的效效率率,20世世纪纪50年代中期,中断传送方式被引进计算机系统。年代中期,中断传送方式被引进计算机系统。程程序序中中断断方方式式的的思思想想是是:CPU在在程程序序中中安安排排好好在在某某一一
50、时时刻刻启启动动某某一一台台外外设设,然然后后CPU继继续续执执行行原原来来程程序序,不不需需要要像像查查询询方方式式那那样样一一直直等等待待外外设设的的准准备备就就绪绪状态。状态。一一旦旦外外设设完完成成数数据据传传送送的的准准备备工工作作(输输入入设设备备的的数数据据准准备备好好或或输输出出设设备备的的数数据据缓缓冲冲器器空空)时时,便便主主动动向向CPU发出一个中断请求,请求发出一个中断请求,请求CPU为自己服务。为自己服务。8/2/202450计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式启动启动工作工作工作工作完成完成完成完
51、成响应响应响应响应中中断断请请求求中中断断请请求求中中断断返返回回中中断断返返回回外部设备外部设备中断服务程序中断服务程序现行程序现行程序CPU在在可可以以响响应应中中断断的的条条件件下下,CPU暂暂时时中中止止正正在在执执行行的的程程序序,转转去去执执行行中中断断服服务务程程序序为为中中断断请请求求者者服服务务,在在中中断断服服务务程程序序中中完完成成一一次次主主机机与与外外设设之之间间的的数数据据传传送送,传传送送完完成成后后,CPU仍仍返返回回原原来来的的程序,从断点处继续执行。下图给出了程序中断方式的程序,从断点处继续执行。下图给出了程序中断方式的示意图。示意图。8/2/202451计
52、算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式从从图图8-6中中可可以以看看到到,中中断断方方式式在在一一定定程程度度上上实实现现了了CPU和和外外设设的的并并行行工工作作,使使CPU的的效效率率得得到到充充分分的的发发挥挥。不不仅仅如如此此,由由于于中中断断的的引引入入,还还能能使使多多个个外外设设并并行行工工作作,CPU根根据据需需要要可可以以启启动动多个外设,被启动的外设分别同时独立地工作。多个外设,被启动的外设分别同时独立地工作。现现代代计计算算机机,无无论论是是巨巨型型机机、大大型型机机、小小型型机还是微型机无不具有中断能力。
53、机还是微型机无不具有中断能力。中中断断系系统统是是计计算算机机实实现现中中断断功功能能的的软软、硬硬件件总总称称。一一般般在在CPU中中配配置置中中断断机机构构,在在外外设设接接口口中中配配置置中中断断控控制制器器,在在软软件件上上设设计计相相应应的的中中断断服服务程序务程序。8/2/202452计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式2.程序中断与调用子程序的区别程序中断与调用子程序的区别表表面面上上看看起起来来,计计算算机机的的中中断断处处理理过过程程有有点点类类似似于于调调用用子子程程序序的的过过程程,这这里里现现行行程程
54、序序相相当当于于主主程程序序,中中断断服服务务程程序序相相当当于于子子程程序序。但但是是,它它们之间却是有着本质上的区别的。们之间却是有着本质上的区别的。8/2/202453计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式子子程程序序的的执执行行是是由由程程序序员员事事先先安安排排好好的的(由由一一条条调调用用子子程程序序指指令令转转入入),而而中中断断服服务务程程序序的的执执行则是由随机的中断事件引起的;行则是由随机的中断事件引起的;子子程程序序的的执执行行受受到到主主程程序序或或上上层层子子程程序序的的控控制制,而而中中断断服服务务
55、程程序序一一般般与与被被中中断断的的现现行行程程序序毫毫无无关关系;系;不不存存在在同同时时调调用用多多个个子子程程序序的的情情况况,而而有有可可能能发生多个外设同时请求发生多个外设同时请求CPU为自己服务的情况。为自己服务的情况。8/2/202454计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式3.中断的基本类型中断的基本类型(1)自愿中断和强迫中断自愿中断和强迫中断自自愿愿中中断断又又称称程程序序自自中中断断,它它不不是是随随机机产产生生的的中中断断,而而是是在在程程序序中中安安排排的的有有关关指指令令,这这些些指指令令可可以以使
56、使机机器器进进入入中中断断处处理理的的过过程程,如如:80X86指令系统中的软件中断指令指令系统中的软件中断指令INTn等。等。强强迫迫中中断断是是随随机机产产生生的的中中断断,不不是是程程序序中中事事先先安安排排好好的的。当当这这种种中中断断产产生生后后,由由中中断断系系统统强强迫计算机中止现行程序并转入中断服务程序。迫计算机中止现行程序并转入中断服务程序。8/2/202455计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(2)程序中断和简单中断程序中断和简单中断程程序序中中断断就就是是我我们们前前面面提提到到的的中中断断,主主机机
57、在在响响应应中中断断请请求求后后,通通过过执执行行一一段段中中断断服服务务程程序序来来处理更紧迫的任务。处理更紧迫的任务。简简单单中中断断就就是是外外设设与与主主存存间间直直接接进进行行信信息息交交换换的的方方法法,即即DMA方方式式。这这种种“中中断断”不不去去执执行行中中断断服服务务程程序序,故故不不破破坏坏现现行行程程序序的的状状态态。主主机机发发现现有有简简单单中中断断请请求求(也也就就是是DMA请请求求)时时,将将让让出出一一个个或或几几个个存存取取周周期期供供外外设设与与主主存存交交换换信信息息,然后继续执行程序。然后继续执行程序。8/2/202456计算机组成原理计算机组成原理计
58、算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(3)内中断和外中断内中断和外中断内内中中断断是是指指由由于于CPU内内部部硬硬件件或或软软件件原原因因引引起的中断。起的中断。外中断外中断是指是指CPU以外的部件引起的中断。以外的部件引起的中断。(4)向量中断和非向量中断向量中断和非向量中断向向量量中中断断是是指指那那些些中中断断服服务务程程序序的的入入口口地地址址是是由由中中断断事事件件自自己己提提供供的的中中断断。中中断断事事件件在在提提出出中中断断请请求求的的同同时时,通通过过硬硬件件向向主主机机提提供供中中断断服服务务程序入口地址,即向量地址程序入口地址,即
59、向量地址。8/2/202457计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式非非向向量量中中断断的的中中断断事事件件不不能能直直接接提提供供中中断断服服务程序的入口地址,而由务程序的入口地址,而由CPU查询之后得到。查询之后得到。(5)单重中断和多重中断单重中断和多重中断单单重重中中断断在在CPU执执行行中中断断服服务务程程序序的的过过程程中中不能被再打断。不能被再打断。多多重重中中断断在在执执行行某某个个中中断断服服务务程程序序的的过过程程中中,CPU可可去去响响应应级级别别更更高高的的中中断断请请求求,又又称称为为中中断断嵌套嵌套
60、。8/2/202458计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8.3.2中断中断请求求和中断判优和中断判优1.中断源和中断中断源和中断请求求信号信号中中断断源源是是指指中中断断的的来来源源,即即任任何何引引起起计算算机机中中断断的的事事件件,通通常常计算算机机都都有有多多个个中中断断源源。由由于于每每个个中中断断源源向向CPU发出出中中断断请求求的的时间是是随随机机的的,为了了记录中中断断事事件件并并区区分分不不同同的的中中断断源源,可可采采用用具具有有存存储功功能能的的触触发器器来来记录中中断断源源,称称为中中断断请求求触触发
61、器器。当当某某一一个个中中断断源源有有中中断断请求求时,其其相相应的的中中断断请求求触触发器器置置成成“1”状状态,此此时时,该该中中断断源源向向CPU发出中断请求信号。发出中断请求信号。8/2/202459计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式多多个个中中断断请请求求触触发发器器构构成成一一个个中中断断请请求求寄寄存存器器,其其中中每每一一位位对对应应一一个个中中断断源源,中中断断请请求求寄寄存存器器的的内内容容称称为为中中断断字字或或中中断断码码,中中断断字字中中为为“1”的位就表示对应的中断源有中断请求。的位就表示对应的
62、中断源有中断请求。8/2/202460计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式2.中断请求信号的传送中断请求信号的传送(1)独立请求线独立请求线每每个个中中断断源源单单独独设设置置中中断断请请求求线线,将将中中断断请请求求信信号号直直接接送送往往CPU,如如右右图图所所示示。这这种种方方式式的的特特点点是是CPU在在接接到到中中断断请请求求的的同同时时也也就就知知道道了了中中断断源源是是谁谁,其其中中断服务程序的入口地址在哪里。断服务程序的入口地址在哪里。8/2/202461计算机组成原理计算机组成原理计算机组成原理计算机组成原
63、理8.3中断系统和程序中断方式中断系统和程序中断方式(2)公共请求线公共请求线多多个个中中断断源源共共有有一一根根公公共共请请求求线线,如如下下图图所所示示。这这种种方方式式的的特特点点是是在在负负载载允允许许的的情情况况下下,中中断断源源的的数数目目可可随随意意扩扩充充,但但CPU在在接接到到中中断断请请求求后后,必必须须通通过过软软件件或或硬硬件件的的方方法法来来识识别别中中断断源源,然然后后再再找找出出中中断断服服务务程程序序的的入口地址。入口地址。8/2/202462计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(3)二维结构
64、二维结构将将中中断断请请求求线线连连成成二二维维结结构构,同同一一优优先先级级别别的的中中断断源源,采采用用一一根根公公共共的的请请求求线线,不不同同请请求求线线上上的的中中断断源源优优先先级级别别不不同同,这这种种方方式式综综合合了了前前两两种种方方式式的的优优点点,在在中中断断源源较较多多的的系系统统中中常常采采用这种方式。用这种方式。8/2/202463计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式3.中断优先级与判优方法中断优先级与判优方法当当多多个个中中断断源源同同时时发发出出中中断断请请求求时时,CPU在在任任何何瞬瞬间间
65、只只能能接接受受一一个个中中断断源源的的请请求求。通通常常,把把全全部部中中断断源源按按中中断断的的性性质质和和处处理理的的轻轻重重缓缓急急安安排排优优先先级级,并并进进行排队。行排队。 确确定定中中断断优优先先级级的的原原则则是是:对对那那些些提提出出中中断断请请求求后后需需要要立立刻刻处处理理,否否则则就就会会造造成成严严重重后后果果的的中中断断源源规规定定最最高高的的优优先先级级;而而对对那那些些可可以以延延迟迟响响应应和和处处理理的的中中断断源源规规定定较较低低的的优优先先级级。如如故故障障中中断断一一般般优优先先级级较较高高,接接着着才才是是I/O设设备备中中断断。而而在在I/O设设
66、备备中中又又可可以以根根据据各各个设备的速度来决定优先级。个设备的速度来决定优先级。8/2/202464计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式每每个个中中断断源源均均有有一一个个为为其其服服务务的的中中断断服服务务程程序序,每每个个中中断断服服务务程程序序都都有有与与之之对对应应的的优优先先级级别别。另另外外,CPU正正在在执执行行的的程程序序也也有有优优先先级级。只只有有当当某某个个中中断断源源的的优优先先级级别别高高于于CPU现现在在的的优优先先级级时时,才能中止才能中止CPU执行现在的程序。执行现在的程序。中断判优的方法
67、可分为下列两种:中断判优的方法可分为下列两种:8/2/202465计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(1)软件判优法软件判优法软软件件判判优优法法,就就是是用用程程序序来来判判别别优优先先级级,这这是是最最简简单单的的中中断断判判优优方方法法。右右图图是是软软件件判判优优的的流程图。流程图。8/2/202466计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式当当CPU接接到到中中断断请请求求信信号号后后,就就执执行行查查询询程程序序,逐逐个个检检测测中中断断请请求求
68、寄寄存存器器的的各各位位状状态态,检检测测顺顺序序是是按按优优先先级级的的大大小小排排列列的的,最最先先检检测测到到的的中中断断源源具具有有最最高高的的优优先先级级,其其次次检检测测到到的的中中断断源源具具有有次次高高优优先先级级,如如此此下下去去,最最后后检检测测的的中中断断源源具具有最低的优先级。有最低的优先级。显显然然,软软件件判判优优是是与与识识别别中中断断源源结结合合在在一一起起的的,当当查查询询到到中中断断请请求求信信号号的的发发出出者者,也也就就是是找找到到了了中中断断源源,程程序序立立即即可可以以转转入入对对应应的的中中断断服服务务程序中去。程序中去。8/2/202467计算机
69、组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(2)硬件判优电路硬件判优电路采采用用硬硬件件实实现现中中断断优优先先级级判判定定可可节节省省CPU时时间,而且速度快,但是成本较高。间,而且速度快,但是成本较高。根根据据中中断断请请求求信信号号的的传传送送方方式式不不同同,有有不不同同的优先排队电路,常见的有以下几种方案。的优先排队电路,常见的有以下几种方案。独立请求线的优先排队电路独立请求线的优先排队电路公共请求线的优先排队电路公共请求线的优先排队电路8/2/202468计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统
70、和程序中断方式中断系统和程序中断方式8.3.3中断响应和中断处理中断响应和中断处理1.CPU响应中断的条件响应中断的条件(1)CPU接收到中断请求信号接收到中断请求信号首首先先中中断断源源要要发发出出中中断断请请求求,同同时时CPU还还要要接收到这个中断请求信号。接收到这个中断请求信号。(2)CPU允许中断允许中断CPU允允许许中中断断即即开开中中断断。CPU内内部部有有一一个个中中断断允允许许触触发发器器,只只有有当当其其被被置置位位时时,CPU才才可可能能响响应应中中断断源源的的中中断断请请求求(中中断断开开放放)。如如其其被被复复位位,CPU处处于于不不可可中中断断状状态态,即即使使中中
71、断断源源有有中中断断请求,请求,CPU也不响应(中断关闭)。也不响应(中断关闭)。8/2/202469计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(3)一条指令执行完毕一条指令执行完毕一一般般情情况况下下,CPU在在一一条条指指令令执执行行完完毕毕,且且没有没有更紧迫的任务时才能响应中断请求。更紧迫的任务时才能响应中断请求。2.中断隐指令中断隐指令CPU响响应应中中断断之之后后,经经过过某某些些操操作作,转转去去执执行行中中断断服服务务程程序序。这这些些操操作作是是由由硬硬件件直直接接实实现现的的,我我们们把把它它称称为为中中断断隐
72、隐指指令令。中中断断隐隐指指令令并并不不是是指指令令系系统统中中的的一一条条真真正正的的指指令令,它它没没有有操操作作码码,所所以以中中断断隐隐指指令令是是一一种种不不允允许许、也也不不可可能能为为用用户户使使用的特殊指令用的特殊指令。其所完成的操作主要有:。其所完成的操作主要有:8/2/202470计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(1)保存断点保存断点将将原原来来程程序序的的断断点点(即即程程序序计计数数器器PC的的内内容容)保存起来。保存起来。(2)暂不允许中断暂不允许中断为为了了在在用用软软件件保保护护中中断断现现
73、场场(即即CPU的的主主要要寄寄存存器器状状态态)时时,不不被被新新的的中中断断所所打打断断,从从而而保保证证被被中中断断的的程程序序在在中中断断服服务务程程序序执执行行完完毕毕之之后后能能接接着着正正确地执行下去。确地执行下去。(3)引出中断服务程序引出中断服务程序引引出出中中断断服服务务程程序序的的实实质质就就是是取取出出中中断断服服务务程程序的入口地址送程序计数器。序的入口地址送程序计数器。8/2/202471计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式3.中断周期中断周期以以上上几几个个基基本本操操作作在在不不同同的的计计算
74、算机机系系统统中中的的处处理理方方法法是是各各异异的的。通通常常,在在组组合合逻逻辑辑控控制制的的计计算算机机中中,专专门门设设置置了了一一个个中中断断周周期期来来完完成成中中断断隐隐指指令令的的任任务务。在在微微程程序序控控制制的的计计算算机机中中,则则专专门门安安排排有有一一段微程序来完成中断隐指令的这些操作。段微程序来完成中断隐指令的这些操作。假假设设将将断断点点存存至至主主存存的的0号号单单元元,且且采采用用硬硬件件向向量量中中断断法法寻寻找找中中断断服服务务程程序序的的入入口口地地址址(向向量量地地址址=中中断断服服务务程程序序的的入入口口地地址址),则则在在中中断断周周期期需需完成
75、如下操作:完成如下操作:8/2/202472计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式3.中断周期中断周期 将将特特定定地地址址“0”送送至至存存储储器器地地址址寄寄存存器器,记记作作0MAR; 将将 PC的的 内内 容容 ( 断断 点点 ) 送送 至至 MDR, 记记 作作(PC)MDR; 向向主主存存发发写写命命令令,启启动动存存储储器器做做写写操操作作,记记作作Write; 将将MDR的的内内容容通通过过数数据据总总线线写写入入到到MAR所所指指示示的主存单元(的主存单元(0号)中,记作号)中,记作MDRM(MAR);8/2
76、/202473计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式 向向量量地地址址形形成成部部件件的的输输出出送送至至PC,为为进进入入中中断断服务程序作准备,记作服务程序作准备,记作向量地址向量地址PC; 关中断,将中断允许触发器清关中断,将中断允许触发器清0,记作,记作0EINT。如如果果断断点点存存入入堆堆栈栈,只只需需将将上上述述改改为为堆堆栈栈指针指针SPMAR。8/2/202474计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式4.进入中断服务程序进入中断服务程序识识别
77、别中中断断源源在在于于转转入入为为该该中中断断源源专专门门设设置置的的中中断服务程序断服务程序。向向量量中中断断时时,中中断断源源向向CPU发发出出中中断断请请求求信信号号之之后后,CPU经经过过一一定定的的判判优优处处理理,若若决决定定响响应应这这个个中中断断请请求求,则则向向中中断断源源发发出出中中断断响响应应信信号号。中中断断源源接接到到中中断断响响应应信信号号后后就就通通过过自自己己的的向向量量地地址址发发生生器器向向CPU发送向量地址。发送向量地址。8/2/202475计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式工作完成工
78、作完成允许中断允许中断发中断请求发中断请求中断优先级中断优先级判定选优判定选优中断响应中断响应识别中断源识别中断源向量地址向量地址形成形成现场处理现场处理启动中断启动中断服务程序服务程序向量地址向量地址_INTRINTA中断源中断源CPU工作完成工作完成允许中断允许中断发中断请求发中断请求中断优先级中断优先级判定选优判定选优中断响应中断响应识别中断源识别中断源向量地址向量地址形成形成现场处理现场处理启动中断启动中断服务程序服务程序8/2/202476计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式向量地址通常有两种情况:向量地址通常有两
79、种情况:(1)向量地址是中断服务程序的入口地址向量地址是中断服务程序的入口地址如如果果向向量量地地址址就就是是中中断断服服务务程程序序的的入入口口地地址址,则则CPU不不需需要要再再经经过过处处理理就就可可以以进进入入相相应应的的中中断断服务程序。服务程序。PC8NNN转中断服务程序入口地址转中断服务程序入口地址由由此此可可见见,中中断断服服务务程程序序的的入入口口地地址址依依次次是是00H、08H、10H、38H。8/2/202477计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式(2)向量地址是中断向量表的指针向量地址是中断向量表的
80、指针如如果果向向量量地地址址是是中中断断向向量量表表的的指指针针,则则向向量量地地址址指指向向一一个个中中断断向向量量表表,从从中中断断向向量量表表的的相相应应单单元元中中再再取取出出中中断断服服务务程程序序的的入入口口地地址址,此此时时中中断断源源给给出出的的向向量量地地址址是是中中断断服服务务程程序序入入口口地地址址的的地址。地址。8/2/202478计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8/2/202479计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式5.中断现
81、场的保护和恢复中断现场的保护和恢复 中中断断现现场场指指的的是是发发生生中中断断时时CPU的的主主要要状状态态,其其中中最最重重要要的的是是断断点点,另另外外还还有有一一些些通通用用寄寄存存器器的的状状态态。之之所所以以需需要要保保护护和和恢恢复复现现场场的的原原因因是是因因为为CPU要要先先后后执执行行两两个个完完全全不不同同的的程程序序(现现行行程程序序和和中中断断服服务务程程序序),必必须须进进行行两两种种程程序序运运行行状状态态的的转转换换。一一般般来来说说,在在中中断断隐隐指指令令中中,CPU硬硬件件将将自自动动保保存存断断点点,有有些些计计算算机机还还自自动动保保存存程程序序状状态
82、态寄寄存存器器的的内内容容。但但是是,在在许许多多应应用用中中,要要保保证证中中断断返返回回后后原原来来的的程程序序能能正正确确地地继继续续运运行行,仅仅保存这一、二个寄存器的内容是不够的。保存这一、二个寄存器的内容是不够的。8/2/202480计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式 为为此此,在在中中断断服服务务程程序序开开始始时时,应应由由软软件件去去保保存存那那些些硬硬件件没没有有保保存存,而而在在中中断断服服务务程程序序中中又又可可能能用用到到的的寄寄存存器器(如如某某些些通通用用寄寄存存器器)的的内内容容,在中断返回
83、之前,这些内容还应该被恢复。在中断返回之前,这些内容还应该被恢复。 现现代代计计算算机机一一般般都都先先采采用用硬硬件件方方法法来来自自动动快快速速的的保保护护和和恢恢复复部部分分重重要要的的现现场场,其其余余寄寄存存器器的的内内容容再再由由软软件件完完成成保保护护和和恢恢复复,这这种种方方法法的的硬硬件件支持是堆栈支持是堆栈。 8/2/202481计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8/2/202482计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8.3.4多重中
84、断与中断屏蔽多重中断与中断屏蔽1.中断嵌套中断嵌套中中断断嵌嵌套套的的层层次次可可以以有有多多层层,越越在在里里层层的的中中断断越越急迫,优先级越高,因此优先得到急迫,优先级越高,因此优先得到CPU的服务。的服务。要要使使计计算算机机具具有有多多重重中中断断的的能能力力,首首先先要要能能保保护护多多个个断断点点,先先发发生生的的中中断断请请求求的的断断点点,先先保保护护后后恢恢复复;后后发发生生的的中中断断请请求求的的断断点点,后后保保护护先先恢恢复复,堆堆栈栈的的先先进进后后出出特特点点正正好好满满足足多多重重中中断断这这一一先先后后次次序序的的需需要要。在在CPU进进入入某某一一中中断断服
85、服务务程程序序之之后后,系系统统必必须须处处于于开开中断状态,否则中断嵌套是不可能实现的。中断状态,否则中断嵌套是不可能实现的。8/2/202483计算机组成原理计算机组成原理计算机组成原理计算机组成原理现行程序中断服务程序1中断服务程序2 第一次中断请求 优先 级别 更高的 中断请求8.3中断系统和程序中断方式中断系统和程序中断方式8/2/202484计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式2.允许和禁止中断允许和禁止中断允允许许中中断断还还是是禁禁止止中中断断是是用用CPU中中的的中中断断允允许许触触发发器器控控制制的的,当
86、当中中断断允允许许触触发发器器被被置置“1”,则则允允许许中中断断,当当中中断断允允许许触触发发器器被被置置“0”,则则禁禁止中断。止中断。允许中断即开中断,下列情况时允许中断即开中断,下列情况时应开中断应开中断:在在中中断断服服务务程程序序执执行行完完毕毕,恢恢复复中中断断现现场场之后;之后;在多重中断的情况下,保护中断现场之后。在多重中断的情况下,保护中断现场之后。8/2/202485计算机组成原理计算机组成原理计算机组成原理计算机组成原理禁止中断即关中断,下列情况时禁止中断即关中断,下列情况时应关中断应关中断:当当响响应应某某一一级级中中断断请请求求,不不再再允允许许被被其其他他中断请求
87、打断时;中断请求打断时;在中断服务程序的保护和恢复现场之前。在中断服务程序的保护和恢复现场之前。3.中断屏蔽中断屏蔽中中断断源源发发出出中中断断请请求求之之后后,这这个个中中断断请请求求并并不不一一定定能能真真正正送送到到CPU去去,在在有有些些情情况况下下,可可以以用用程程序序方方式式有有选选择择地地封封锁锁部部分分中中断断,这这就就是是中中断断屏蔽。屏蔽。8.3中断系统和程序中断方式中断系统和程序中断方式8/2/202486计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式 如如果果给给每每个个中中断断源源都都相相应应地地配配备备一一
88、个个中中断断屏屏蔽蔽触触发发器器MASK,则则每每个个中中断断请请求求信信号号在在送送往往判判优优电电路路之之前前,还还要要受受到到屏屏蔽蔽触触发发器器的的控控制制。当当MASK=1,表表示示对对应应中中断断源源的的请请求求被被屏屏蔽蔽(封封锁锁其其中中断断源源的的请请求求),可可见见中中断断请请求求触触发发器器和和中中断断屏屏蔽蔽触触发发 器器 是是 成成 对对 出出 现现 的的 , 只只 有有 当当INTRi=1(中中断断源源有有中中断断请请求求),MASKi=0(该该级级中中断断未未被被屏屏蔽蔽),才允许对应的中断请求送往才允许对应的中断请求送往CPU。8/2/202487计算机组成原理
89、计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式 在在中中断断接接口口电电路路中中,多多个个屏屏蔽蔽触触发发器器组组成成一一个个屏屏蔽蔽寄寄存存器器,其其内内容容称称为为屏屏蔽蔽字字或或屏屏蔽蔽码码,由由程程序序来来设设置置。屏屏蔽蔽字字某某一一位位的的状状态态将将成成为为本本中中断断源能否真正发出中断请求信号的必要条件之一。源能否真正发出中断请求信号的必要条件之一。这这样样,就就可可实实现现CPU对对中中断断处处理理的的控控制制,使使中中断断能能在在系系统统中中合合理理协协调调地地进进行行。中中断断屏屏蔽蔽寄寄存存器器的的作作用用:用用程程序序设设
90、置置的的方方法法将将屏屏蔽蔽寄寄存存器器中中的的某某一一位位置置“1”,则则对对应应的的中中断断请请求求被被封封锁锁,无无法法去去参参加加排排队队判判优优;若若屏屏蔽蔽寄寄存存器器中中的的某某一一位位置置“0”,才允许对应的中断请求送往,才允许对应的中断请求送往CPU。8/2/202488计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式 1 8/2/202489计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式如如一一个个中中断断系系统统有有16个个中中断断源源,每每一一个个中中断
91、断源源按按其其优优先先级级别别赋赋予予一一个个屏屏蔽蔽字字。“0”表表示示开开放放,“1”表示屏蔽。表示屏蔽。第第1级级中中断断源源的的优优先先级级别别最最高高,它它禁禁止止本本级级和和更更低低级级的的中中断断请请求求;第第16级级中中断断源源的的优优先先级级别别最最低低,它它仅仅禁禁止止本本级级的的中中断断请请求求,而而对对其其他他高高级级的的中中断断请请求全部开放。求全部开放。中断源的优先级中断源的优先级屏蔽字(屏蔽字(16位)位)12315161111110111110011110000110000018/2/202490计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断
92、系统和程序中断方式中断系统和程序中断方式4.中断升级中断升级中中断断屏屏蔽蔽字字的的另另一一个个作作用用是是可可以以改改变变中中断断优优先先级级,将将原原级级别别较较低低的的中中断断源源变变成成较较高高的的级级别别,我我们们称称之之为为中中断断升升级级。这这实实际际上上是是一一种种动动态态改改变变优先级的方法。优先级的方法。这这里里所所说说的的改改变变优优先先次次序序是是指指改改变变中中断断的的处处理理次次序序。中中断断处处理理次次序序和和中中断断响响应应次次序序是是两两个个不不同同的的概概念念,中中断断响响应应次次序序是是由由硬硬件件排排队队电电路路决决定定的的,无无法法改改变变。但但是是,
93、中中断断处处理理次次序序是是可可以以由由屏屏蔽蔽码码来来改改变变的的,故故把把屏屏蔽蔽码码看看成成软软排排队队器器。中中断断处理次序可以不同于中断响应次序。处理次序可以不同于中断响应次序。8/2/202491计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式例例如如,某某计计算算机机的的中中断断系系统统有有4个个中中断断源源,每每个个中中断断源源对对应应一一个个屏屏蔽蔽码码。中中断断响响应应的的优优先先次次序序为为1234。中中断断的的处处理理次次序序和和中中断断的的响响应应次次序序是是一一致致的。的。程序程序级别级别屏屏蔽蔽码码1级级2
94、级级3级级4级级第第1级级第第2级级第第3级级第第4级级10001100111011118/2/202492计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式根根据据这这一一次次序序,可可以以看看到到CPU运运动动的的轨轨迹迹,当当多多个个中中断断请请求求同同时时出出现现时时,处处理理次次序序与与响响应应次次序序一一致致;当当中中断断请请求求先先后后出出现现时时,允允许许优优先先级级别别高高的的中中断断请请求求打断优先级别低的中断服务程序,实现中断嵌套。打断优先级别低的中断服务程序,实现中断嵌套。中断服务中断服务程序程序现行程序现行程序8
95、/2/202493计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式在在不不改改变变中中断断响响应应次次序序的的条条件件下下,通通过过改改写写屏屏蔽蔽码码可可以以改改变变中中断断处处理理次次序序,例例如如,要要使使中中断断处处 理理 次次 序序 改改 为为1432。程序级程序级别别屏屏蔽蔽码码1级级2级级3级级4级级第第1级级第第2级级第第3级级第第4级级10001111101110018/2/202494计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式在在同同样样中中断断请请求求
96、的的情情况况下下,CPU的的运运动动轨轨迹迹发生了变化发生了变化。中断服务中断服务程序程序现行程序现行程序8/2/202495计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8.3.5中断全过程中断全过程中中断断全全过过程程是是指指从从中中断断源源发发出出中中断断请请求求开开始始,CPU响响应应这这个个请请求求,现现行行程程序序被被中中断断,转转至至中中断断服服务务程程序序,直直至至中中断断服服务务程程序序执执行行完完毕毕,CPU再再返返回原来的程序继续执行的整个过程。回原来的程序继续执行的整个过程。中断全过程分为五个阶段:中断全过程分
97、为五个阶段:中中断断请请求求、中中断断判判优优、中中断断响响应应、中中断断处处理理、中断返回中断返回。8/2/202496计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式其其中中中中断断处处理理就就是是执执行行中中断断服服务务程程序序,中中断断服服务务程程序序基基本本上上由由三三部部分分组组成成,第第一一部部分分为为准准备备部部分分,其其基基本本功功能能是是保保护护现现场场,对对于于非非向向量量中中断断方方式式则则需需要要确确定定中中断断源源,最最后后开开放放中中断断,允允许许更更高高级级的的中中断断请请求求打打断断低低级级的的中中断断
98、服服务务程程序序。第第二二部部分分为为处处理理部部分分,即即真真正正执执行行为为某某个个中中断断源源服服务务的的中中断断服服务务程程序序。第第三三部部分分为为结结尾尾部部分分,首首先先要要关关中中断断,以以防防止止在在恢恢复复现现场场过过程程中中被被新新的的中中断断打打断断,接接着着恢恢复复现现场场,然然后后开开放放中中断断,以以便便返返回回原原来来的的程程序序后后可可响响应应其其它它的的中断请求。中断请求。8/2/202497计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.3中断系统和程序中断方式中断系统和程序中断方式8/2/202498计算机组成原理计算机组成原理计算机组成原理
99、计算机组成原理8.4DMA方式及其接口方式及其接口8.4.1DMA方式的基本概念方式的基本概念1.DMA方式的特点方式的特点无无论论程程序序查查询询还还是是程程序序中中断断方方式式,主主要要的的工工作作都都是是由由CPU执执行行程程序序完完成成的的,这这需需要要花花费费时时间间,因此不能实现高速外设与主机的信息交换。因此不能实现高速外设与主机的信息交换。直直接接存存储储器器访访问问DMA方方式式是是在在外外设设和和主主存存储储器器之之间间开开辟辟一一条条“直直接接数数据据通通道道”,在在不不需需要要CPU干干预预也也不不需需要要软软件件介介入入的的情情况况下下在在两两者者之之间间进行的高速数据
100、传送方式。进行的高速数据传送方式。8/2/202499计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口在在DMA传传送送方方式式中中,对对数数据据传传送送过过程程进进行行控控制制的的硬硬件件称称为为DMA控控制制器器。当当外外设设需需要要进进行行数数据据传传送送时时,通通过过DMA控控制制器器向向CPU提提出出DMA传传送送请请求求,CPU响响应应之之后后将将让让出出系系统统总总线线,由由DMA控制器接管总线进行数据传送。控制器接管总线进行数据传送。DMA方式具有下列特点:方式具有下列特点:它它使使主主存存与与CPU的的固固定定联联系系脱脱钩钩,主主
101、存存既可被既可被CPU访问,又可被外设访问访问,又可被外设访问。8/2/2024100计算机组成原理计算机组成原理计算机组成原理计算机组成原理在在数数据据块块传传送送时时,主主存存地地址址的的确确定定,传传送送数据的计数等等都用硬件电路直接实现。数据的计数等等都用硬件电路直接实现。主主存存中中要要开开辟辟专专用用缓缓冲冲区区,及及时时供供给给和和接接收外设的数据。收外设的数据。DMA传传送送速速度度快快,CPU和和外外设设并并行行工工作作,提高了系统的效率。提高了系统的效率。DMA在在开开始始前前和和结结束束后后要要通通过过程程序序和和中中断断方式进行预处理和后处理方式进行预处理和后处理。8.
102、4DMA方式及其接口方式及其接口8/2/2024101计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口2.DMA和中断的区别和中断的区别两者的重要区别为:两者的重要区别为:中中断断方方式式是是程程序序切切换换,需需要要保保护护和和恢恢复复现现场场;而而DMA方方式式除除了了开开始始和和结结尾尾时时,不不占占用用CPU的的任任何何资资源。源。对对中中断断请请求求的的响响应应只只能能发发生生在在每每条条指指令令执执行行完完毕毕时时;而而对对DMA请请求求的的响响应应可可以以发发生生在在每每个个机机器器周周期结束时。期结束时。取指令取指令取源操作数取源操作
103、数取目的操作数取目的操作数执行执行中断中断断点断点DMA断点断点中断中断断点断点DMA断点断点8/2/2024102计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口中中断断传传送送过过程程需需要要CPU的的干干预预;而而DMA传传送送过过程程不不需需要要CPU的的干干预预,故故数数据据传传送送速速率率非非常常高,适合于高速外设的成组数据传送。高,适合于高速外设的成组数据传送。DMA请求的优先级高于中断请求请求的优先级高于中断请求。中中断断方方式式具具有有对对异异常常事事件件的的处处理理能能力力;而而DMA方式仅局限于完成传送信息块的方式仅局限于完成传
104、送信息块的I/O操作操作。8/2/2024103计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口8.4.2DMA接口接口(DMA控制器)控制器)1.DMA控制器的功能控制器的功能在在DMA传传送送过过程程中中,DMA控控制制器器将将接接管管CPU的的地地址址总总线线、数数据据总总线线和和控控制制总总线线,CPU的的主主存存控控制制信信号号被被禁禁止止使使用用。而而当当DMA传传送送结结束束后后,将将恢恢复复CPU的的一一切切权权利利并并开开始始执执行行其其操操作作。由由此此可可见见,DMA控控制制器器必必须须具具有有控控制制系系统统总总线线的的能能力
105、力,即即能能够够像像CPU一一样样输输出出地地址址信信号号,接接收收或或发发出出控控制信号,输入或输出数据信号。制信号,输入或输出数据信号。8/2/2024104计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口DMA控控制制器器在在外外设设与与主主存存之之间间直直接接传传送送数数据据期间,完全代替期间,完全代替CPU进行工作,它的主要功能有:进行工作,它的主要功能有:接接受受外外设设发发出出的的DMA请请求求,并并向向CPU发发出出总线请求;总线请求;当当CPU响响应应此此总总线线请请求求,发发出出总总线线响响应应信信号后,接管对总线的控制,进入号后
106、,接管对总线的控制,进入DMA操作周期;操作周期;确确定定传传送送数数据据的的主主存存单单元元地地址址及及传传送送长长度度,并能自动修改主存地址计数值和传送长度计数值;并能自动修改主存地址计数值和传送长度计数值;8/2/2024105计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口规规定定数数据据在在主主存存与与外外设设之之间间的的传传送送方方向向,发发出出读读/写写或或其其他他控控制制信信号号,并并执执行行数数据据传传送送的的操操作。作。向向CPU报告报告DMA操作的结束。操作的结束。8/2/2024106计算机组成原理计算机组成原理计算机组成原理
107、计算机组成原理8.4DMA方式及其接口方式及其接口2.DMA控制器的基本组成控制器的基本组成(1)主存地址计数器主存地址计数器用用来来存存放放主主存存中中要要交交换换数数据据的的地地址址,该该计计数数器器的的初初始始值值为为主主存存缓缓冲冲区区的的首首地地址址,当当DMA传传送送时时,每每传传送送一一个个数数据据,将将地地址址计计数数器器加加“1”,从从而而以以增增量量方方式式给给出出主主存存中中要要交交换换的的一一批批数数据据的的地地址址,直直至至这批数据传送完毕为止。这批数据传送完毕为止。8/2/2024107计算机组成原理计算机组成原理计算机组成原理计算机组成原理(2)传送长度计数器传送
108、长度计数器用用来来记记录录传传送送数数据据块块的的长长度度,其其初初始始值值为为传传送送数数据据的的总总字字数数或或总总字字节节数数,每每传传送送一一个个字字或或一一个个字字节节,计计数数器器自自动动减减“1”,当当其其内内容容为为“0”时表示数据已全部传送完毕。时表示数据已全部传送完毕。(3)数据缓冲寄存器数据缓冲寄存器用用来来暂暂存存每每次次传传送送的的数数据据。输输入入时时,数数据据由由外外设设(如如磁磁盘盘)先先送送往往数数据据缓缓冲冲寄寄存存器器,再再通通过过数数据据总总线线送送到到主主存存。反反之之,输输出出时时,数数据据由由主主存存通通过过数数据据总总线线送送到到数数据据缓缓冲冲
109、寄寄存存器器,然然后后再再送送到到外设。外设。8.4DMA方式及其接口方式及其接口8/2/2024108计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口(4)DMA请求触发器请求触发器每每当当外外设设准准备备好好一一个个数数据据后后给给出出一一个个控控制制信信号号,使使DMA请请求求触触发发器器置置位位,控控制制/状状态态逻逻辑辑经经系系统统总总线线向向CPU发发出出总总线线请请求求(HOLD),如如果果CPU响响应应,发发回回批批准准信信号号(HLDA),DMA控控制制器器接接管管总总线线控控制制权权,向向系系统统总总线线送送出出传传送送命命令令与
110、与总总线线地地址址。控控制制/状状态态逻逻辑辑接接收收此此信信号号后后使使DMA请求触发器复位,为交换下一个数据做准备。请求触发器复位,为交换下一个数据做准备。8/2/2024109计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口(5)控制控制/状态逻辑状态逻辑它它由由控控制制和和时时序序电电路路以以及及状状态态标标志志等等组组成成,用用于于指指定定传传送送方方向向,修修改改传传送送参参数数,并并对对DMA请请求信号求信号和和CPU响应信号进行协调和同步。响应信号进行协调和同步。(6)中断机构中断机构当当一一个个数数据据块块传传送送完完毕毕,由由溢溢
111、出出信信号号触触发发中中断断机机构构,向向CPU提提出出中中断断请请求求,CPU将将进进行行DMA传送的结尾处理。传送的结尾处理。8/2/2024110计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口3.DMA控制器的引出线控制器的引出线( (1) )地址总线地址总线在在DMA方方式式下下,呈呈输输出出状状态态,可可对对主主存存进进行行地地址址选选择择;在在CPU方方式式下下,呈呈输输入入状状态态,可可对对DMA控制器中的有关寄存器进行寻址。控制器中的有关寄存器进行寻址。( (2) )数据总线数据总线在在DMA方方式式下下,用用它它进进行行数数据据传
112、传送送;在在CPU方方式式下下,可可对对DMA控控制制器器的的有有关关寄寄存存器器进进行行编程。编程。8/2/2024111计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口( (3) )控制数据传送方式的信号线控制数据传送方式的信号线存存储储器器读读信信号号、存存储储器器写写信信号号、外外设设读读信信号号、外设写信号。外设写信号。( (4) )DMA控制器与外设之间的联络信号线控制器与外设之间的联络信号线DMA请求信号请求信号DMA响应信号响应信号( (5) )DMA控制器与控制器与CPU之间的联络信号线之间的联络信号线总线请求总线请求总线响应信号总
113、线响应信号8/2/2024112计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口4.DMA控制器的控制器的连接和接和传送送首先由外设首先由外设向向DMA控制器发出请求信号控制器发出请求信号DREQ。DMA控制器向控制器向CPU发出总线请求信号发出总线请求信号HRQ。CPU向向DMA控控制制器器发发出出总总线线响响应应信信号号HLDA,此时此时,DMA控制器获取了总线的控制权。控制器获取了总线的控制权。DMA控控制制器器向向外外设设发发出出DMA响响应应信信号号DACK,表表示示DMA控控制制器器已已控控制制了了总总线线,允允许许外外设设与与主主存存交
114、换数据。交换数据。8/2/2024113计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口8/2/2024114计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口DMA控控制制器器按按主主存存地地址址计计数数器器的的内内容容发发出出地地址址信信号号作作为为主主存存地地址址的的选选择择,同同时时主主存存地地址址计计数数器器的的内容加内容加1(或减(或减1)。)。DMA控控制制器器发发出出IOR信信号号到到外外设设,将将外外设设数数据据读读入入总总线线,同同时时发发出出MEMW信信号号,将将数数据据总总线线的的数据
115、写入地址总线选中的主存单元。数据写入地址总线选中的主存单元。传送长度计数器减。传送长度计数器减。重重复复步步骤骤,直直到到字字节节计计数数器器减减到到“0”为为止止,数数据据块块的的DMA方方式式传传送送工工作作宣宣告告完完成成。这这时时,DMA控控制制器器的的HRQ降降为为低低电电平平,总总线线控控制制权权交还交还CPU。8/2/2024115计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口8.4.3DMA传送方法与传送过程传送方法与传送过程1.DMA传送方法传送方法( (1) )CPU停止访问主存法停止访问主存法用用DMA请请求求信信号号迫迫使使
116、CPU让让出出总总线线控控制制权权,CPU在在现现行行机机器器周周期期执执行行完完成成之之后后,使使其其数数据据、地地址址总总线线处处于于三三态态,并并输输出出总总线线批批准准信信号号。每每次次DMA请请求求获获得得批批准准后后,DMA控控制制器器获获得得总总线线控控制制权权以以后后,连连续续占占用用若若干干个个存存取取周周期期(总总线线周周期期)进进行行成成组组连连续续的的数数据据传传送送,直直至至批批量量传传送送结结束束,DMA控控制制器器才才把把总总线线控控制制权权交交回回CPU。在在DMA操操作作期期间间,CPU处处于于保保持持状状态态,停停止止访访问问主主存存,仅仅能能进进行行一一些
117、些与与总总线线无无关关的的内内部部操操作作。这这种种方方法法只只适适用用于于高速外设的成组传送。高速外设的成组传送。8/2/2024116计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口DMA不工作不工作DMA不工作不工作CPU控制并控制并使用主存使用主存DMA控制并控制并使用主存使用主存主存工作时间主存工作时间tDMA工作工作8/2/2024117计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口( (2) )存储器分时法存储器分时法把把原原来来的的一一个个存存取取周周期期分分成成两两个个时时间间片片,一一
118、片片给给CPU,一一片片给给DMA,使使CPU和和DMA交交替替地地访访问问主主存存。这这种种方方法法不不需需要要申申请请和和归归还还总总线线,使使总总线线控控制制权权的的转转移移几几乎乎不不需需要要什什么么时时间间,所所以以对对DMA传传送送来来讲讲效效率率是是很很高高的的,而而且且CPU既既不不停停止止现现行行程程序序的的运运行行,也也不不进进入入保保持持状状态态,在在CPU不不知知不不觉觉中中便便进进行行了了DMA传传送送,但但这这种种方方法法需需要要主主存存在在原原来来的的存存取取周周期期内内为为两两个个部部件件服服务务,如如果果要要维维持持CPU的的访访存存速速度度不不变变,就就要要
119、求求主主存存的的工工作作速速度提高一倍。度提高一倍。8/2/2024118计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口另另外外,由由于于大大多多数数外外设设的的速速度度都都不不能能与与CPU相相匹匹配配,所所以以供供DMA使使用用的的时时间间片片可可能能成成为为空空操作,将会造成一些不必要的浪费。操作,将会造成一些不必要的浪费。CPU控制并控制并使用主存使用主存DMA控制并控制并使用主存使用主存主存工作时间主存工作时间t8/2/2024119计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口( (3) )
120、周期挪用法周期挪用法周周期期挪挪用用法法是是前前两两种种方方法法的的折折衷衷。一一旦旦外外设设有有DMA请请求求并并获获得得CPU批批准准后后,CPU让让出出一一个个周周期期的的总总线线控控制制权权,由由DMA控控制制器器控控制制系系统统总总线线,挪挪用用一一个个存存取取周周期期进进行行一一次次数数据据传传送送,传传送送一一个个字字节节或或一一个个字字,然然后后,DMA控控制制器器将将总总线线控控制制权权交交回回CPU,CPU继继续续进进行行自自己己的的操操作作,等等待待下下一一个个DMA请请求求的的到到来来;重重复复上上述述过过程程,直直至至数数据据块块传传送送完完毕毕。如如果果在在同同一一
121、时时刻刻,发发生生CPU与与DMA的的访访存存冲冲突突,那那么么优优先先保保证证DMA工工作作,而而CPU等等待待一一个个存存取取周周期期。若若DMA传传送送时时CPU不不需需要要访访存存,则则外外设的周期挪用设的周期挪用对对CPU执行程序无任何影响。执行程序无任何影响。8/2/2024120计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口CPU控制并控制并使用主存使用主存DMA控制并使控制并使用主存用主存主存工作时间主存工作时间t8/2/2024121计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口2.D
122、MA传送过程传送过程( (1) )DMA预处理预处理这这是是在在DMA传传送送之之前前做做的的一一些些必必要要的的准准备备工工作作,是是由由CPU来来完完成成的的。CPU首首先先执执行行几几条条I/O指指令令,用用于于测测试试外外设设的的状状态态、向向DMA控控制制器器的的有有关关寄寄存存器器置初值、设置传送方向、启动该外部设备等。置初值、设置传送方向、启动该外部设备等。在在这这些些工工作作完完成成之之后后,CPU继继续续执执行行原原来来的的程程序序,在在外外设设准准备备好好发发送送的的数数据据(输输入入时时)或或接接收收的的数数据据已已处处理理完完毕毕(输输出出时时),外外设设向向DMA控控
123、制制器器发发DMA请求,再由请求,再由DMA控制器控制器向向CPU发总线请求。发总线请求。8/2/2024122计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口( (2) )数据传送数据传送DMA的的数数据据传传送送可可以以是是以以单单字字节节(或或字字)为为基基本本单单位位,也也可可以以以以数数据据块块为为基基本本单单位位。对对于于以以数数据据块块为为单单位位的的传传送送,DMA占占用用总总线线后后的的数数据输入和输出操作都是通过循环来实现的。据输入和输出操作都是通过循环来实现的。需需要要特特别别指指出出的的是是,这这一一循循环环不不是是由由CPU
124、执执行程序实现的,而是行程序实现的,而是由由DMA控制器实现的。控制器实现的。8/2/2024123计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.4DMA方式及其接口方式及其接口( (3) )DMA后处理后处理当当长长度度计计数数器器计计为为0时时,DMA操操作作结结束束,DMA控控制制器器向向CPU发发中中断断请请求求,CPU停停止止原原来来程程序序的的执执行行,转转去去执执行行中中断断服服务务程程序序做做DMA结结束束处处理工作。理工作。8/2/2024124计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.5通道控制方式通道控制方式8.5.1通道的基本概念通道的基
125、本概念在在大大型型计计算算机机系系统统中中,所所连连接接的的I/O设设备备数数量量多多,输输入入/输输出出频频繁繁,要要求求整整体体的的速速度度快快,单单纯纯依依靠靠主主CPU采采取取中中断断和和DMA等等控控制制方方式式已已不不能能满满足足要求。要求。1.通道控制方式通道控制方式与与DMA方式的区别方式的区别通通道道控控制制方方式式是是DMA方方式式的的进进一一步步发发展展,实实质质上上,通通道道也也是是实实现现外外设设和和主主存存之之间间直直接接交交换换数数据的控制器据的控制器。两者的主要区别在于:。两者的主要区别在于:8/2/2024125计算机组成原理计算机组成原理计算机组成原理计算机
126、组成原理8.5通道控制方式通道控制方式DMA控控制制器器是是通通过过专专门门设设计计的的硬硬件件控控制制逻逻辑辑来来实实现现对对数数据据传传送送的的控控制制;而而通通道道则则是是一一个个具具有有特特殊殊功功能能的的处处理理器器,它它具具有有自自己己的的指指令令和和程程序序,通通过过执执行行一一个个通通道道程程序序实实现现对对数数据据传传送送的的控控制制,故故通通道道具具有有更更强强的的独独立立处处理理数数据据输输入入/输输出出的的功能。功能。DMA控控制制器器通通常常只只能能控控制制一一台台或或少少数数几几台台同同类类设设备备;而而一一个个通通道道则则可可以以同同时时控控制制许许多多台台同类或
127、不同类的设备。同类或不同类的设备。8/2/2024126计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.5通道控制方式通道控制方式2.通道的功能通道的功能通通道道在在一一定定的的硬硬件件基基础上上利利用用软件件手手段段实现对I/O的的控控制制和和传送送,更更多多地地免免去去了了CPU的的介介入入,从从而而使使主主机机和和外外设的的并并行行工工作作程程度度更更高高。当当然然,通通道道并并不不能能完完全全脱脱离离CPU,它它还要要受受到到CPU的的管管理理,而而且且通通道道还应该向向CPU报告告自自己己的的状状态,以以便便CPU决决定下一步的定下一步的处理。通道的功能:理。通道的功能:
128、接接受受CPU的的I/O指指令令,按按指指令令要要求求与与指指定定的的外外设进行行联系。系。8/2/2024127计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.5通道控制方式通道控制方式从从主主存存取取出出属属于于该通通道道程程序序的的通通道道指指令令,经译码后向后向设备控制器和控制器和设备发送各种命令。送各种命令。实施主存和外施主存和外设间的数据的数据传送。送。从从外外设获得得设备的的状状态信信息息,形形成成并并保保存存通通道道本本身身的的状状态信信息息,根根据据要要求求将将这些些状状态信信息息送送到主存的指定到主存的指定单元,元,供供CPU使用。使用。将将外外设的的中中断断请
129、求求和和通通道道本本身身的的中中断断请求求按次序及按次序及时报告告CPU。8/2/2024128计算机组成原理计算机组成原理计算机组成原理计算机组成原理8.5通道控制方式通道控制方式8/2/2024129计算机组成原理计算机组成原理计算机组成原理计算机组成原理第第8章章小结小结8.1主机与外设的连接主机与外设的连接输入入/输出接口出接口接口的基本组成接口的基本组成接口,端口接口,端口8.2程序查询方式及其接口程序查询方式及其接口程序程序查询方式的工作流程方式的工作流程8.3中断系统中断系统和程序中断方式和程序中断方式中断的基本概念中断的基本概念中断与调用子程序的区别中断与调用子程序的区别8/2
130、/2024130计算机组成原理计算机组成原理计算机组成原理计算机组成原理第第8章章小结小结中断的基本类型中断的基本类型CPU响应中断的条件响应中断的条件中断隐指令中断隐指令进入中断服务程序(向量地址的形成)进入中断服务程序(向量地址的形成)中断现场的保护和恢复中断现场的保护和恢复允许和禁止中断允许和禁止中断中断屏蔽中断屏蔽8/2/2024131计算机组成原理计算机组成原理计算机组成原理计算机组成原理第第8章章小结小结8.4DMA方式及其接口方式及其接口DMA方式的特点方式的特点DMA和中断的区别和中断的区别DMA接口接口DMA传送方法传送方法DMA传送过程传送过程8.5通道控制方式通道控制方式通道控制方式与通道控制方式与DMA方式的区别方式的区别8/2/2024132