输入输出技术

上传人:工**** 文档编号:569499205 上传时间:2024-07-30 格式:PPT 页数:93 大小:1.10MB
返回 下载 相关 举报
输入输出技术_第1页
第1页 / 共93页
输入输出技术_第2页
第2页 / 共93页
输入输出技术_第3页
第3页 / 共93页
输入输出技术_第4页
第4页 / 共93页
输入输出技术_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《输入输出技术》由会员分享,可在线阅读,更多相关《输入输出技术(93页珍藏版)》请在金锄头文库上搜索。

1、恕匣危莉襄巩先赶步瞎削碴趁豹莲腑质枷备惺咙堡骆数溪只慎娱闸菲准类输入输出技术输入输出技术第6章 输入输出技术 CPU与外设的工作速度不一致,与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,如何使两者高效、可靠地进行数据传送,是本章讨论的问题。是本章讨论的问题。n输入输出的基本方法输入输出的基本方法n中断概念、中断响应过程中断概念、中断响应过程n8088中断系统、中断向量中断系统、中断向量表表默读淬骂美许遥悸苔祭而氓埔脾踩庐泼帕凭舀森芯川喻填索专淖涩献端桅输入输出技术输入输出技术7/30/20241输出设备:显示器、打印机等。输出设备:显示器、打印机等。输入设备:键盘、鼠标、扫描仪等

2、。输入设备:键盘、鼠标、扫描仪等。键盘、鼠标PS/2、USB扫描仪EPP(增强并口)、USB显示器15针D接口,也叫VGA接口。摧遭灯腋鄂汉牲页苇裂淫檀蒋初胜晾骂严捞障曹鼓毕岭赃隔控桨珍君贱乾输入输出技术输入输出技术7/30/20242多种多样的外设多种多样的外设n工作原理不同工作原理不同机械、电子、机电、电磁机械、电子、机电、电磁n传送信息类型多样传送信息类型多样数字量、模拟量、开关量数字量、模拟量、开关量n传送速度差别极大传送速度差别极大n传送方式不尽相同传送方式不尽相同串行、并行串行、并行n编码方式不同编码方式不同二进制、二进制、BCD码、码、ASCII码码z瞒徐德霞根炼死佛探座颜烛绵漆

3、代番爆垣塑试姻耸但仑叛骸重货助妓汐饭输入输出技术输入输出技术7/30/202436.1 概述概述为什么需要为什么需要I/OI/O接口(电路)?接口(电路)?n微机的外部设备多种多样微机的外部设备多种多样1)I/O设备的功能多种多样;设备的功能多种多样; 2)I/O设备工作速度不同;设备工作速度不同;3)I/O设备处理的信号不同设备处理的信号不同 (模拟或数字信号、模拟或数字信号、并行或串行并行或串行) ;4)I/O设备所需的控制信号不同。设备所需的控制信号不同。n工工作作原原理理、驱驱动动方方式式、信信息息格格式式、以及工作速度方面彼此差别很大以及工作速度方面彼此差别很大炙博谎坡辞盎糠劈徒偿己

4、冬墟漓则被天积役钠拴儿镀假购换到菱机辉磋凉输入输出技术输入输出技术7/30/20244输入输出输入输出(I/O)(I/O)设备是计算机系统的重要组设备是计算机系统的重要组成部分,计算机通过它们与外界进行数据交换。成部分,计算机通过它们与外界进行数据交换。因因I/OI/O设备种类繁多,设备种类繁多,CPUCPU并不与并不与I/OI/O设备直接设备直接进行信息交流,而是通过进行信息交流,而是通过I/OI/O接口进行接口进行。I/OI/O接接口是连接口是连接CPUCPU和和I/OI/O设备之间的桥梁。设备之间的桥梁。 输入设备和输出设备统称为输入设备和输出设备统称为外设外设。 I/O接口电路:即接口

5、电路:即I/O适配器。适配器。6.1 概述概述惧谱衷船厢镜吹涨另戚歧登举缩禁践属剖唁殊栋锰盏千绑醇鸽僳钳嘎业巷输入输出技术输入输出技术7/30/202456.1.1 I/O接口(电路)接口(电路)nI/O接接口口是是位位于于系系统统与与外外设设间间、用用来来协协助助完成数据传送和控制任务的逻辑电路完成数据传送和控制任务的逻辑电路nPC机机系系统统板板的的可可编编程程接接口口芯芯片片、I/O总总线线槽槽的的电路板(适配器)都是接口电路电路板(适配器)都是接口电路nI/O接口的特点:通用性和可编程性接口的特点:通用性和可编程性CPUCPU接口接口接口接口电路电路电路电路 I/OI/O设备设备设备设

6、备余盒名吓贩耍蛋滞奢挤淘短漾淌呕圆挎寥信梨苯玩肯镣毒昭笛嚼澎试毫姻输入输出技术输入输出技术7/30/202461、接口功能、接口功能 I/O接口在它连接的接口在它连接的CPU与与I/O设备之间起设备之间起信息信息转换作用转换作用。应具备:。应具备: 接口内有特定的硬件电路供接口内有特定的硬件电路供CPU直接存取,称直接存取,称为为I/O端口端口; 接口应有地址译码功能;接口应有地址译码功能; 接口可传送除基本信息(数据信息)外的各种接口可传送除基本信息(数据信息)外的各种信息。信息。尼甥秦盖封厅伟卷凛昨矽檄具燃烧燎战慕蝶谴钦筷真逃祷诧酱匙匝区左屋输入输出技术输入输出技术7/30/202472、

7、接口传递的信息、接口传递的信息数据信息:数据信息:CPU与与I/O设备传递的基本信息,包括数设备传递的基本信息,包括数字量、模拟量、开关量和脉冲量。字量、模拟量、开关量和脉冲量。 接口传递的基本信息是接口传递的基本信息是数据信息数据信息,除此之外,还,除此之外,还传递传递状态信息状态信息和和控制信息控制信息。不同的信息用不同的不同的信息用不同的I/OI/O端端口区分口区分。控制信息:控制信息:CPU通过接口传递给通过接口传递给I/O设备的信息,用设备的信息,用以控制以控制I/O设备的工作,如启动、停止等。设备的工作,如启动、停止等。状态信息:反映状态信息:反映I/O设备当前工作状态的信息,如输

8、设备当前工作状态的信息,如输出设备是否空闲,输入设备是否数据准备好等。出设备是否空闲,输入设备是否数据准备好等。杭碧失氏标即啤粉炸睹内虫锅累具惯湘泡坦莹日显域磅键遵掀递讣逛圣的输入输出技术输入输出技术7/30/202486.1.2 I/O接口的典型结构接口的典型结构控制总线控制总线CB地址总线地址总线ABI/OI/O接口电路接口电路数据数据控制控制状态状态数据总线数据总线DBCPU外设外设控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器寄存器寄存器 端口端口n三种信息:数据信息、状态信息、控制信息。三种信息:数据信息、状态信息、控制信息。n通过数据总线通过数据总线DB传输。传输。夹

9、膳鸵史刚盖星陈姆捍角彬廓印腕冕令荔姚洼抒蛔击墨探保厕砌玛棕赊牧输入输出技术输入输出技术7/30/202491. 接口电路的内部结构接口电路的内部结构nCPU与与外外设设主主要要有有数数据据、状状态态和和控控制制信信息息需需要要相相互交换,于是从应用角度看内部:互交换,于是从应用角度看内部: 数据寄存器数据寄存器数据端口数据端口n保存外设给保存外设给CPU和和CPU发往外设的数据发往外设的数据 状态寄存器状态寄存器状态端口状态端口n保存外设或接口电路的状态保存外设或接口电路的状态 控制寄存器控制寄存器控制端口控制端口n保存保存CPU给外设或接口电路的命令给外设或接口电路的命令惨筑撞氖密栖刺莆顷簧

10、烟入盒困倡剥幅拈忠囱县攀躇稀赶瘪鲸内员臀仙灸输入输出技术输入输出技术7/30/2024102. 接口电路的外部特性接口电路的外部特性n主要体现在引脚上,分成两侧信号主要体现在引脚上,分成两侧信号面向面向CPU一侧的信号:一侧的信号:n用于与用于与CPU连接连接n主要是数据、地址和控制信号主要是数据、地址和控制信号面向外设一侧的信号:面向外设一侧的信号:n用于与外设连接用于与外设连接n提供的信号五花八门提供的信号五花八门n功能定义、时序及有效电平等差异较大功能定义、时序及有效电平等差异较大芍帘蛛纽书煞毡探糖邑帛色刘谊宪兔汞幸内比铸焚梁淑律文情纪站挺甄海输入输出技术输入输出技术7/30/20241

11、16.2 I/O端口的编址端口的编址接口电路占用的接口电路占用的I/O端口有两类编排形式端口有两类编排形式nI/O端口与存储器统一编址端口与存储器统一编址n它们共享一个地址空间它们共享一个地址空间n如如M6800nI/O端口单独编址端口单独编址nI/O地址空间独立于存储地址空间地址空间独立于存储地址空间n如如8086/8088焙半静汐臼嫂郑拾公悸衣咸蚜遣隐麓摊票呼炕赊碍档啮勺扬流多迷闸融姑输入输出技术输入输出技术7/30/202412I/O端口与存储器统一编址端口与存储器统一编址n优点:优点:n不需要专门的不需要专门的I/O指令指令nI/O数数据据存存取取与与存存储储器器数数据存取一样灵活据存

12、取一样灵活n缺点:缺点:nI/O端端口口要要占占去去部部分分内内存存空间空间n程程序序不不易易阅阅读读(不不易易分分清清访存和访问外设)访存和访问外设)内存内存部分部分I/O部分部分00000HFFFFFHF0000H存存储储器器空空间间锯镶泌檄钙舍哪趣岂蜜告治溜埠芋酵抽毕遁沮扭踢佳谢珠苞剃帝徒馆蒲估输入输出技术输入输出技术7/30/202413I/O端口单独编址端口单独编址n优点:优点:nI/O端口的地址空间独立端口的地址空间独立n控制和地址译码电路相对简单控制和地址译码电路相对简单n专门的专门的I/O指令使程序清晰易读指令使程序清晰易读n缺点:缺点:nI/O指令没有存储器指令丰富指令没有存

13、储器指令丰富n80x86采用采用I/O端口独立编址端口独立编址内存内存空间空间I/O空间空间FFFFFH0FFFFH稚眷孪粤踏檀睫价堰偶盾戊尊算漳剩垒躲砚庐饰雌氟斤咕幅铲防手兄谐懒输入输出技术输入输出技术7/30/2024148088的的I/O端口地址端口地址n8088只能通过输入输出指令与外设进行数据只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(交换;呈现给程序员的外设是端口(Port),),即即I/O地址地址n8088用于寻址外设端口的地址线为用于寻址外设端口的地址线为16条,端条,端口最多为口最多为21665536(64K)个,端口号为)个,端口号为0000H FFF

14、FHn地址线上的地址信号用地址线上的地址信号用 IO / M*来区分来区分n每个端口用于传送一个字节的外设数据每个端口用于传送一个字节的外设数据nIBM PC只使用了只使用了1024个个I/O地址地址(03FFH)慰分困订伤戴已堂庚顿吮端眩靛即舞躺祟挣诽桨拘履彼国轨重谱跺团帐先输入输出技术输入输出技术7/30/202415输入输出(输入输出(I/OI/O)指令)指令n每个端口用于传送一个字节的外设数据每个端口用于传送一个字节的外设数据只限于用累加器只限于用累加器ALAL或或AXAX来传送信息。来传送信息。功能功能: (: (累加器累加器)I/OI/O端口端口堡芒阴慌温豢采尺榜握肾嘲景达锰爽捆趋

15、膏编敌喜殃履街枷诲揩湛赦鲜越输入输出技术输入输出技术7/30/202416输入输出寻址方式输入输出寻址方式n80868086的的端端口口有有64K64K个个,无无需需分分段段,设设计计有有两种寻址方式两种寻址方式v直直接接寻寻址址:只只用用于于寻寻址址00H00HFFHFFH前前256256个个端口,操作数端口,操作数i8i8表示端口号表示端口号v间间接接寻寻址址:可可用用于于寻寻址址全全部部64K64K个个端端口口,DXDX寄存器的值就是端口号寄存器的值就是端口号n对大于对大于FFHFFH的端口只能采用间接寻址方式的端口只能采用间接寻址方式拾浴驯晾楔喇钓截体闽党砚宋瞩崩逾俏泥宜疟待食级祝抓爪

16、筑锻即剂吩嘉输入输出技术输入输出技术7/30/202417(1)输入指令输入指令IN格式格式: IN acc,PORT ;PORT端口号端口号0255H IN acc,DX ;DX表示的端口范围达表示的端口范围达64K例例:IN AL,80H ;(AL)(80H端口端口) IN AL,DX ;(AL)(DX)蜂泡哭谈肪席霓渴鸣育筋唾讥具党自顺柏死闪芥逸浮者洋压煽得柞剂鸡逮输入输出技术输入输出技术7/30/202418例:输入字量1.直接寻址,字节量输入直接寻址,字节量输入 in al,21h mov ah,al in al,20h功能相同功能相同 字量数据传送字量数据传送实际上实现了连实际上实

17、现了连续的两个端口地续的两个端口地址的字节量传送址的字节量传送2.直接寻址,字量输入直接寻址,字量输入 in ax,20h3.间接寻址,字量输入间接寻址,字量输入 mov dx,20h in ax,dx酱吕申伟颊少知靠瘁迅藉彰曹孺敖焙审件炮哎瘁蜘视荔啤观蛤寿邯虎叮叠输入输出技术输入输出技术7/30/202419例:例: OUT 68H,AX ;(69H,68H)(AX) OUT DX,AL ;(DX)(AL)在在使使用用间间接接寻寻址址的的IN/OUT指指令令时时,要要事事先先用用传传送指令把送指令把I/O端口号设置到端口号设置到DX寄存器:寄存器: MOV DX,220H IN AL,DX

18、;将将220H端口内容读入端口内容读入AL (2) (2) 输出指令输出指令OUTOUT格式格式:OUT port , acc OUT DX , acc拿吱掀衔孰缔勿艘告发踩茶广蜕健要批平屏朝哥稚威焉犁猩熏摘嫉穴事颠输入输出技术输入输出技术7/30/202420IN AL, PORT输输入入端端口口数数据据线线 地址译码地址译码(RD,IO/M ) IOR输输出出端端口口数数据据线线 地址译码地址译码(WR,IO/M ) IOW指令指令硬件电路信号硬件电路信号OUT PORT, AL派靠艾见萎祷涵疆包银修绩舆诸寺锦罗陆夺豁钨番准敢懒迪让贼淳谅断磺输入输出技术输入输出技术7/30/2024216

19、.3 I/O的基本方式的基本方式n无条件传送无条件传送n查询方式查询方式n中断方式中断方式n直接存储器存取(直接存储器存取(DMA)方式)方式( Direct Memory Access )帛孺姜吟尿朝凹辐遍猾遗谓汕悟裤玻吓券鸳镇元溜她仁淳汝腑锣拷带健碾输入输出技术输入输出技术7/30/202422无条件传送无条件传送无条件传送无条件传送(CPU与外设同步工作):与外设同步工作):外部控制外部控制过程各种动作过程各种动作时间是固定的时间是固定的,而且,而且是已知的是已知的。查询方式查询方式查询方式查询方式(CPU与外设不同步工作):与外设不同步工作):传送前,传送前,先查询外设状态先查询外设状

20、态,准备好才传送,否则,准备好才传送,否则CPUCPU处于处于等待状态。等待状态。中断方式:中断方式:中断方式:中断方式:外设与外设与CPU处于并行工作处于并行工作,一旦外,一旦外设准备好,外设向设准备好,外设向CPUCPU发中断申请,条件具备,发中断申请,条件具备,CPUCPU暂停原程序执行,响应中断,外设与暂停原程序执行,响应中断,外设与CPUCPU串串行工作。行工作。DMADMA方式方式方式方式: CPU不干予,不干予,由硬件实现由硬件实现存储器与存储器与外设之间外设之间交换数据。交换数据。措喜舵壕朝柏邪腕垂障草郸挞浑澳茸肝第漂撵鹃尽椭熬诈弃含俏叔卯绿讳输入输出技术输入输出技术7/30/

21、2024231 无条件传送方式无条件传送方式 特点特点n这种传送有前提:外设必须随时就绪这种传送有前提:外设必须随时就绪n适适合合于于简简单单设设备备,如如开开关关、发发光光二二极极管管、 LED数码管、数码管、 继电器、按键或按纽等设备。继电器、按键或按纽等设备。n无条件传送的接口和操作均十分简单无条件传送的接口和操作均十分简单实现方法实现方法n CPUCPU不查询外设工作状态不查询外设工作状态n 与外设速度的匹配通过在软件上延时完成与外设速度的匹配通过在软件上延时完成n 程序中直接用程序中直接用I/OI/O指令,完成数据传送指令,完成数据传送效聚刷胞焉歌狰绒峡通郴羞曾馅症捧寝臂三为晦贞糟退

22、怂耽荷艘衡惕蛊绊输入输出技术输入输出技术7/30/202424输入接口设计输入接口设计完成如下任务:完成如下任务:当开关接通时,当开关接通时,CPU执行程序段执行程序段ON;当开关断开时,当开关断开时,CPU执行程序段执行程序段OFF;MOV DX,0FFF7HIN AL,DXAND AL,01HJZ ONJMP OFF埃些琅以兹烈阑喘量痈旗潘藉蕴独蹲椽纺泪亚溜像水入任哮桔粘寐袜闷枯输入输出技术输入输出技术7/30/202425AB输输入入设设备备三三态态缓缓冲冲器器地址译码器地址译码器DB(D7D0)IOR(RD,IO/M)无条件传送:输入无条件传送:输入接口电路接口电路 硬件保证硬件保证:

23、只在只在CPU执行从相应端口输入数据时执行从相应端口输入数据时, 三态门处于工作状态,使输入设备的数据送上总线侧;三态门处于工作状态,使输入设备的数据送上总线侧;而而CPU执行其它指令时执行其它指令时, 三态门均处于高阻状态三态门均处于高阻状态, 使输入设备的数据线与总线侧断开使输入设备的数据线与总线侧断开卸汹耍挚圣洞虏池辽览格猾椭否壶珊缄奸觅涯宽姓搞励癸藻锄氟浙耀勋叉输入输出技术输入输出技术7/30/202426输出接口设计输出接口设计锁存器作为发光二锁存器作为发光二极管与微机系统数极管与微机系统数据总线连接的中间据总线连接的中间接口,接收来自接口,接收来自CPU的输出数据。的输出数据。MO

24、V DX,0000HMOV AL,81HOUT DX,ALCPCP端出现低电端出现低电平信号,锁存平信号,锁存MOV DX,0000HMOV AL,00HOUT DX,ALCPUCPU执行指令控执行指令控制二极管发光制二极管发光或谰冲顽梦墟贬未传砚欧瓜二鹰瞻栅颅祁突挑违吗谐峨怯泼漆搐洒订燕芯输入输出技术输入输出技术7/30/202427无条件传送:输出无条件传送:输出AB输输出出设设备备锁锁存存器器地址译码器地址译码器DB(D7D0)IOW(WR,IO/M) D QG锁存器锁存器吏俞揖瘩钎制辨豫倒壬摈访敲央玩藕唯毒墟谗挺担祖圆项重密涛搜承镁答输入输出技术输入输出技术7/30/202428例:如

25、图示,外设为8个发光二极管,与其相连的I/O端口地址80H,欲使发光二极管全亮,执行指令:MOV AL, 0MOV AL, 0OUTOUT80H, AL80H, AL戚理抡脏阀矽言颐孕寂丝忧囚寥卑勒疗锥麓黎簿蹄纱修硫席玩谭巍肛次胜输入输出技术输入输出技术7/30/202429例:无条件传送例:无条件传送nCPU通通过过一一个个输输入入接接口口采采集集一一组组开开关关K0K7的的状状态态,然然后后通通过过一一个个输输出出接接口口控控制制对对应应的的一一组组发发光光二二极极管管LED0LED7显显示示出出来来(Ki闭合,对应闭合,对应LEDi亮;亮;Ki断开,对应断开,对应LEDi灭)灭)闭佰蛆眠

26、钙段悠砌蛆灼众颧抒饮姐移逗兼绘界青镑迪没传淬造匀争阵逞夹输入输出技术输入输出技术7/30/202430例:无条件传送例:无条件传送脐货殆蔑利障掀他雪虑戎瞄庇疙帝报巩护院宿蹭重唾捍共虹古烃恍易瓦屉输入输出技术输入输出技术7/30/202431MOV DX,80HIN AL,DXMOV DX,81HOUT DX,AL;输入端口地址;输入端口地址80H;输入开关状态;输入开关状态;输出端口地址为;输出端口地址为81H;控制对应;控制对应LED则狠崔苍离爵润比箕蛆炯疡良颓廓云氨梭沮匙点缴表咳率兼宠鳞捌割暂稻输入输出技术输入输出技术7/30/2024322. 查询方式查询方式 实现方法:实现方法: 在与

27、外设进行传送数据前,在与外设进行传送数据前,CPUCPU先查询外设状态先查询外设状态,当当外设准备好后,才执行外设准备好后,才执行I/OI/O指令,实现数据传送。指令,实现数据传送。外设接口与外设有三种信息交换:(1)进行传送的数据(数据端口)(2)外设的控制信号(控制端口)(3)外设的状态信息外设的状态信息(状态端口)跃坊札表栖鲜剑偷房孕有僧中诀积阴僧屹乃陪谰鳞筛返治器眯云摔狡痊抛输入输出技术输入输出技术7/30/202433查询传送的两个环节查询传送的两个环节 查询环节查询环节n寻址状态口寻址状态口n读取状态寄存器的标志位读取状态寄存器的标志位n若不就绪就继续查询,直至就绪若不就绪就继续查

28、询,直至就绪 传送环节传送环节n寻址数据口寻址数据口n是输入,通过输入指令从数据端口读入数据是输入,通过输入指令从数据端口读入数据n是输出,通过输出指令向数据端口输出数据是输出,通过输出指令向数据端口输出数据输入状态输入状态就绪?就绪?数据交换数据交换YN萧谐懂随系匙并勉集蛛砾喇竿瘴串臣向谚窿岔项倒懒竭袍程跺额罗轴复容输入输出技术输入输出技术7/30/202434【例【例6】查询方式输出数据】查询方式输出数据n外外设设经经I/O接接口口与与系系统统总总线线相相连连,外外设设的的状状态态信信号号BUSY由由状状态态端端口口的的D0位位输输出出到到CPU数数据据总总线线的的D0,当当BUSY0时时

29、,表表示示外外设设忙忙,不不可可以以接接收收CPU输输出出的的数数据据;当当BUSY1时时,则表示外设处于空闲状态,可以接收。则表示外设处于空闲状态,可以接收。砰节筹神确鸦轻毡钢讯钳昧爵侠纤狮拘磕遏坊鹿赤棕泄伴恃施耘积钩奔舶输入输出技术输入输出技术7/30/202435333H端口端口状态端口状态端口333H端口端口数据端口数据端口地址地址译码译码数据数据缓冲缓冲控制控制电路电路输输出出外外设设CPU地址线地址线数据线数据线控制线控制线状态状态状态状态数据数据【例【例6.26.2】查询方式输出数据】查询方式输出数据外设的状态端口为外设的状态端口为0333 H,其中,其中D0 = 1时,表示外设

30、准备好;时,表示外设准备好;外设的数据端口为外设的数据端口为0333 H。编程将。编程将CL中的数据输出到外设。中的数据输出到外设。饮疑赴策浴休秩熊跃整喜脊艇寅篮氏疲屁怔附据穴针寿侵再滩尼哨谁棘管输入输出技术输入输出技术7/30/202436从从0333H状态端口状态端口读入外设状态信息读入外设状态信息将一字节数据送至将一字节数据送至0333H数据端口数据端口YND0=1, 外设准备好?外设准备好?流程图流程图;设置端口地址;设置端口地址;读外设状态;读外设状态;外设忙否?;外设忙否?;状态寄存器最低位为;状态寄存器最低位为0则忙则忙;字符在;字符在CL中中;输出该字符;输出该字符骄厨益所窜钳

31、痉贱栏攫溅夏尿量酣追砍哇体婉狱莽锹角肩挺吻缓你例济耍输入输出技术输入输出技术7/30/202437;设置端口地址;设置端口地址;读外设状态;读外设状态;外设忙否?;外设忙否?;状态寄存器最低位为;状态寄存器最低位为0则忙则忙;字符在;字符在CL中中;输出该字符;输出该字符START:MOV DX,333HWAIT :IN AL,DX TEST AL,01H JZ WAIT MOV AL,CL OUT DX,AL RET衫委尼惯男置棋席牛把靳谬蕴础艰判煌凉潜在魔聘柳天怨禄奖酸殃氦嵌剧输入输出技术输入输出技术7/30/202438当CPU需要对多个设备进行操作时,则则CPU按按一定顺序依次查询(轮

32、一定顺序依次查询(轮询)。询)。所谓的优先级问题。先查询的外设将优先查询的外设将优先进行数据交换。先进行数据交换。缺点:缺点: 不能对设备进行实时处理查询过程大大降低CPU的效率 外设接口始终处于被动状态CPUCPU通过不断查询外设状态,通过不断查询外设状态,实现与外设的速度匹配,实现与外设的速度匹配,食纳期凿吃济炔闻酬桩靖砚绥盟纂韶枢鄙棠搭吱巢览日诡睦孟势快挽邓透输入输出技术输入输出技术7/30/2024393 3、中断控制方式、中断控制方式CPU在启动外设开始某一操作之后,继续执行它本身的程序程序。当外设数据准备就绪,向CPU提出请求请求,CPU在接到请求后暂时中断原来执行的程序,转去执行

33、外设所要求的程序程序(如输入或输出一个数据),待服务结束后又返回原程序继续执行。主程序中断请求中断服务程序主程序主程序中断请求中断请求中断服务程序中断服务程序枣贴道蒜睡坊奋宦调赴骄朝拜蝉山绦撅秽舌栗淀世寂规哪蚀怪载稍招浑蹦输入输出技术输入输出技术7/30/202440n前面三种前面三种I/O方式都需要方式都需要CPU作为中介:作为中介:两个含义:两个含义:1 1)软件:外设与内存之间的数据传送是通过)软件:外设与内存之间的数据传送是通过CPUCPU执执行程序来完成的(程序控制方式);行程序来完成的(程序控制方式);2 2)硬件:)硬件:I/OI/O接口和存储器的读写控制信号、地址接口和存储器的

34、读写控制信号、地址信号都是由信号都是由CPUCPU发出的(总线由发出的(总线由CPUCPU控制)。控制)。n缺点:程序的执行速度限定了传送的最大速度(约缺点:程序的执行速度限定了传送的最大速度(约为几十为几十KB/秒)秒)解决:解决:DMA传输传输外设外设CPU内存内存弊裹令杖伦移疮喀皆夜模醚镜柒披骑洽威冯迫旋却蓝细薪胯画剩冲榷憾倚输入输出技术输入输出技术7/30/2024414 4、直接存储器存取方式、直接存储器存取方式(DMA)(DMA) DMA(Direct Memory Access)意为直接数据访问。它是在内存的不同区域之间,或者在内存与外设端口之间直接进行直接进行数据传送,而不经过

35、不经过CPUCPU中转中转的一种数据传送方式,可以大大提高数据的传送速度。 箩粤举退目毖疏役揽亢上宏遭报亡攘魏盂麦亏纱索牌泽叹雏篱望拉赁妻特输入输出技术输入输出技术7/30/202442(1)DMA方式与其它方式比较DMA控制器控制器内存内存/外设外设外设外设/内存内存无需无需CPU指令指令外设外设/内存内存CPUMOV XX,ALOUT DX,ALIN AL,DXMOV AL,XX内存内存/外设外设寺肥氧两锈阂修咨邹妹蛀挟要食蛾捧窥蝎坟壤涅肮饯窝突糠秩落痞棋狗耽输入输出技术输入输出技术7/30/202443 (2)DMA传输的特点外外设设直直接接与与存存储储器器进进行行数数据据交交换换 ,C

36、PU不不再担当数据传输的中介者;再担当数据传输的中介者;总总线线由由DMA控控制制器器(DMAC)进进行行控控制制(CPU要要放放弃弃总总线线控控制制权权),内内存存/外外设设的的地址和读写控制信号均由地址和读写控制信号均由DMAC提供。提供。n优优点点:数数据据传传输输由由DMA硬硬件件来来控控制制,数数据据直直接接在在内内存存和和外外设设之之间间交交换换,可可以以达达到到很很高的传输速率(可达几高的传输速率(可达几MB/秒)秒)外设外设内存内存堵雕羊磺帛遥钟蓄蒋麦炕整锚片磅春淆滁喻梭褒冯粕微虹卡虾审啦惧及堪输入输出技术输入输出技术7/30/202444DMA控制器CPU外设由外设向DMAC

37、发出DMA请求通过HOLD信号线发出DMA请求通过HLDA信号线发出DMA响应发出DMA应答信号通过HOLD信号线撤消DMA请求使HLDA信号无效与内存传送数据(在DMA控制器控制下) (3)DMA传输的工作过程提团佣队仗扇辛剐席救修政镊缚铃峻毛格室姿对柄悼锭峪忧患桅午饮邦吵输入输出技术输入输出技术7/30/202445练习练习n对对I/O端端口口的的编编址址一一般般有有 方方式式和和 方方式。式。PC机采用的是机采用的是 方式。方式。n在在PC系系列列微微机机中中,I/O指指令令采采用用直直接接寻寻址址方方式式的的I/O端端口口有有 个个。采采用用DX间间接接寻寻址址方式可寻址的方式可寻址的

38、I/O端口有端口有 个。个。n CPUCPU在在执执行行OUT OUT DXDX,ALAL指指令令时时, 寄寄存存器器的的内内容容送送到到地地址址总总线线上上, 寄寄存存器器的的内内容送到数据总线上。容送到数据总线上。n数数据据输输入入/输输出出的的几几种种方方式式是是 、 、和和 。咳频市清厄闷亨庐败犹摇万根亦眉养哭骋事佬荒道患诀栓蕉季茁蒜般甚跪输入输出技术输入输出技术7/30/202446恕匣危莉襄巩先赶步瞎削碴趁豹莲腑质枷备惺咙堡骆数溪只慎娱闸菲准类输入输出技术输入输出技术6.4 中断传送方式中断传送方式擎冤荚翱局慰岔炬灿饥袭拦渠巢伞贡给撤替仗卫氮截酵刃笛驻渴竭镁马嗣输入输出技术输入输出

39、技术7/30/202447为何计算机中要引入中断?为何计算机中要引入中断?n提高数据传输率;提高数据传输率;l避免避免CPU不断检测外设状态,提高不断检测外设状态,提高CPU的的利用率。利用率。l实现对特殊事件的实时响应。实现对特殊事件的实时响应。如多任务系统操作系统中:如多任务系统操作系统中: l缺页中断缺页中断l设备中断设备中断l各类异常各类异常l实时钟,等实时钟,等阶船汰笨邱菏准政授骗愉赴妻豫管苞赎舞碌蜗秒宅哮立拖署赫泌窥僻庚锄输入输出技术输入输出技术7/30/202448n什么是中断什么是中断? ?n与生活场景的比较与生活场景的比较正在看书正在看书电话铃响电话铃响接电话接电话继续看书继

40、续看书事件发生事件发生事件处理事件处理继续执行程序继续执行程序实际场景实际场景执行程序执行程序计算机计算机 中断请求及响应中断请求及响应 中断处理中断处理中断返回中断返回6.4.1. 6.4.1. 中断的基本概念中断的基本概念鸭洗虐攀舀狮熄聚隔肩职酞化垦舍合听幌刀弥值装郧鸭蛆依死纵氢耘息媳输入输出技术输入输出技术7/30/202449中断服务程序中断服务程序发申请发申请中断服务程序中断服务程序发发 申申 请请外外设设外设准备数据,外设准备数据,CPUCPU执行程序执行程序, ,此时,此时,CPUCPU与外设并行工作;与外设并行工作; 外设准备就绪,向外设准备就绪,向CPUCPU发中断发中断申请

41、,申请,CPUCPU暂停原程序执行,响暂停原程序执行,响应中断,进行数据传输。此时,应中断,进行数据传输。此时,CPUCPU与外设是串行工作。与外设是串行工作。中断传送方式中断传送方式邪眷畜谬犁乡芬肤绩浙养心百允缉销另炬堡免硫曾贫忙盲层敞襟浸洗抓士输入输出技术输入输出技术7/30/2024501.中断的定义中断的定义断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求 对外设对外设进行处理进行处理返回断点返回断点CPUCPU在执行在执行程序中,被内部程序中,被内部或外部的事件所或外部的事件所打断,转去执行打断,转去执行一段预先安排好一段预先安排好的中断服务程序;的中断服务程序;服务结束

42、后,又服务结束后,又返回原来的断点,返回原来的断点,继续执行原来的继续执行原来的程序程序. .诸寄短鸭嵌蝴棒嘘达栈抱衣孪骏够唐纲皱垣婴烽答心姨贰串磁货蛀脏搽苯输入输出技术输入输出技术7/30/2024511000:150H 主程序主程序 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、CPU在执行此指令时,在执行此指令时,某中断源发申请中断某中断源发申请中断;CPU在执行完该指令后在执行完该指令后,转去执行中断子程转去执行中断子程.断点概念断点概念: :PUSH AX 、 、 IRET断点断点中断服务程序中断服务程序尿吻炸育睁彻郑弄渗叶纷豁鸡嚣付制天晋人弄但赋护狰领杯枕

43、爹迄打圾香输入输出技术输入输出技术7/30/202452中断源中断源n引起引起CPU中断的事件中断的事件中断源。中断源。n外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等n事件事件掉电、硬件故障、软件错误、非法操作、定时到掉电、硬件故障、软件错误、非法操作、定时到l中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断l内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断l外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断l8086/8088的外部中断信号:的外部中断信号:INTR、NMIlINTR可屏蔽中断请求,

44、高电平有效,受可屏蔽中断请求,高电平有效,受IF标志的控制。标志的控制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。 lNMI非屏蔽中断请求,上升沿有效,任何时候非屏蔽中断请求,上升沿有效,任何时候CPU都要都要响应此中断请求信号。响应此中断请求信号。蔗女素帽胯揣惊暮瘩那凤脉似苦竭谐较黑渺癸俭桶苔仆里问烂弄杠录胳焰输入输出技术输入输出技术7/30/2024532. 中断传送方式的特点中断传送方式的特点n效率更高的程序传送方式效率更高的程序传送方式l中断服务程序是预先设计好的中断服务程序是预先设计好的l中断请求是随机的中断请求是随机的lCPU对请求的检测是有

45、规律的:一般是在对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请每条指令的最后一个时钟周期采样中断请求输入引脚求输入引脚瞩腕仰谓揉辰尘粉仰盒悦嘻织莉靳裳薄疙解裳菜戌欢磅溜录瓶沿佃葬孽粥输入输出技术输入输出技术7/30/202454 6.4.2 80886.4.2 8088的中断系统的中断系统n8088的中断系统采用向量中断机制的中断系统采用向量中断机制n能够处理能够处理256个中断,用中断向量号个中断,用中断向量号0255区别区别n可屏蔽中断还需要借助专用中断控制器可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理实现优先权管理n与中断有关的控制线为:与

46、中断有关的控制线为:NMI、INTR、INTA*敝邯茨籍绘了牛隋迪佬美皱囤苏嚣鞍卯啼遵惜趴绊幽勃吵拧锰枫纫障随纠输入输出技术输入输出技术7/30/2024551.8086/80881.8086/8088的中断类型的中断类型NMIINTR中断中断逻辑逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断请求非屏蔽中断请求中断控中断控制器制器8259APIC8086/8088CPU8086/8088CPU内部逻辑内部逻辑断点中断断点中断n43012可可屏屏蔽蔽中中断断请请求求秃制见头寺织集央谱伦馈耍铡词准倦轴迟垒犀两棘盲克谁斋宏斟区驴呀号输入输出技术输入输出技术7/30

47、/202456外部中断外部中断n是由于是由于8088外部提出中断请求引起的外部提出中断请求引起的l利用外部中断,微机系统可以实时响应外设利用外部中断,微机系统可以实时响应外设的数据传送请求,及时处理外部意外或紧急的数据传送请求,及时处理外部意外或紧急事件事件l外部中断的原因是处理器外部外部中断的原因是处理器外部随机随机产生的,产生的,所以是真正的中断(所以是真正的中断(Interrupt)l内部中断的原因是处理器执行程序出现异常,内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(所以经常被称为异常(Exception)非屏蔽中断非屏蔽中断中断类型码中断类型码n n2 2可屏蔽中断可屏

48、蔽中断中断类型码中断类型码n n由申请中断的中断源提供由申请中断的中断源提供装奋卜决辛旦酥捧冗勿抗疟吐拔诽划宾悼谚渴微槛娠保空瘫徘板散鱼刽屠输入输出技术输入输出技术7/30/202457 非屏蔽中断非屏蔽中断NMIn通通过过非非屏屏蔽蔽中中断断请请求求信信号号NMI向向微微处处理理器器提提出出的的中中断断请请求求,微微处处理理器器无无法法禁禁止止,将将在在当当前前指指令令执执行行结结束束予予以以响响应应,这这个个中中断断被称为非屏蔽中断被称为非屏蔽中断l8088的非屏蔽中断的向量号为的非屏蔽中断的向量号为2l非屏蔽中断主要用于处理系统的意外或故非屏蔽中断主要用于处理系统的意外或故障。例如:障。

49、例如:l电源掉电前的数据保护电源掉电前的数据保护l存储器读写错误的处理存储器读写错误的处理猖标恋柴痪趁遮碰烬驰潍溶忧祟亦阁稽逸细遣酿佣睫希命糠歇躯壳英哦鬃输入输出技术输入输出技术7/30/202458 可屏蔽中断n外外部部通通过过可可屏屏蔽蔽中中断断请请求求信信号号INTR向向微微处处理理器器提提出出的的中中断断,微微处处理理器器在在允允许许可可屏屏蔽蔽中中断断的的条条件件下下,在在当当前前指指令令执执行行结结束束予予以以响响应应INTA* ,同同时时输输出出可可屏屏蔽蔽中中断断响响应应信信号号,这这个中断就是可屏蔽中断个中断就是可屏蔽中断IF 控制可屏蔽中断的响应控制可屏蔽中断的响应lIF1

50、,允许中断;,允许中断;IF0,禁止中断。,禁止中断。l8088通常需要配合中断控制器通常需要配合中断控制器8259A共同处共同处理可屏蔽中断理可屏蔽中断l可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据吵滁昔川旷傣改环奢锦积巢眶耗矩屎液淡庆贺医阴纵廷摧眶萤将吊球涉天输入输出技术输入输出技术7/30/202459 内部中断内部中断n8088内部执行程序出现异常引起的内部执行程序出现异常引起的n利利用用内内部部中中断断,微微处处理理器器为为用用户户提提供供了了发发现现、调试并解决程序执行时异常情况的有效途径调试并解决程序执行时异常情况的有效途径n例例如如,ROM-BIOS

51、和和DOS系系统统利利用用内内部部中中断断为程序员提供了各种功能调用为程序员提供了各种功能调用内部中断的中断向量号已定内部中断的中断向量号已定癸柄拱曙挎饼当枫斗哄搁块闸搬盖肢钎石呻晰籽寞擦柞腆唐摸俏潞岸洱塞输入输出技术输入输出技术7/30/202460 除法错中断除法错中断n在在执执行行除除法法指指令令时时,若若除除数数为为0或或商商超超过过了了寄寄存存器器所所能能表表达达的的范范围围,则则CPU会会自自动动产产生生一一个个向向量号为量号为0的内部中断,称为除法错中断的内部中断,称为除法错中断n0号中断没有对应的中断指令号中断没有对应的中断指令例如:例如:mov bl,0idiv bl;除数;

52、除数BL0,产生除法错中断,产生除法错中断mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表达表达;产生除法错中断;产生除法错中断削括膜裁陆瓦憾藤宝卓苏韶卤四显晓沼粳挣吝辛毡锅付牌藩赘憾混陕锯泅输入输出技术输入输出技术7/30/202461(2) 单步中断单步中断n若若TF1,则则在在每每条条指指令令执执行行结结束束后后产产生生1号号内部中断,称为单步中断内部中断,称为单步中断n类类似似0号号(除除法法错错)中中断断:不不是是由由外外部部硬硬件件或或者者软软件件指指令令产产生生,是是由由CPU对对标标志志位位TF的测试而产生的。的测试而产生的。例如:例如:

53、DEBUG.EXE调试程序的单步命令调试程序的单步命令T就利就利用单步中断实现对程序的单步调试用单步中断实现对程序的单步调试由由CPU对状态标志寄存器中的陷阱标志对状态标志寄存器中的陷阱标志TF的测试而产生的的测试而产生的1号中断。号中断。溺弯屹十煽帕忍疽痔涯俱综寒循骇极危饰沸均庭锣枉阮陋荔页澎唯洛我艺输入输出技术输入输出技术7/30/202462(3) 断点中断断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置设置的断点,就是利用的断点,就是利用INT 3指令实现的指令实现的这是这是CPU执行执行INT指令而产生的指令而产生的3号中断(生成号中断(生成一个字节的

54、指令代码:一个字节的指令代码:11001100)。)。这也是这也是8086提供给用户使用的一种调试程序手段。提供给用户使用的一种调试程序手段。对较长程序,通过设置断点(插入对较长程序,通过设置断点(插入INT指令),使程指令),使程序运行一段后进入断点中断,检查程序是否达到要求。序运行一段后进入断点中断,检查程序是否达到要求。吧秦向剿呆删箍樟拧吮噬怪民瞳避返孵始舰必晰吸贫粕氮风砚幼发殆档劳输入输出技术输入输出技术7/30/202463(4) 溢出中断溢出中断mov ax,2000hadd ax, 7000h;2000H7000H9000H,溢出:,溢出:OF1into;因为;因为OF1,所以产

55、生溢出中断,所以产生溢出中断由于由于CPU本身不能判别当前处理的数据是否带本身不能判别当前处理的数据是否带符号,因此,它提供了符号,因此,它提供了INTO指令给用户。指令给用户。在带符号运算后安排一条在带符号运算后安排一条INTO指令,当运算后指令,当运算后OF1,则,则产生产生4号号内部中断(溢出中断),内部中断(溢出中断),进入溢出中断服务程序进行处理。进入溢出中断服务程序进行处理。倘道受把砖冷使肮患柱辽疚皑蠢冤略沤寒撤闲赤乡槐征梆曙顾被厕甲培囚输入输出技术输入输出技术7/30/202464(5) 软件中断软件中断n在在执执行行中中断断调调用用指指令令INT n时时产产生生的的一一个个向向

56、量量号号为为n(0 255)的的内内部部中中断断, n为为一个字节的中断类型码,称为指令中断。一个字节的中断类型码,称为指令中断。l用用INT n指令来产生中断,运行用户自行指令来产生中断,运行用户自行设计的一些中断服务程序,这与段间调设计的一些中断服务程序,这与段间调用子程序相似。用子程序相似。如:系统功能调用如:系统功能调用INT 21H。沈读最鼎奶验授佛当涧鳞哗箕呈源秩臭瓷白窄速缄裙仁峦谅窖立屁楚襄稻输入输出技术输入输出技术7/30/2024652. 8088的中断向量表中断向量即中断向量即中断服务程序的入口地址中断服务程序的入口地址,用,用3232位逻辑地址表示。位逻辑地址表示。中断向

57、量表中断向量表是一个存储区,是一个存储区,该存储区存放了所有的中断向量。该存储区存放了所有的中断向量。萌髓描阎钩匡谎芒据质乌持联银镍钧隆徊邱这沈疮第胎铅森豌朋将狡遇簿输入输出技术输入输出技术7/30/202466表内容:表内容:所有中断服务程序的入口地址,即所有中断服务程序的入口地址,即256个个中断中断向量。向量。表长度:表长度:一个中断向量一个中断向量4个字节个字节,256256个中断向量共个中断向量共2564256410241024字节,即占用字节,即占用1K1K存储空间。存储空间。表位置:表位置:物理地址物理地址00000H 00000H (03FFH)开始,依次安开始,依次安排各个中

58、断向量,向量号也从排各个中断向量,向量号也从0 0开始开始存放次序:存放次序:按中断类型码从小到大依次存放。每个中断按中断类型码从小到大依次存放。每个中断向量占用的向量占用的4 4个单元中,个单元中,小地址存放偏移地址小地址存放偏移地址,大地址存大地址存放段地址放段地址。向量号为向量号为N的中断向量的物理地址的中断向量的物理地址N4焉考菇裂毯婿镊令宽绞嫉哥虑烟庞袖须尖谷鸦色劳攒救诵癌勤佰杠杨曼装输入输出技术输入输出技术7/30/202467003FFH向量号向量号255的的CS值值用户中断用户中断(向量号(向量号FFH)003FCH向量号向量号255的的IP值值(中断向量)(中断向量)向量号向

59、量号2的的CS值值非屏蔽中断非屏蔽中断(向量号(向量号2)00008H向量号向量号2的的IP值值向量号向量号1的的CS值值单步中断单步中断(向量号(向量号1)00004H向量号向量号1的的IP值值向量号向量号0的的CS值值除法错中断除法错中断(向量号(向量号0)00000H向量号向量号0的的IP值值中断向量地址中断类型码中断类型码 FEH3 34H 3F8H 8088的中断向量表篓淬儒塞抓胁襄绎比希陪挡镶觅恰修蹈绊倪喧驭匆项盐淆悉氟设征征埂军输入输出技术输入输出技术7/30/202468如如果果在在00080H00080H00083H00083H这这4 4个个单单元元中中存存放放的的内内容容分

60、分别别为为 10H10H、20H20H、30H30H、40H40H,那那么么,在在该该系系统统中中, , 号号中中断断所所对对应应的的中中断断向向量为量为 。 20H4030H:2010H问题问题1 100084H00083H00082H00081H00080H(CSH) 40H(CSL) 30H(IPH) 20H(IPL) 10H拱灿亭寄蕊低熔窥隐汹戈卤雀淤汪条谁卉渭捂是谅斜毒劈补风问蓑胀朵慑输入输出技术输入输出技术7/30/202469若若系系统统中中对对应应于于中中断断类类型型码码为为17H17H的的中中断断处处理理程程序序存存放放在在1234:5670H开开始始的的内内存存区区域域中中

61、,则则对对应应于于17H17H类类型型码码的的中中断断向向量量存存放放在在 开开始始的的4 4个个字字节节中中。这这4 4个个单单元元地地址址由由低低到到高高,每每个个单单元元中中的的值分别为值分别为: : H H、 H H、 H H、 H H。 0000:005CH70563412问题问题2 2刀贤借纷龚枕精旧持茬咽跳筐挣净曲毋关苦族衔暴轩池南控婶俞酿澄谢根输入输出技术输入输出技术7/30/202470练练 习习n1、中断向量的地址是(、中断向量的地址是( )A.子程序入口地址B.中断服务程序的入口地址C.中断服务程序入口地址的地址D.例行程序入口地址n2、在PC/XT机中,NMI的中断向量

62、在中断向量表中的位置是( )A.由程序指定的B.由DOS自动分配的C.固定在0008H开始的4个字节中D.固定在中断向量表的表首谬鞭予比墙致累瓷瘟框浴俭性吃切昭酣蕊陨惕蔓傲沼后瓦掏勇毕石牙氏学输入输出技术输入输出技术7/30/2024713.某一中断源的中断类型码为某一中断源的中断类型码为45H,则该中断,则该中断源的中断向量在中断向量表的位置是:源的中断向量在中断向量表的位置是:地址地址存储单元内容存储单元内容00114H20H00115H10H00116H00H00117H34H00118H若中断向量表部分单元内容如图示,则该中断若中断向量表部分单元内容如图示,则该中断源的中断向量为:源的

63、中断向量为:45H400114H3400H:1020H3400H:1020H即该中断服务程序的入口地址为:即该中断服务程序的入口地址为:35020H35020H臼忱被趴绍砾做趾淮绪贤撒鲍剁敲锄跌姿瞒宜灯压摘你钢蔡索霍斜槛搓突输入输出技术输入输出技术7/30/202472地址地址存储单元内容存储单元内容0003CH80H0003DH27H0003EH00H0003FH00H00040H4.4.某一中断源的中断类型码为某一中断源的中断类型码为0FH0FH,该中断源的中断,该中断源的中断向量为:向量为:0000:2780H0000:2780H,如何存放到中断向量表中。,如何存放到中断向量表中。则中断

64、向量表中从则中断向量表中从0000:003CH0000:003CH单元开始顺序存放:单元开始顺序存放: 80H 80H,27H27H,0000,0000潘笑滞新久闻陕著人泞价坏瑟屎腮矫试滔皇湾毋唇吊固该歼广左坟莉性腿输入输出技术输入输出技术7/30/202473练习练习n5 5、中中断断矢矢量量就就是是中中断断服服务务子子程程序序的的 ,在在内内存存中中占占有有 个个存存储储单单元元,其其中中低低地地址址存存储储单单元元存存放放的的是是 ,高高地地址存储单元存放的是址存储单元存放的是 。 n6 6、PC/XTPC/XT机机的的中中断断矢矢量量表表放放在在从从 H H地地址址单单元元到到 地地址

65、址单单元元,总总共共有有 个个字节。字节。鼻通赏砂添嘿狞茬页补蛇碟顷笺斌源走哄栋戌童智聊来倪摆猛夏魂鸟而达输入输出技术输入输出技术7/30/2024743. 8088的中断处理过程中断请求中断请求中断承认中断承认中断源识别中断源识别断点保护断点保护中断服务中断服务中断返回中断返回中断源向中断源向CPU的中断请的中断请求输入端求输入端INTR发出请发出请求中断服务的信号。求中断服务的信号。CPU在每条指令执行后检测有无中断产在每条指令执行后检测有无中断产生,首先检测内部中断,再检测生,首先检测内部中断,再检测NMI、INTR端,即按优先级的顺序检测。端,即按优先级的顺序检测。根据不同的中断源得到

66、相根据不同的中断源得到相应的中断类型码。应的中断类型码。指指CPU在确定中断源后,响应时自动完成在确定中断源后,响应时自动完成的操作。包括关中断、的操作。包括关中断、 保护断点及保护断点及 形成中形成中断入口地址,转入中断服务程序断入口地址,转入中断服务程序CPU响应中断以后,就会中止当前的响应中断以后,就会中止当前的程序,转去执行一个中断服务子程序,程序,转去执行一个中断服务子程序,以完成为相应的服务。以完成为相应的服务。CPU执行完执行完中断服务中断服务,应将在中断响应时保,应将在中断响应时保护的断点恢复,回到被中断的主程序,即中护的断点恢复,回到被中断的主程序,即中断返回的操作。断返回的

67、操作。驭软汤柒拷磐啼某惊访医绦贼缕竖庆爆哪乌牟尘共站收壕忙顽仲浆皂颖鄙输入输出技术输入输出技术7/30/2024751)中断请求n外外设设接接口口(中中断断源源)发发出出中中断断请请求求信信号号,送送到到CPU的的INTR或或NMI引脚;引脚;n中断请求信号的类型:边沿请求,电平请求中断请求信号的类型:边沿请求,电平请求例如,例如,NMI为边沿请求,为边沿请求,INTR为电平请求为电平请求l中断请求信号应保持到中断被处理为止;中断请求信号应保持到中断被处理为止;lCPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。l外设中断请求外设中断请求 PIC(8259) 808

68、8体霖脯羚恰徽骋曝辊盗乱埠饿陛题槛弘碌舀疆溢骆闷念凭驱扁撞税澜畴滨输入输出技术输入输出技术7/30/202476(2)中断承认n在在每每条条指指令令的的最最后后一一个个时时钟钟周周期期,CPU检检测测INTR或或NMI信信号号。若若以以下下条条件件成成立立,则则CPU响应中断:响应中断:l当前指令执行完。对当前指令执行完。对INTR,还应满足以下条件,还应满足以下条件n当前指令是当前指令是STI和和IRET,则下条指令也要执行完。,则下条指令也要执行完。n当前指令带有当前指令带有LOCK、REP等指令前缀时,则把它等指令前缀时,则把它们看成一个整体,要求完整地执行完;们看成一个整体,要求完整地

69、执行完;l对对INTR,CPU应处于开中断状态,即应处于开中断状态,即IF=1;l当前没有复位当前没有复位(RESET)和保持和保持(HOLD)信号。信号。l若若NMI和和 INTR 同时发生,则首先响应同时发生,则首先响应NMI。搪换怖摊讫裸簿虚看称纯易泻陪圣波陶鲍捶味巧璃负得巨贼梯吓勉码息眯输入输出技术输入输出技术7/30/2024773)中断源识别n计计算算机机中中的的中中断断源源有有很很多多,CPU必必须须识识别别是是哪一个设备产生中断。哪一个设备产生中断。n识别中断源有两个方法:识别中断源有两个方法:n中中断断矢矢量量法。由由中中断断源源提提供供中中断断类类型型号号,CPU根据类型确

70、定中断源。(根据类型确定中断源。(8086/8088采用)采用)n软软件件查查询询。将将中中断断信信号号从从数数据据总总线线读读入入用用程程序序进行判别进行判别。(借助简单硬件电路)掌淄会十榴厢屿居当健蛋鲸限善嘻霖狰殿卉翅族硫血冕进售宋捐摈疼哺课输入输出技术输入输出技术7/30/202478nCPU在在确确定定中中断断源源后后,响响应应时时自自动动完完成成的的操作,操作, CPU中断响应时,要做以下工作:中断响应时,要做以下工作:4)断点保护l断点保护:断点保护:CS、IP和和PSWl获得中断服务程序入口地址,转入中断获得中断服务程序入口地址,转入中断服务程序。服务程序。l关中断关中断赖旺视盒

71、侈懊臀灌儿诧柬蕴颇下蕴涉窥鳞居绊石模漫闭摔卢吩汾蓟考析擒输入输出技术输入输出技术7/30/202479中断标志IF的状态nIF0:可屏蔽中断不会被响应:可屏蔽中断不会被响应n关中断、禁止中断、中断屏蔽关中断、禁止中断、中断屏蔽n系统复位,使系统复位,使IF0n任何一个中断被响应,使任何一个中断被响应,使IF0n执行指令执行指令CLI,使,使IF0lIF1:可屏蔽中断会被响应:可屏蔽中断会被响应l开中断、允许中断、中断开放开中断、允许中断、中断开放l执行指令执行指令STI,使,使IF1l执行中断返回指令执行中断返回指令IRET恢复原恢复原IF状态状态肮族壁稼愿懂惑自降蓑孜硼巷绩跺辫启按肮魔甜氟荆

72、忌豁钟逛裳坍壮环鲁输入输出技术输入输出技术7/30/202480n中断服务子程序要做的工作中断服务子程序要做的工作n保护现场保护现场(PUSH regs) n开中断开中断(STI) 允许中断嵌套允许中断嵌套n进行中断处理进行中断处理 n关中断关中断(CLI)n恢复现场恢复现场(POP regs) 5)中断处理(中断服务)CPUCPU响应中断以后,就会中止当前的程序,转去执行响应中断以后,就会中止当前的程序,转去执行一个一个中断服务子程序中断服务子程序,以完成为相应的服务。,以完成为相应的服务。l中断服务子程序特点中断服务子程序特点l为为”远远”过程(类型为过程(类型为FAR)l要用要用IRET

73、指令返回指令返回非瞧谊屁藤懂假络孽侠涡硼瓜抿壕贤傀嘻流蒲贵眼葡脯矢似卢菱益赌烩信输入输出技术输入输出技术7/30/2024816)中断返回n执行中断返回指令执行中断返回指令IRETnIRET指令将使指令将使CPU把堆栈内保存的断点信息弹出到把堆栈内保存的断点信息弹出到IP、CS和和FLAG中,保证被中断的程序从断点处能够继续往中,保证被中断的程序从断点处能够继续往下执行。下执行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG进入中断服进入中断服务程序时务程序时中断返回后中断返回后CPUCPU执行执行中断服务程序中断服务程序结束时

74、,应将在中断响应时保护的结束时,应将在中断响应时保护的断点恢复,回到被中断的主程序,即中断返回的操作。断点恢复,回到被中断的主程序,即中断返回的操作。朽尉研钾焦臭述荤幻发扰肮痞炽伪乖菜恤汪喊知渤庇丙虑橱渺问氏碗镭驯输入输出技术输入输出技术7/30/2024828086/80888086/8088的的中断处理过程中断处理过程中断承认中断承认中断源识别中断源识别断点保护断点保护中断返回中断返回查查询询中中断断的的顺顺序序,决决定定了各种中断源的优先权:了各种中断源的优先权:n软件中断软件中断n除法错中断除法错中断n指令中断指令中断n溢出中断溢出中断n非屏蔽中断非屏蔽中断n可屏蔽中断可屏蔽中断n单步

75、中断单步中断高高低低痹汛磁扒常惨巾工杯郝尘补嗣垢滴温呼断填咬泪刑头瘩恒位教充弥逆惰黑输入输出技术输入输出技术7/30/2024834、中断调用及中断程序设计理解中断调用指令的执行过程理解中断调用指令的执行过程nINT n指令指令nIRET指令指令断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求对外设对外设进行处理进行处理继续执行继续执行返回断点返回断点衡菏涉匠翰制米奶耗浊涛办纤赚棘暂来筏综赣恐爱拟滚拨码巷噪耸食统赢输入输出技术输入输出技术7/30/202484(1)INT n指令的执行过程(1)SP=SP-2(2)PSW (FLAGS) 入栈入栈(3)SP=SP-2(4)断点地址)

76、断点地址(INT n 的下一条指令的下一条指令)的的CS入栈入栈(5)SP=SP-2(6)断点地址的)断点地址的IP入栈入栈(7)IP=0000:n4(8)CS=0000:n4+2痪只客觅妒帛麦吉俯彻诗邑记居阿喜黍页铁淖求壤乡检翟综窜帽僚坐殆钱输入输出技术输入输出技术7/30/202485(2)可屏蔽中断的响应过程(1) 处理器接到中断申请,处理完当前指令即进入响应周期。处理器接到中断申请,处理完当前指令即进入响应周期。(2) 第第二二阶阶段段即即中中断断响响应应周周期期,在在其其间间CPU向向外外部部中中断断控控制制器器发送两个响应脉冲信号发送两个响应脉冲信号INTA。第第一一个个响响应应脉

77、脉冲冲通通知知中中断断控控制制器器,已已经经响响应应外外部部中中断断请请求求,让让中中断断控控制制器器提提供供中中断断类类型型号号。第第二二个个响响应应脉脉冲冲,CPU取取走中断类型号。走中断类型号。(3) 将将标标志志寄寄存存器器中中的的内内容容压压入入堆堆栈栈保保护护,然然后后清清IF和和TF标标志,以禁止志,以禁止INTR引脚以及陷进和单步中断。引脚以及陷进和单步中断。(4) 将断点地址压入堆栈(将断点地址压入堆栈(CS:IP)。)。(5) CPU得得到到中中断断类类型型号号码码n后后,通通过过中中断断类类型型号号与与中中断断服服务务程程序序入入口口地地址址的的关关系系找找出出该该类类型

78、型对对应应的的段段基基地地址址和和偏偏移移地地址,从而转入中断服务程序入口地址。完成中断响应任务。址,从而转入中断服务程序入口地址。完成中断响应任务。黍泌蔼抗葡岁糜姓痴刻碑菠酷卫仔螺煌琐恒悉躲驰咒缩侨诱努囱猩箍渐唬输入输出技术输入输出技术7/30/202486(3). IRET 指令的执行过程(1)IP=SS:SP(2)SP=SP+2(3)CS=SS:SP(4)SP=SP+2(6)FLAGS=SS:SP(7)SP=SP+2裕错慌烛剩薪纶岸医白匪喝巴卓谩民燃匿樱盯哮雾架摄汾该秸绿吴响累哭输入输出技术输入输出技术7/30/202487中断服务程序n编写中断服务程序与编写子程序类似编写中断服务程序与

79、编写子程序类似n利用过程定义伪指令利用过程定义伪指令PROC/ENDPn第第1条指令通常为开中断条指令通常为开中断STI(允许嵌套)(允许嵌套)n最后用中断返回指令最后用中断返回指令IRETn通常采用寄存器传递参数通常采用寄存器传递参数n主程序需要调用中断服务程序主程序需要调用中断服务程序n调用前,需要设置中断向量调用前,需要设置中断向量n利用利用 INT n 指令调用中断服务程序指令调用中断服务程序批贪辰攫丁虾仕撑鸦刁汐磨薛植沽缺片好仗弱好咐纬暇乔汁孪疑赁饯桨褥输入输出技术输入输出技术7/30/202488 保保护护现现场场, ,将将相相关关寄寄存存器器的的内内容容压压入入堆栈中;堆栈中;

80、开开中中断断为为实实现现中中断断嵌嵌套套,必必须须设置开中断。设置开中断。 中中断断处处理理这这是是中中断断服服务务程程序序的的核心;核心; 关关中中断断为为保保证证下下一一步步恢恢复复现现场场的操作不被打断;的操作不被打断; 恢复现场;恢复现场; 开中断开中断使系统可以响应中断;使系统可以响应中断; 中断返回中断返回(IRET(IRET指令指令) )。中断服务子程序中断服务子程序口淘峰旅史热颖很狠琼就苔侯院抵篇颓寨梅打众露由殴裤吴祈瘤暂幻斜躬输入输出技术输入输出技术7/30/2024890:3FFH0:0000中断向量表中断向量表1000:150H(断点)(断点)3000:200H0: N4

81、0: N4+20: 0000 、 、 0200H 3000H 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、类型类型N中断子程中断子程某中断源发申请中断,某中断源发申请中断,申请执行类型号为申请执行类型号为N的中断子程的中断子程响应中断前响应中断前 SS:SP 响应中断后响应中断后SS:SP 堆栈堆栈执行执行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200H(CS)=3000H内存内存搜送宫担佩谚巴奉贿尤像砒祝癸砧碴韭琶围惫歧讹诌邮绿钞豁碱足么泳抽输入输出技术输入输出技术7/30/

82、202490从中断子程返回断点处,从中断子程返回断点处,靠靠的的是是执执行行中中断断子子程程最最后后的的指指令令IRET,从堆栈中取出断点地址给从堆栈中取出断点地址给CS:IP,继续执行被中断的程序。继续执行被中断的程序。故中断子程最后应安排故中断子程最后应安排 IRET 指令。指令。响应中断前响应中断前 SS:SP 响应中断后响应中断后SS:SP 堆栈堆栈执行执行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200H(CS)=3000H1000:150H3000:200H0: N40: N4+20: 0000 、 、 0200H 3000H 、

83、、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、甩哭皂驳绍谣蒜志惦客琐恼插俊祁扛是鄂悍妮狂霓崭祷喜博召抽骑浅力伸输入输出技术输入输出技术7/30/2024916.4.3中断优先级及中断嵌套中断优先级及中断嵌套n多个中断源产生中断,多个中断源产生中断,CPU首先为谁服务?首先为谁服务?中断优先级排队问题。中断优先级排队问题。l中断优先级控制要处理两种情况:中断优先级控制要处理两种情况:l对同时产生的中断:应首先处理优先级别较高的对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则中断;若优先级别相同,则按先

84、来先服务的原则处理;处理;l对非同时产生的中断:低优先级别的中断处理程对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断序允许被高优先级别的中断源所中断即允许即允许中断嵌套。中断嵌套。观炕脓滨哄愁筐褥签鼓渭姬寂绞煽咐镐谰荫豌侗写暮夸鸽攘押柄季之唾胡输入输出技术输入输出技术7/30/202492n中断优先级的控制方法中断优先级的控制方法4.中断判优(续)中断判优(续)可编程的中断控制器可编程的中断控制器 中断优先权中断优先权判别方法判别方法软件查询软件查询硬件排队硬件排队链式优先权排队电路链式优先权排队电路n通常将通常将中断判优中断判优与与中断源识别中断源识别合并处理。合

85、并处理。nx86系统中,该任务由中断控制器和CPU共同完成。用软件查询哪个中断源有中断请用软件查询哪个中断源有中断请求,先查询到的先响应。即:求,先查询到的先响应。即:查查询次序确定各中断优先权次序询次序确定各中断优先权次序,先查询的优先权最高。先查询的优先权最高。将所有的设备连成一条链,将所有的设备连成一条链,靠近靠近CPUCPU的设备优先级最高,的设备优先级最高,越远的设备优先级别越低。越远的设备优先级别越低。用硬件电路实现中断用硬件电路实现中断源的优先级排队。源的优先级排队。与与CPUCPU配合来管理和处理配合来管理和处理中断优先级,对多个中断中断优先级,对多个中断请求进行优先级判优。请求进行优先级判优。逆冗两真揭棺毛钮佰葛舔涅怂罢淤衷则岁抒击殷谆碧麓西但科罐惯坐荒宴输入输出技术输入输出技术7/30/202493

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号