《【教学课件】第6章输入输出技术.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第6章输入输出技术.ppt(93页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6章 输入输出技术 CPU与外设的工作速度不一致,与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,如何使两者高效、可靠地进行数据传送,是本章讨论的问题。是本章讨论的问题。n输入输出的基本方法输入输出的基本方法n中断概念、中断响应过程中断概念、中断响应过程n8088中断系统、中断向量中断系统、中断向量表表1/9/20231输出设备:显示器、打印机等。输出设备:显示器、打印机等。输入设备:键盘、鼠标、扫描仪等。输入设备:键盘、鼠标、扫描仪等。键盘、鼠标PS/2、USB扫描仪EPP(增强并口)、USB显示器15针D接口,也叫VGA接口。1/9/20232多种多样的外设多种多样的外设n工
2、作原理不同工作原理不同机械、电子、机电、电磁机械、电子、机电、电磁n传送信息类型多样传送信息类型多样数字量、模拟量、开关量数字量、模拟量、开关量n传送速度差别极大传送速度差别极大n传送方式不尽相同传送方式不尽相同串行、并行串行、并行n编码方式不同编码方式不同二进制、二进制、BCD码、码、ASCII码码z1/9/202336.1 概述概述为什么需要为什么需要I/OI/O接口(电路)?接口(电路)?n微机的外部设备多种多样微机的外部设备多种多样1)I/O设备的功能多种多样;设备的功能多种多样;2)I/O设备工作速度不同;设备工作速度不同;3)I/O设备处理的信号不同设备处理的信号不同(模拟或数字信
3、号、模拟或数字信号、并行或串行并行或串行);4)I/O设备所需的控制信号不同。设备所需的控制信号不同。n工工作作原原理理、驱驱动动方方式式、信信息息格格式式、以及工作速度方面彼此差别很大以及工作速度方面彼此差别很大1/9/20234输入输出输入输出(I/O)(I/O)设备是计算机系统的重要组设备是计算机系统的重要组成部分,计算机通过它们与外界进行数据交换。成部分,计算机通过它们与外界进行数据交换。因因I/OI/O设备种类繁多,设备种类繁多,CPUCPU并不与并不与I/OI/O设备直接设备直接进行信息交流,而是通过进行信息交流,而是通过I/OI/O接口进行接口进行。I/OI/O接接口是连接口是连
4、接CPUCPU和和I/OI/O设备之间的桥梁。设备之间的桥梁。输入设备和输出设备统称为输入设备和输出设备统称为外设外设。I/O接口电路:即接口电路:即I/O适配器。适配器。6.1 概述概述1/9/202356.1.1 I/O接口(电路)接口(电路)nI/O接接口口是是位位于于系系统统与与外外设设间间、用用来来协协助助完成数据传送和控制任务的逻辑电路完成数据传送和控制任务的逻辑电路nPC机机系系统统板板的的可可编编程程接接口口芯芯片片、I/O总总线线槽槽的的电路板(适配器)都是接口电路电路板(适配器)都是接口电路nI/O接口的特点:通用性和可编程性接口的特点:通用性和可编程性CPUCPU接口接口
5、接口接口电路电路电路电路 I/OI/O设备设备设备设备1/9/202361、接口功能、接口功能 I/O接口在它连接的接口在它连接的CPU与与I/O设备之间起设备之间起信息信息转换作用转换作用。应具备:。应具备:接口内有特定的硬件电路供接口内有特定的硬件电路供CPU直接存取,称直接存取,称为为I/O端口端口;接口应有地址译码功能;接口应有地址译码功能;接口可传送除基本信息(数据信息)外的各种接口可传送除基本信息(数据信息)外的各种信息。信息。1/9/202372、接口传递的信息、接口传递的信息数据信息:数据信息:CPU与与I/O设备传递的基本信息,包括数设备传递的基本信息,包括数字量、模拟量、开
6、关量和脉冲量。字量、模拟量、开关量和脉冲量。接口传递的基本信息是接口传递的基本信息是数据信息数据信息,除此之外,还,除此之外,还传递传递状态信息状态信息和和控制信息控制信息。不同的信息用不同的不同的信息用不同的I/OI/O端端口区分口区分。控制信息:控制信息:CPU通过接口传递给通过接口传递给I/O设备的信息,用设备的信息,用以控制以控制I/O设备的工作,如启动、停止等。设备的工作,如启动、停止等。状态信息:反映状态信息:反映I/O设备当前工作状态的信息,如输设备当前工作状态的信息,如输出设备是否空闲,输入设备是否数据准备好等。出设备是否空闲,输入设备是否数据准备好等。1/9/202386.1
7、.2 I/O接口的典型结构接口的典型结构控制总线控制总线CB地址总线地址总线ABI/OI/O接口电路接口电路数据数据控制控制状态状态数据总线数据总线DBCPU外设外设控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器寄存器寄存器 端口端口n三种信息三种信息:数据信息、状态信息、控制信息。数据信息、状态信息、控制信息。n通过数据总线通过数据总线DB传输。传输。1/9/202391.接口电路的内部结构接口电路的内部结构nCPU与与外外设设主主要要有有数数据据、状状态态和和控控制制信信息息需需要要相相互交换,于是从应用角度看内部:互交换,于是从应用角度看内部:数据寄存器数据寄存器数据端口数
8、据端口n保存外设给保存外设给CPU和和CPU发往外设的数据发往外设的数据 状态寄存器状态寄存器状态端口状态端口n保存外设或接口电路的状态保存外设或接口电路的状态 控制寄存器控制寄存器控制端口控制端口n保存保存CPU给外设或接口电路的命令给外设或接口电路的命令1/9/2023102.接口电路的外部特性接口电路的外部特性n主要体现在引脚上,分成两侧信号主要体现在引脚上,分成两侧信号面向面向CPU一侧的信号:一侧的信号:n用于与用于与CPU连接连接n主要是数据、地址和控制信号主要是数据、地址和控制信号面向外设一侧的信号:面向外设一侧的信号:n用于与外设连接用于与外设连接n提供的信号五花八门提供的信号
9、五花八门n功能定义、时序及有效电平等差异较大功能定义、时序及有效电平等差异较大1/9/2023116.2 I/O端口的编址端口的编址接口电路占用的接口电路占用的I/O端口有两类编排形式端口有两类编排形式nI/O端口与存储器统一编址端口与存储器统一编址n它们共享一个地址空间它们共享一个地址空间n如如M6800nI/O端口单独编址端口单独编址nI/O地址空间独立于存储地址空间地址空间独立于存储地址空间n如如8086/80881/9/202312I/O端口与存储器统一编址端口与存储器统一编址n优点:优点:n不需要专门的不需要专门的I/O指令指令nI/O数数据据存存取取与与存存储储器器数数据存取一样灵
10、活据存取一样灵活n缺点:缺点:nI/O端端口口要要占占去去部部分分内内存存空间空间n程程序序不不易易阅阅读读(不不易易分分清清访存和访问外设)访存和访问外设)内存内存部分部分I/O部分部分00000HFFFFFHF0000H存存储储器器空空间间1/9/202313I/O端口单独编址端口单独编址n优点:优点:nI/O端口的地址空间独立端口的地址空间独立n控制和地址译码电路相对简单控制和地址译码电路相对简单n专门的专门的I/O指令使程序清晰易读指令使程序清晰易读n缺点:缺点:nI/O指令没有存储器指令丰富指令没有存储器指令丰富n80 x86采用采用I/O端口独立编址端口独立编址内存内存空间空间I/
11、O空间空间FFFFFH0FFFFH1/9/2023148088的的I/O端口地址端口地址n8088只能通过输入输出指令与外设进行数据只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(交换;呈现给程序员的外设是端口(Port),),即即I/O地址地址n8088用于寻址外设端口的地址线为用于寻址外设端口的地址线为16条,端条,端口最多为口最多为21665536(64K)个,端口号为)个,端口号为0000H FFFFHn地址线上的地址信号用地址线上的地址信号用 IO/M*来区分来区分n每个端口用于传送一个字节的外设数据每个端口用于传送一个字节的外设数据nIBM PC只使用了只使用了1
12、024个个I/O地址地址(03FFH)1/9/202315输入输出(输入输出(I/OI/O)指令)指令n每个端口用于传送一个字节的外设数据每个端口用于传送一个字节的外设数据只限于用累加器只限于用累加器ALAL或或AXAX来传送信息。来传送信息。功能功能:(:(累加器累加器)I/O)I/O端口端口1/9/202316输入输出寻址方式输入输出寻址方式n80868086的的端端口口有有64K64K个个,无无需需分分段段,设设计计有有两种寻址方式两种寻址方式v直直接接寻寻址址:只只用用于于寻寻址址00H00HFFHFFH前前256256个个端口,操作数端口,操作数i8i8表示端口号表示端口号v间间接接
13、寻寻址址:可可用用于于寻寻址址全全部部64K64K个个端端口口,DXDX寄存器的值就是端口号寄存器的值就是端口号n对大于对大于FFHFFH的端口只能采用间接寻址方式的端口只能采用间接寻址方式1/9/202317(1)输入指令输入指令IN格式格式:IN acc,PORT;PORT端口号端口号0255H IN acc,DX ;DX表示的端口范围达表示的端口范围达64K例例:IN AL,80H ;(AL)(80H端口端口)IN AL,DX ;(AL)(DX)1/9/202318例:输入字量1.直接寻址,字节量输入直接寻址,字节量输入 in al,21h mov ah,al in al,20h功能相同
14、功能相同 字量数据传送字量数据传送实际上实现了连实际上实现了连续的两个端口地续的两个端口地址的字节量传送址的字节量传送2.直接寻址,字量输入直接寻址,字量输入 in ax,20h3.间接寻址,字量输入间接寻址,字量输入 mov dx,20h in ax,dx1/9/202319例:例:OUT 68H,AX ;(69H,68H)(AX)OUT DX,AL ;(DX)(AL)在在使使用用间间接接寻寻址址的的IN/OUT指指令令时时,要要事事先先用用传传送指令把送指令把I/O端口号设置到端口号设置到DX寄存器:寄存器:MOV DX,220H IN AL,DX ;将将220H端口内容读入端口内容读入A
15、L (2)(2)输出指令输出指令OUTOUT格式格式:OUT port,acc OUT DX ,acc1/9/202320IN AL,PORT输输入入端端口口数数据据线线 地址译码地址译码(RD,IO/M)IOR输输出出端端口口数数据据线线 地址译码地址译码(WR,IO/M)IOW指令指令硬件电路信号硬件电路信号OUT PORT,AL1/9/2023216.3 I/O的基本方式的基本方式n无条件传送无条件传送n查询方式查询方式n中断方式中断方式n直接存储器存取(直接存储器存取(DMA)方式方式(Direct Memory Access)1/9/202322无条件传送无条件传送无条件传送无条件传
16、送(CPU与外设同步工作):与外设同步工作):外部控制外部控制过程各种动作过程各种动作时间是固定的时间是固定的,而且,而且是已知的是已知的。查询方式查询方式查询方式查询方式(CPU与外设不同步工作):与外设不同步工作):传送前,传送前,先查询外设状态先查询外设状态,准备好才传送,否则,准备好才传送,否则CPUCPU处于处于等待状态。等待状态。中断方式:中断方式:中断方式:中断方式:外设与外设与CPU处于并行工作处于并行工作,一旦外,一旦外设准备好,外设向设准备好,外设向CPUCPU发中断申请,条件具备,发中断申请,条件具备,CPUCPU暂停原程序执行,响应中断,外设与暂停原程序执行,响应中断,
17、外设与CPUCPU串串行工作。行工作。DMADMA方式方式方式方式:CPU不干予,不干予,由硬件实现由硬件实现存储器与存储器与外设之间外设之间交换数据。交换数据。1/9/2023231 无条件传送方式无条件传送方式 特点特点n这种传送有前提:外设必须随时就绪这种传送有前提:外设必须随时就绪n适适合合于于简简单单设设备备,如如开开关关、发发光光二二极极管管、LED数码管、数码管、继电器、按键或按纽等设备。继电器、按键或按纽等设备。n无条件传送的接口和操作均十分简单无条件传送的接口和操作均十分简单实现方法实现方法n CPUCPU不查询外设工作状态不查询外设工作状态n 与外设速度的匹配通过在软件上延
18、时完成与外设速度的匹配通过在软件上延时完成n 程序中直接用程序中直接用I/OI/O指令,完成数据传送指令,完成数据传送1/9/202324输入接口设计输入接口设计完成如下任务:完成如下任务:当开关接通时,当开关接通时,CPU执行程序段执行程序段ON;当开关断开时,当开关断开时,CPU执行程序段执行程序段OFF;MOV DX,0FFF7HIN AL,DXAND AL,01HJZ ONJMP OFF1/9/202325AB输输入入设设备备三三态态缓缓冲冲器器地址译码器地址译码器DB(D7D0)IOR(RD,IO/M)无条件传送:输入无条件传送:输入接口电路接口电路 硬件保证硬件保证:只在只在CPU
19、执行从相应端口执行从相应端口输入数据时输入数据时,三态门处于工作状态,使输入设备的数据送上总线侧;三态门处于工作状态,使输入设备的数据送上总线侧;而而CPU执行其它指令时执行其它指令时,三态门均处于高阻状态三态门均处于高阻状态,使输入设备的数据线与总线侧断开使输入设备的数据线与总线侧断开1/9/202326输出接口设计输出接口设计锁存器作为发光二锁存器作为发光二极管与微机系统数极管与微机系统数据总线连接的中间据总线连接的中间接口,接收来自接口,接收来自CPU的输出数据。的输出数据。MOV DX,0000HMOV AL,81HOUT DX,ALCPCP端出现低电端出现低电平信号,锁存平信号,锁存
20、MOV DX,0000HMOV AL,00HOUT DX,ALCPUCPU执行指令控执行指令控制二极管发光制二极管发光1/9/202327无条件传送:输出无条件传送:输出AB输输出出设设备备锁锁存存器器地址译码器地址译码器DB(D7D0)IOW(WR,IO/M)D QG锁存器锁存器1/9/202328例:如图示,外设为8个发光二极管,与其相连的I/O端口地址80H,欲使发光二极管全亮,执行指令:MOV AL,0MOV AL,0OUTOUT80H,AL80H,AL1/9/202329例:无条件传送例:无条件传送nCPU通通过过一一个个输输入入接接口口采采集集一一组组开开关关K0K7的的状状态态,
21、然然后后通通过过一一个个输输出出接接口口控控制制对对应应的的一一组组发发光光二二极极管管LED0LED7显显示示出出来来(Ki闭合,对应闭合,对应LEDi亮;亮;Ki断开,对应断开,对应LEDi灭)灭)1/9/202330例:无条件传送例:无条件传送1/9/202331MOV DX,80HIN AL,DXMOV DX,81HOUT DX,AL;输入端口地址;输入端口地址80H;输入开关状态;输入开关状态;输出端口地址为;输出端口地址为81H;控制对应;控制对应LED1/9/2023322.查询方式查询方式 实现方法:实现方法:在与外设进行传送数据前,在与外设进行传送数据前,CPUCPU先查询外
22、设状态先查询外设状态,当当外设准备好后,才执行外设准备好后,才执行I/OI/O指令,实现数据传送。指令,实现数据传送。外设接口与外设有三种信息交换:(1)进行传送的数据(数据端口)(2)外设的控制信号(控制端口)(3)外设的状态信息外设的状态信息(状态端口)1/9/202333查询传送的两个环节查询传送的两个环节 查询环节查询环节n寻址状态口寻址状态口n读取状态寄存器的标志位读取状态寄存器的标志位n若不就绪就继续查询,直至就绪若不就绪就继续查询,直至就绪 传送环节传送环节n寻址数据口寻址数据口n是输入,通过输入指令从数据端口读入数据是输入,通过输入指令从数据端口读入数据n是输出,通过输出指令向
23、数据端口输出数据是输出,通过输出指令向数据端口输出数据输入状态输入状态就绪?就绪?数据交换数据交换YN1/9/202334【例【例6】查询方式输出数据】查询方式输出数据n外外设设经经I/O接接口口与与系系统统总总线线相相连连,外外设设的的状状态态信信号号BUSY由由状状态态端端口口的的D0位位输输出出到到CPU数数据据总总线线的的D0,当当BUSY0时时,表表示示外外设设忙忙,不不可可以以接接收收CPU输输出出的的数数据据;当当BUSY1时时,则表示外设处于空闲状态,可以接收。则表示外设处于空闲状态,可以接收。1/9/202335333H端口端口状态端口状态端口333H端口端口数据端口数据端口
24、地址地址译码译码数据数据缓冲缓冲控制控制电路电路输输出出外外设设CPU地址线地址线数据线数据线控制线控制线状态状态状态状态数据数据【例【例6.26.2】查询方式输出数据】查询方式输出数据外设的状态端口为外设的状态端口为0333 H,其中,其中D0=1时,表示外设准备好;时,表示外设准备好;外设的数据端口为外设的数据端口为0333 H。编程将。编程将CL中的数据输出到外设。中的数据输出到外设。1/9/202336从从0333H状态端口状态端口读入外设状态信息读入外设状态信息将一字节数据送至将一字节数据送至0333H数据端口数据端口YND0=1,外设准备好?外设准备好?流程图流程图;设置端口地址;
25、设置端口地址;读外设状态;读外设状态;外设忙否?;外设忙否?;状态寄存器最低位为;状态寄存器最低位为0则忙则忙;字符在;字符在CL中中;输出该字符;输出该字符1/9/202337;设置端口地址;设置端口地址;读外设状态;读外设状态;外设忙否?;外设忙否?;状态寄存器最低位为;状态寄存器最低位为0则忙则忙;字符在;字符在CL中中;输出该字符;输出该字符START:MOV DX,333HWAIT :IN AL,DX TEST AL,01H JZ WAIT MOV AL,CL OUT DX,AL RET1/9/202338当CPU需要对多个设备进行操作时,则则CPU按按一定顺序依次查询(轮一定顺序依
26、次查询(轮询)。询)。所谓的优先级问题。先查询的外设将优先查询的外设将优先进行数据交换。先进行数据交换。缺点:缺点:不能对设备进行实时处理查询过程大大降低CPU的效率 外设接口始终处于被动状态CPUCPU通过不断查询外设状态,通过不断查询外设状态,实现与外设的速度匹配,实现与外设的速度匹配,1/9/2023393 3、中断控制方式、中断控制方式CPU在启动外设开始某一操作之后,继续执行它本身的程序程序。当外设数据准备就绪,向CPU提出请求请求,CPU在接到请求后暂时中断原来执行的程序,转去执行外设所要求的程序程序(如输入或输出一个数据),待服务结束后又返回原程序继续执行。主程序中断请求中断服务
27、程序主程序主程序中断请求中断请求中断服务程序中断服务程序1/9/202340n前面三种前面三种I/O方式都需要方式都需要CPU作为中介:作为中介:两个含义:两个含义:1 1)软件:外设与内存之间的数据传送是通过)软件:外设与内存之间的数据传送是通过CPUCPU执执行程序来完成的(程序控制方式);行程序来完成的(程序控制方式);2 2)硬件:)硬件:I/OI/O接口和存储器的读写控制信号、地址接口和存储器的读写控制信号、地址信号都是由信号都是由CPUCPU发出的(总线由发出的(总线由CPUCPU控制)。控制)。n缺点:程序的执行速度限定了传送的最大速度(约缺点:程序的执行速度限定了传送的最大速度
28、(约为几十为几十KB/秒)秒)解决:解决:DMA传输传输外设外设CPU内存内存1/9/2023414 4、直接存储器存取方式、直接存储器存取方式(DMA)(DMA)DMA(Direct Memory Access)意为直接数据访问。它是在内存的不同区域之间,或者在内存与外设端口之间直接进行直接进行数据传送,而不经过不经过CPUCPU中转中转的一种数据传送方式,可以大大提高数据的传送速度。1/9/202342(1)DMA方式与其它方式比较DMA控制器控制器内存内存/外设外设外设外设/内存内存无需无需CPU指令指令外设外设/内存内存CPUMOV XX,ALOUT DX,ALIN AL,DXMOV
29、AL,XX内存内存/外设外设1/9/202343(2)DMA传输的特点外外设设直直接接与与存存储储器器进进行行数数据据交交换换,CPU不不再担当数据传输的中介者;再担当数据传输的中介者;总总线线由由DMA控控制制器器(DMAC)进进行行控控制制(CPU要要放放弃弃总总线线控控制制权权),内内存存/外外设设的的地址和读写控制信号均由地址和读写控制信号均由DMAC提供。提供。n优优点点:数数据据传传输输由由DMA硬硬件件来来控控制制,数数据据直直接接在在内内存存和和外外设设之之间间交交换换,可可以以达达到到很很高的传输速率(可达几高的传输速率(可达几MB/秒)秒)外设外设内存内存1/9/20234
30、4DMA控制器CPU外设由外设向DMAC发出DMA请求通过HOLD信号线发出DMA请求通过HLDA信号线发出DMA响应发出DMA应答信号通过HOLD信号线撤消DMA请求使HLDA信号无效与内存传送数据(在DMA控制器控制下)(3)DMA传输的工作过程1/9/202345练习练习n对对I/O端端口口的的编编址址一一般般有有 方方式式和和 方方式。式。PC机采用的是机采用的是 方式。方式。n在在PC系系列列微微机机中中,I/O指指令令采采用用直直接接寻寻址址方方式式的的I/O端端口口有有 个个。采采用用DX间间接接寻寻址址方式可寻址的方式可寻址的I/O端口有端口有 个。个。n CPUCPU在在执执
31、行行OUT OUT DXDX,ALAL指指令令时时,寄寄存存器器的的内内容容送送到到地地址址总总线线上上,寄寄存存器器的的内内容送到数据总线上。容送到数据总线上。n数数据据输输入入/输输出出的的几几种种方方式式是是 、和和 。1/9/2023466.4 中断传送方式中断传送方式1/9/202347为何计算机中要引入中断?为何计算机中要引入中断?n提高数据传输率;提高数据传输率;l避免避免CPU不断检测外设状态,提高不断检测外设状态,提高CPU的的利用率。利用率。l实现对特殊事件的实时响应。实现对特殊事件的实时响应。如多任务系统操作系统中:如多任务系统操作系统中:l缺页中断缺页中断l设备中断设备
32、中断l各类异常各类异常l实时钟,等实时钟,等1/9/202348n什么是中断什么是中断?n与生活场景的比较与生活场景的比较正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书事件发生事件发生事件处理事件处理继续执行程序继续执行程序实际场景实际场景执行程序执行程序计算机计算机 中断请求及响应中断请求及响应 中断处理中断处理中断返回中断返回6.4.1.6.4.1.中断的基本概念中断的基本概念1/9/202349中断服务程序中断服务程序发申请发申请中断服务程序中断服务程序发发 申申 请请外外设设外设准备数据,外设准备数据,CPUCPU执行程序执行程序,此时,此时,CPUCPU与外设并行工作;
33、与外设并行工作;外设准备就绪,向外设准备就绪,向CPUCPU发中断发中断申请,申请,CPUCPU暂停原程序执行,响暂停原程序执行,响应中断,进行数据传输。此时,应中断,进行数据传输。此时,CPUCPU与外设是串行工作。与外设是串行工作。中断传送方式中断传送方式1/9/2023501.中断的定义中断的定义断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求 对外设对外设进行处理进行处理返回断点返回断点CPUCPU在执行在执行程序中,被内部程序中,被内部或外部的事件所或外部的事件所打断,转去执行打断,转去执行一段预先安排好一段预先安排好的中断服务程序;的中断服务程序;服务结束后,又服务结束
34、后,又返回原来的断点,返回原来的断点,继续执行原来的继续执行原来的程序程序.1/9/2023511000:150H 主程序主程序 、MOV AX,0ADD AX,DXMOV DI,AX、CPU在执行此指令时,在执行此指令时,某中断源发申请中断某中断源发申请中断;CPU在执行完该指令后在执行完该指令后,转去执行中断子程转去执行中断子程.断点概念断点概念:PUSH AX 、IRET断点断点中断服务程序中断服务程序1/9/202352中断源中断源n引起引起CPU中断的事件中断的事件中断源。中断源。n外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等n事件事件掉电、硬件故障、软件错误、非
35、法操作、定时到掉电、硬件故障、软件错误、非法操作、定时到l中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断l内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断l外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断l8086/8088的外部中断信号:的外部中断信号:INTR、NMIlINTR可屏蔽中断请求,高电平有效,受可屏蔽中断请求,高电平有效,受IF标志的控制。标志的控制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。lNMI非屏蔽中断请求,上升沿有效,任何时候非屏蔽中断请求,上升沿有效
36、,任何时候CPU都要都要响应此中断请求信号。响应此中断请求信号。1/9/2023532.中断传送方式的特点中断传送方式的特点n效率更高的程序传送方式效率更高的程序传送方式l中断服务程序是预先设计好的中断服务程序是预先设计好的l中断请求是随机的中断请求是随机的lCPU对请求的检测是有规律的:一般是在对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请每条指令的最后一个时钟周期采样中断请求输入引脚求输入引脚1/9/202354 6.4.2 80886.4.2 8088的中断系统的中断系统n8088的中断系统采用向量中断机制的中断系统采用向量中断机制n能够处理能够处理256个中断,用
37、中断向量号个中断,用中断向量号0255区别区别n可屏蔽中断还需要借助专用中断控制器可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理实现优先权管理n与中断有关的控制线为:与中断有关的控制线为:NMI、INTR、INTA*1/9/2023551.8086/80881.8086/8088的中断类型的中断类型NMIINTR中断中断逻辑逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断请求非屏蔽中断请求中断控中断控制器制器8259APIC8086/8088CPU8086/8088CPU内部逻辑内部逻辑断点中断断点中断n43012可可屏屏蔽蔽中中断断请
38、请求求1/9/202356外部中断外部中断n是由于是由于8088外部提出中断请求引起的外部提出中断请求引起的l利用外部中断,微机系统可以实时响应外设利用外部中断,微机系统可以实时响应外设的数据传送请求,及时处理外部意外或紧急的数据传送请求,及时处理外部意外或紧急事件事件l外部中断的原因是处理器外部外部中断的原因是处理器外部随机随机产生的,产生的,所以是真正的中断(所以是真正的中断(Interrupt)l内部中断的原因是处理器执行程序出现异常,内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(所以经常被称为异常(Exception)非屏蔽中断非屏蔽中断中断类型码中断类型码n n2 2可
39、屏蔽中断可屏蔽中断中断类型码中断类型码n n由申请中断的中断源提供由申请中断的中断源提供1/9/202357 非屏蔽中断非屏蔽中断NMIn通通过过非非屏屏蔽蔽中中断断请请求求信信号号NMI向向微微处处理理器器提提出出的的中中断断请请求求,微微处处理理器器无无法法禁禁止止,将将在在当当前前指指令令执执行行结结束束予予以以响响应应,这这个个中中断断被称为非屏蔽中断被称为非屏蔽中断l8088的非屏蔽中断的向量号为的非屏蔽中断的向量号为2l非屏蔽中断主要用于处理系统的意外或故非屏蔽中断主要用于处理系统的意外或故障。例如:障。例如:l电源掉电前的数据保护电源掉电前的数据保护l存储器读写错误的处理存储器读
40、写错误的处理1/9/202358 可屏蔽中断n外外部部通通过过可可屏屏蔽蔽中中断断请请求求信信号号INTR向向微微处处理理器器提提出出的的中中断断,微微处处理理器器在在允允许许可可屏屏蔽蔽中中断断的的条条件件下下,在在当当前前指指令令执执行行结结束束予予以以响响应应INTA*,同同时时输输出出可可屏屏蔽蔽中中断断响响应应信信号号,这这个中断就是可屏蔽中断个中断就是可屏蔽中断IF 控制可屏蔽中断的响应控制可屏蔽中断的响应lIF1,允许中断;允许中断;IF0,禁止中断。禁止中断。l8088通常需要配合中断控制器通常需要配合中断控制器8259A共同处共同处理可屏蔽中断理可屏蔽中断l可屏蔽中断主要用于
41、主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据1/9/202359 内部中断内部中断n8088内部执行程序出现异常引起的内部执行程序出现异常引起的n利利用用内内部部中中断断,微微处处理理器器为为用用户户提提供供了了发发现现、调试并解决程序执行时异常情况的有效途径调试并解决程序执行时异常情况的有效途径n例例如如,ROM-BIOS和和DOS系系统统利利用用内内部部中中断断为程序员提供了各种功能调用为程序员提供了各种功能调用内部中断的中断向量号已定内部中断的中断向量号已定1/9/202360 除法错中断除法错中断n在在执执行行除除法法指指令令时时,若若除除数数为为0或或商商超超过过了了寄寄存
42、存器器所所能能表表达达的的范范围围,则则CPU会会自自动动产产生生一一个个向向量号为量号为0的内部中断,称为除法错中断的内部中断,称为除法错中断n0号中断没有对应的中断指令号中断没有对应的中断指令例如:例如:mov bl,0idiv bl;除数;除数BL0,产生除法错中断,产生除法错中断mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表达表达;产生除法错中断;产生除法错中断1/9/202361(2)单步中断单步中断n若若TF1,则则在在每每条条指指令令执执行行结结束束后后产产生生1号号内部中断,称为单步中断内部中断,称为单步中断n类类似似0号号(除除法法错
43、错)中中断断:不不是是由由外外部部硬硬件件或或者者软软件件指指令令产产生生,是是由由CPU对对标标志志位位TF的测试而产生的。的测试而产生的。例如:例如:DEBUG.EXE调试程序的单步命令调试程序的单步命令T就利就利用单步中断实现对程序的单步调试用单步中断实现对程序的单步调试由由CPU对状态标志寄存器中的陷阱标志对状态标志寄存器中的陷阱标志TF的测试而产生的的测试而产生的1号中断。号中断。1/9/202362(3)断点中断断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置设置的断点,就是利用的断点,就是利用INT 3指令实现的指令实现的这是这是CPU执行执行IN
44、T指令而产生的指令而产生的3号中断(生成号中断(生成一个字节的指令代码:一个字节的指令代码:11001100)。)。这也是这也是8086提供给用户使用的一种调试程序手段。提供给用户使用的一种调试程序手段。对较长程序,通过设置断点(插入对较长程序,通过设置断点(插入INT指令),使程指令),使程序运行一段后进入断点中断,检查程序是否达到要求。序运行一段后进入断点中断,检查程序是否达到要求。1/9/202363(4)溢出中断溢出中断mov ax,2000hadd ax,7000h;2000H7000H9000H,溢出:,溢出:OF1into;因为;因为OF1,所以产生溢出中断,所以产生溢出中断由于
45、由于CPU本身不能判别当前处理的数据是否带本身不能判别当前处理的数据是否带符号,因此,它提供了符号,因此,它提供了INTO指令给用户。指令给用户。在带符号运算后安排一条在带符号运算后安排一条INTO指令,当运算后指令,当运算后OF1,则,则产生产生4号号内部中断(溢出中断),内部中断(溢出中断),进入溢出中断服务程序进行处理。进入溢出中断服务程序进行处理。1/9/202364(5)软件中断软件中断n在在执执行行中中断断调调用用指指令令INT n时时产产生生的的一一个个向向量量号号为为n(0 255)的的内内部部中中断断,n为为一个字节的中断类型码,称为指令中断。一个字节的中断类型码,称为指令中
46、断。l用用INT n指令来产生中断,运行用户自行指令来产生中断,运行用户自行设计的一些中断服务程序,这与段间调设计的一些中断服务程序,这与段间调用子程序相似。用子程序相似。如:系统功能调用如:系统功能调用INT 21H。1/9/2023652.8088的中断向量表中断向量即中断向量即中断服务程序的入口地址中断服务程序的入口地址,用,用3232位逻辑地址表示。位逻辑地址表示。中断向量表中断向量表是一个存储区,是一个存储区,该存储区存放了所有的中断向量。该存储区存放了所有的中断向量。1/9/202366表内容:表内容:所有中断服务程序的入口地址,即所有中断服务程序的入口地址,即256个个中断中断向
47、量。向量。表长度:表长度:一个中断向量一个中断向量4个字节个字节,256256个中断向量共个中断向量共2564256410241024字节,即占用字节,即占用1K1K存储空间。存储空间。表位置:表位置:物理地址物理地址00000H 00000H(03FFH)开始,依次安开始,依次安排各个中断向量,向量号也从排各个中断向量,向量号也从0 0开始开始存放次序:存放次序:按中断类型码从小到大依次存放。每个中断按中断类型码从小到大依次存放。每个中断向量占用的向量占用的4 4个单元中,个单元中,小地址存放偏移地址小地址存放偏移地址,大地址存大地址存放段地址放段地址。向量号为向量号为N的中断向量的物理地址
48、的中断向量的物理地址N41/9/202367003FFH向量号向量号255的的CS值值用户中断用户中断(向量号(向量号FFH)003FCH向量号向量号255的的IP值值(中断向量)(中断向量)向量号向量号2的的CS值值非屏蔽中断非屏蔽中断(向量号(向量号2)00008H向量号向量号2的的IP值值向量号向量号1的的CS值值单步中断单步中断(向量号(向量号1)00004H向量号向量号1的的IP值值向量号向量号0的的CS值值除法错中断除法错中断(向量号(向量号0)00000H向量号向量号0的的IP值值中断向量地址中断类型码中断类型码 FEH3 34H 3F8H 8088的中断向量表1/9/20236
49、8如如果果在在00080H00080H00083H00083H这这4 4个个单单元元中中存存放放的的内内容容分分别别为为 10H10H、20H20H、30H30H、40H40H,那那么么,在在该该系系统统中中,号号中中断断所所对对应应的的中中断断向向量为量为 。20H4030H:2010H问题问题1 100084H00083H00082H00081H00080H(CSH)40H(CSL)30H(IPH)20H(IPL)10H1/9/202369若若系系统统中中对对应应于于中中断断类类型型码码为为17H17H的的中中断断处处理理程程序序存存放放在在1234:5670H开开始始的的内内存存区区域域
50、中中,则则对对应应于于17H17H类类型型码码的的中中断断向向量量存存放放在在 开开始始的的4 4个个字字节节中中。这这4 4个个单单元元地地址址由由低低到到高高,每每个个单单元元中中的的值分别为值分别为:H H、H H、H H、H H。0000:005CH70563412问题问题2 21/9/202370练练 习习n1、中断向量的地址是(、中断向量的地址是()A.子程序入口地址B.中断服务程序的入口地址C.中断服务程序入口地址的地址D.例行程序入口地址n2、在PC/XT机中,NMI的中断向量在中断向量表中的位置是()A.由程序指定的B.由DOS自动分配的C.固定在0008H开始的4个字节中D