微型计算机原理与接口技术-第6章输入输出与中断技术ppt课件_第1页
微型计算机原理与接口技术-第6章输入输出与中断技术ppt课件_第2页
微型计算机原理与接口技术-第6章输入输出与中断技术ppt课件_第3页
微型计算机原理与接口技术-第6章输入输出与中断技术ppt课件_第4页
微型计算机原理与接口技术-第6章输入输出与中断技术ppt课件_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6章章 节节 目目 录录l6.1 输入输出系统概述输入输出系统概述l6.2 简单接口电路简单接口电路l6.3 输入输出的控制方式输入输出的控制方式l6.4 中断技术中断技术l6.5 可编程中断控制器可编程中断控制器8259A第6章作业n6.5 n6.7n6.13n6.14n6.15n6.17 6.1 输入输出系统概述输入输出系统概述 处置器和主存储器之外的部分统称为输入处置器和主存储器之外的部分统称为输入输出系统,它包括输入输出设备、输入输出输出系统,它包括输入输出设备、输入输出接口和输入输出软件。接口和输入输出软件。 计算机在运转过程中所需求的程序和数计算机在运转过程中所需求的程序和数据

2、由外设输入,而结果要输出到外设去。据由外设输入,而结果要输出到外设去。接口接口输入输出系统输入输出系统电源CPU内存内存接口键盘、鼠标、显示器打印机、声音输入输出、图形输入、视频输入输出用户交互接口外存接口磁盘机磁带机光盘机通讯接口终端MODEM电传机ADCDAC数字化仪器测控接口系统总线1、I/O接口要处理的问题接口要处理的问题一、一、I/O接口的根本功能接口的根本功能 速度匹配问题速度匹配问题 外设与外设与CPU相比,速度差距很大。相比,速度差距很大。 信号电平和驱动才干问题信号电平和驱动才干问题 CPU的信号电平的信号电平0 5V,而外设的电平范围宽,需求驱,而外设的电平范围宽,需求驱动

3、功率大。动功率大。 信号方式匹配问题信号方式匹配问题 外设的信号可以是数字量、开关量、模拟量等。外设的信号可以是数字量、开关量、模拟量等。 信息格式问题信息格式问题 外设可以是串行信号、并行信号等。外设可以是串行信号、并行信号等。 时序配合问题时序配合问题 外设有本人的时序与控制逻辑,与外设有本人的时序与控制逻辑,与CPU不一致。不一致。 I/O地址译码与设备选择地址译码与设备选择 把选中的外设与总线相接,未选中的外设与把选中的外设与总线相接,未选中的外设与总线总线 隔离高阻态隔离高阻态 信息的输入与输出信息的输入与输出 经过接口可以向外设输入或输出数据。经过接口可以向外设输入或输出数据。 信

4、息转换信息转换 信息格式变换、电平转换、码制转换、传送信息格式变换、电平转换、码制转换、传送管理及联络控制等功能。管理及联络控制等功能。 命令、数据和形状的缓冲与锁存命令、数据和形状的缓冲与锁存 接口电路有信息缓冲才干。可以处理速度匹配问题,接口电路有信息缓冲才干。可以处理速度匹配问题, 实现实现CPU与外设之间的同步。与外设之间的同步。2、I/O接口的功能接口的功能串行接口的功能串行接口的功能1、发送时将并行数据转、发送时将并行数据转 换为串行。换为串行。2、接纳时相反。、接纳时相反。3、发送时将、发送时将TTL电平转电平转换为换为-15V-+15V 。4、接纳时相反。、接纳时相反。5、异步

5、发送与接纳。、异步发送与接纳。 接口接口外外 设设CPU计算机计算机DBWRRDINTRCS译码译码电路电路AB二、二、I/O接口的编址方式接口的编址方式1、CPU与与I/O接口通讯是经过一组存放器实现的。接口通讯是经过一组存放器实现的。 I/O信息的三种类型:数据、命令、形状。信息的三种类型:数据、命令、形状。 传送这三类信息的通道分别称为:传送这三类信息的通道分别称为: 数据端口数据端口(I、O)、命令端口、命令端口(O)、形状端口、形状端口(I) 接口接口外外 设设CPU计算机计算机命令端口命令端口数据端口数据端口形状端口形状端口DBWRRDINTRCS译码译码电路电路AB每个端口有本每

6、个端口有本人的地址编号人的地址编号 一致编址 把外设端口与内存一致进展编址。各占据一致地址空间的不同部分。0地址空间地址空间(共共1MB)内存地址内存地址(960KB)I/O地址地址(64KB)FFFFFHEFFFFHF0000H端口的两种编址方式:一致编址和独立编址端口的两种编址方式:一致编址和独立编址l 优点:优点:l 指令一致,灵敏;指令一致,灵敏;l 访问控制信号一致。访问控制信号一致。 l 缺陷:缺陷:l 内存可用地址空间减小内存可用地址空间减小 独立编址外设地址空间和内存地址空间相互独立。优点:内存地址空间不受I/O编址的影响缺陷:需求公用I/O指令,功能较少 运用:运用:Z-80

7、系列和系列和x86系列均采用此方式。系列均采用此方式。如:存储器读写用如:存储器读写用MOV指令指令I/O接口读写用接口读写用IN或或OUT指令指令l 8088/8086 CPU的的I/O编址方式编址方式l 采用采用I/O独立编址方式独立编址方式(但地址线与存储器共用但地址线与存储器共用)l 地址线上的地址信号用地址线上的地址信号用 IO/M 来区分:来区分:l IO/M =1 时为时为I/O地址,地址, IO/M =0 时为存储器地址。时为存储器地址。l I/O操作只运用操作只运用20根地址线中的根地址线中的16根:根: A15 A0l 可寻址的可寻址的I/O端口数为端口数为64K(6553

8、6)个个l I/O地址范围为地址范围为0FFFFHl IBM PC只运用了只运用了1024个个I/O地址地址(03FFH)三、三、8086/8088 I/O端口访问端口访问 四、四、 8086/8088 I/O端口地址的译码端口地址的译码2、I/O接口地址译码电路的设计原理与存储器译码接口地址译码电路的设计原理与存储器译码电路的设计思绪一样,由电路的设计思绪一样,由 A0 A15与与IO/M信号一信号一同进展译码即可。同进展译码即可。1、根据系统提供的三总线信号为、根据系统提供的三总线信号为A0A19、D0D7、RD、WR、IO/M等设计译码电路并与系统等设计译码电路并与系统进展衔接。进展衔接

9、。A15A12与与非非门门IO/MA15A12与与非非门门IO/M用于存储器芯片选通用于存储器芯片选通用于用于I/O芯片选通芯片选通 8088最小方式下的原理图最小方式下的原理图 8284A 地址总线地址总线20根根READYRESETALEA19 A8AD7AD0地址地址锁存储器锁存储器8282三片三片DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收发器收发器8286一片一片数据总线数据总线8根根控制总线控制总线READY RESET8088MN/MX+5VA0 A19D0 D7存存储储器器系系统统I/O接接口口l数据输入数据输入/输出存放器输出存放器暂存输入暂存输入/

10、输出的输出的数据数据l命令存放器命令存放器存放控制命令,用来设定接存放控制命令,用来设定接口功能、任务参数和任务方式。口功能、任务参数和任务方式。l形状存放器形状存放器保管外设当前形状,以供保管外设当前形状,以供CPU读取。读取。1、接口电路中存放器的作用、接口电路中存放器的作用l 数据输入接口数据输入接口l 必需具有三态输出才干,以便与总线挂接必需具有三态输出才干,以便与总线挂接l 外设有数据坚持才干时外设有数据坚持才干时可用三态门实现可用三态门实现l 外设无数据坚持才干时外设无数据坚持才干时用三态输出的锁存用三态输出的锁存器实现器实现l 数据输出接口数据输出接口l 常用锁存器实现常用锁存器

11、实现2、数据输入、数据输入/输出接口电路的要求输出接口电路的要求 l三态门:l高电平、低电平、高阻态l通常一个器件中包含8个三态门l常用芯片:74LS244l运用例子:开关接口二、简单数据输入接口设计二、简单数据输入接口设计。74LS244I0I3。E1数据总线数据总线E1 =0 输入输入E1 =1 高阻高阻数据总线数据总线CS1CS2地地址址译译码码器器接口电路图如下:83FCH83FFH译码器n锁存器:由锁存器:由D触发器构成具有锁存功能触发器构成具有锁存功能n通常一个器件包含通常一个器件包含8个个D触发器触发器n常用芯片:常用芯片: n74LS273n74LS374四、简单的输出接口举例

12、四、简单的输出接口举例SCPDiQi0XX0111100S74LS273MOV DX,0FFFFHMOV AL,01000001BOUT DX,AL. 1 1+5VRD0D7CPQ0Q7.D0D774LS273RA0A1A7A8A9A15IOW& 74LS374既可做输入电路,也可做输出电路。既可做输入电路,也可做输出电路。OEQ0D0D1Q1Q2D2D3Q3GNDVCCQ7D7D6Q6Q5D5D4Q4CP1011155120DiOE CPQi101000 xx1高阻图图6-7 74LS374引线图和真值表引线图和真值表(D)CPQ1 1Di1 1(CP)OEQi图6-8 74LS37

13、4内部构造&A15A14A13A12A11A10A9A8&A7A6A5A4A3A2A1A01 11 11 11IOWD0D7CPQ0Q1Q6Q7OED0D774LS374用作输出接口74LS374用作输入接口Q0Q7CPD0D1D7OED0D7译码电路A0A15IOR外设选通五、输入五、输入/输出接口综合运用例子输出接口综合运用例子n根据开关形状在7段数码管上显示数字或符号n共阳极7段数码管构造用74LS273作为输出接口,把数据送到7段数码管n用74LS244作为输入口,读入开关K0K3的形状n当开关的形状分别为00001111时,在7段数码管上对应显示0F当当.gfedcb

14、a的值为的值为C0H11000000时,显示时,显示0O1 I1O2 I2O3 I3O4 I4E1 K0K3+5VGG2AG2BCBA1174LS244D0 Q0 | Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP7406反相器反相器74LS273Rx81174LSD0D7IOWIORY0Y1&1A7A4A15A8A3A2A1A0D0D1D2D3译码器译码器Rx4F0H = 0000 0000 1111 0000F1H = 0000 0000 1111 0001 符号形状7段码.gfedcba符号形状7段码.gfedcba000111111801111111100

15、000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001相应程序段如下:相应程序段如下:Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HLEABX, Seg7;取;取7段码表基地址段码表基地址MOV AH, 0GO:MOV DX, 0F1H;开关接口的地址为;开关接口的地址为F1HINAL, DX;读入开关形状;读入

16、开关形状ANDAL, 0FH;保管低;保管低4位位MOV SI, AX;作为;作为7段码表的表内位移量段码表的表内位移量MOV AL, BX+SI;取;取7段码段码MOV DX, 0F0H;7段数码管接口的地址为段数码管接口的地址为F0HOUTDX, ALJMPGO6.3 输入输出的控制方式输入输出的控制方式 l无条件传送无条件传送l查询式传送查询式传送l中断方式传送中断方式传送l直接存储器存取直接存储器存取(DMA, Direct Memory Access)主机与外设之间数据传送的控制方式有以下四种:主机与外设之间数据传送的控制方式有以下四种:一、一、 无条件传送方式无条件传送方式l适用于

17、总是处于预备好形状的外设适用于总是处于预备好形状的外设l以下外设可采用无条件传送方式:以下外设可采用无条件传送方式:l开关开关l发光器件发光器件(如发光二极管、如发光二极管、7段数码管、灯泡段数码管、灯泡等等)l继电器继电器l步进电机步进电机l优点:软件及接口硬件简单优点:软件及接口硬件简单l缺陷:只适用于简单外设,顺应范围较窄缺陷:只适用于简单外设,顺应范围较窄A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A151&1IORD0图6-12 开关K经过输入接口与系统的衔接K+5V10K二、二、 查询方式查询方式l适用于外设并不总是预备好,而且对传送速率、适用于外

18、设并不总是预备好,而且对传送速率、传送效率要求不高的场所。传送效率要求不高的场所。lCPU在与外设交换数据前必需讯问外设形状在与外设交换数据前必需讯问外设形状“他预备好没有?他预备好没有?l对外设的要求:应提供设备形状信息对外设的要求:应提供设备形状信息l对接口的要求:需求提供形状端口对接口的要求:需求提供形状端口l优点:软件比较简单优点:软件比较简单l缺陷:缺陷:CPU效率低,数据传送的实时性差,速度效率低,数据传送的实时性差,速度较慢。较慢。CPU接口接口外设外设系统总线形状数据控制图6-13 查询任务方式表示图取外设形状外设预备就绪否传送数据NY传送完否NY终了图6-14 单一外设时查询

19、方式流程图1号外设预备就绪NY对1号外设效力2号外设预备就绪NY对2号外设效力3号外设预备就绪NY对3号外设效力n号外设预备就绪NY对n号外设效力图6-15 多个外设时的查询任务方式流程图三、三、 中断方式中断方式 lCPU无需循环查询外设形状,而是外部设备在无需循环查询外设形状,而是外部设备在需求进展数据传送时才中断需求进展数据传送时才中断CPU正在进展的任正在进展的任务,让务,让CPU来为其效力。即来为其效力。即CPU在没有外设恳在没有外设恳求时可以去做更重要的事情,有恳求时才去传求时可以去做更重要的事情,有恳求时才去传输数据,从而大大提高了输数据,从而大大提高了CPU的利用率。的利用率。

20、l优点:优点:CPU效率高,实时性好,速度快。效率高,实时性好,速度快。l缺陷:程序编制较为复杂。缺陷:程序编制较为复杂。6.3.4 DMA传输传输 l 前三种前三种I/O方式都需求方式都需求CPU作为中介:作为中介: 1软件方面:外设与内存之间的数据传送是软件方面:外设与内存之间的数据传送是经过经过 CPU执行程序来完成的;执行程序来完成的;2硬件方面:硬件方面:I/O接口和存储器的读写控制信接口和存储器的读写控制信号、地号、地 址信号都是由址信号都是由CPU发出的总线由发出的总线由CPU控制。控制。CPU外设外设外设外设 存储器存储器缺陷:程序的执行速度限定了传送的最大速度缺陷:程序的执行

21、速度限定了传送的最大速度约为几十约为几十KB/秒。秒。 优点:数据传输由DMA控制器即硬件来控制,数据直接在内存和外设之间交换,可以到达很高的传输速率可达几MB/秒DMA传送原理表示图 系统总线系统总线CPUDMAC存储器存储器外设外设 AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDA DRQDACKAENIOWIORMEMWMEMR 外设发出外设发出DMA恳求信号恳求信号DRQ DMAC向向CPU恳求总线恳求总线HOLD CPU呼应,释放总线控制权,并发出呼应,释放总线控制权,并发出HLDA信号信号 DMAC得到总线控制权,并向外设发出呼应信号得到总线控制

22、权,并向外设发出呼应信号DACK 由由DMAC发出各种控制信号,控制外设与存储器之发出各种控制信号,控制外设与存储器之 间的数据传送间的数据传送 数据传送完后,数据传送完后,DMAC撤销撤销HOLD信号信号 CPU释放释放HLDA信号,并重新控制总线信号,并重新控制总线6.4 中断技术中断技术6.4.1 中断的根本概念中断的根本概念正在看书正在看书铃响铃响接接继续看书继续看书实践场景实践场景执行程序执行程序事件发生事件发生事件处置事件处置继续执行程序继续执行程序计算机计算机中断处置中断处置中断恳求及呼应中断恳求及呼应中断前往中断前往中断的定义中断的定义 lCPU执行程序时,由于发生了某种随机的

23、事件执行程序时,由于发生了某种随机的事件(外外部或内部部或内部),引起,引起CPU暂时中断正在运转的程序,暂时中断正在运转的程序,转去执行一段特殊的效力程序转去执行一段特殊的效力程序(称为中断效力程序称为中断效力程序或中断处置程序或中断处置程序),以处置该事件,该事件处置完,以处置该事件,该事件处置完后又前往被中断的程序继续执行,这一过程称为后又前往被中断的程序继续执行,这一过程称为中断。中断。与子程序的区别?与子程序的区别?只需执行到只需执行到CALL时才调用时才调用子程序,而中断是随机的。子程序,而中断是随机的。中断源中断源n引起引起CPU中断的事件中断的事件中断源。例如:中断源。例如:n

24、外设外设恳求输入输出数据,报告缺点等恳求输入输出数据,报告缺点等n事件事件掉电、硬件缺点、软件错误、非法操作、掉电、硬件缺点、软件错误、非法操作、定时时间到等。定时时间到等。n中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断n内部中断:内部中断:CPU内部执行程序时本身产生的中断内部执行程序时本身产生的中断如如INT指令、溢出、被指令、溢出、被0除等除等n外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断n 8086/8088的外部中断信号:的外部中断信号:INTR、NMInINTR可屏蔽中断恳求,高电平有效,受可屏蔽中断恳求,高电平有效,受IF标标志的

25、控制。志的控制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作对它作出呼应。出呼应。 nNMI非屏蔽中断恳求,上升沿有效,任何时候非屏蔽中断恳求,上升沿有效,任何时候CPU都要呼应此中断恳求信号。都要呼应此中断恳求信号。为何计算机中要引入中断?为何计算机中要引入中断?l 防止了防止了CPU不断检测外设形状的过程,提不断检测外设形状的过程,提高了高了CPU的利用率。的利用率。l 实现对特殊事件的实时呼应。如多义务系实现对特殊事件的实时呼应。如多义务系统操作系统中:统操作系统中: l 缺页中断缺页中断l 设备中断设备中断l 各类异常各类异常l 实时钟,。等实时钟,。等中断过程中断过程

26、n五个步骤:五个步骤:n中断恳求中断恳求n中断判优中断判优(有时还要进展中断源识别有时还要进展中断源识别)n中断呼应中断呼应n中断效力中断效力n中断前往中断前往n以下以外部中断为主引见这五个步骤。以下以外部中断为主引见这五个步骤。1中断恳求中断恳求n外设接口中断源发出中断恳求信号,送到外设接口中断源发出中断恳求信号,送到CPU的的INTR或或NMI引脚;引脚;n中断恳求信号:边沿恳求,电平恳求中断恳求信号:边沿恳求,电平恳求n例如,例如,NMI为边沿恳求,为边沿恳求,INTR为电平恳求为电平恳求n中断恳求信号应坚持到中断被处置为止;中断恳求信号应坚持到中断被处置为止;nCPU呼应中断后,中断恳

27、求信号应及时撤销。呼应中断后,中断恳求信号应及时撤销。n在在8086/8088系统中,外设的中断要经过系统中,外设的中断要经过8259A可可编程中断控制器编程中断控制器(PIC)的排队判优后向的排队判优后向CPU发出。发出。CPUINTRINTAIR0IR1IR7D0D7INTAINTCS A0RDWRD0D7RDWR。8259ASP/ENCAS0CAS1CAS2中断源中断源2中断判优中断判优n多个中断源产生中断,多个中断源产生中断,CPU首先为谁效力?首先为谁效力?n中断优先级排队问题。中断优先级排队问题。n中断优先级控制要处置两种情况:中断优先级控制要处置两种情况:n对同时产生的中断:应首

28、先处置优先级别较高的中断;假对同时产生的中断:应首先处置优先级别较高的中断;假设优先级别一样,那么按先来先效力的原那么处置;设优先级别一样,那么按先来先效力的原那么处置;n对非同时产生的中断:低优先级别的中断处置程序允许被对非同时产生的中断:低优先级别的中断处置程序允许被高优先级别的中断源所中断高优先级别的中断源所中断即允许中断嵌套。即允许中断嵌套。n中断优先级的控制方法中断优先级的控制方法n硬件判优硬件判优链式判优、并行判优中断向量法链式判优、并行判优中断向量法n软件判优软件判优顺序查询中断恳求,先查询的先效力即先顺序查询中断恳求,先查询的先效力即先查询的优先级别高查询的优先级别高n通常将中

29、断判优与中断源识别合并在一同进展处置。通常将中断判优与中断源识别合并在一同进展处置。nx86系统中,这项义务由系统中,这项义务由PIC和和CPU共同完成。共同完成。软件判优软件判优CPUD0D7INTR并行输入接口1中断恳求存放器IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7图6-18 软件判优的构造原理图断点维护IRQ0IRQ1IRQ7中断前往YYYNNN中断源0的中断效力程序中断源1的中断效力程序中断源7的中断效力程序图6-19 软件中断优先权查询流程图 中断矢量法:为不同的中断源提供不同的中断中断矢量法:为不同的中断源提供不同的中断类型码中断向量码,即为每一个中断分配类

30、型码中断向量码,即为每一个中断分配一个编号,一个编号,CPU根据类型码确定中断源。根据类型码确定中断源。8086/8088即采用此种方法即采用此种方法硬件判优硬件判优 链式判优:将中断源构成一个链。链式判优:将中断源构成一个链。菊花链逻辑电路菊花链逻辑电路INTAinIREQINTR&=1 1INTAoutDB三态门中断向量码E外设接口外设接口中断确认中断确认菊花链菊花链逻辑电路逻辑电路3中断呼应中断呼应n在每条指令的最后一个时钟周期,在每条指令的最后一个时钟周期,CPU检检测测INTR或或NMI信号。假设以下条件成立,信号。假设以下条件成立,那么那么CPU呼应中断:呼应中断:n 当前

31、指令执行完。对当前指令执行完。对INTR,还应满足以下,还应满足以下条件条件n当前指令是当前指令是STI和和IRET,那么下条指令也,那么下条指令也要执行完。要执行完。n当前指令带有当前指令带有LOCK、REP等指令前缀时,等指令前缀时,那么把它们看成一个整体,要求完好地执那么把它们看成一个整体,要求完好地执行完;行完;n 对对INTR,CPU应处于开中断形状,即应处于开中断形状,即IF=1;n 当前没有复位当前没有复位(RESET)和坚持和坚持(HOLD)信号。信号。n 假设假设NMI和和 INTR 同时发生,那么首先呼同时发生,那么首先呼应应NMI。nCPU中断呼应时,要做下述三项任务:中

32、断呼应时,要做下述三项任务:n向中断源发出向中断源发出/INTA中断呼应信号;中断呼应信号;n断点维护,包括断点维护,包括CS、IP和和PSWFLAGS。这主要是保证中断终了后能前往被中断的这主要是保证中断终了后能前往被中断的程序。程序。n获得中断效力程序首地址入口地址。获得中断效力程序首地址入口地址。n如何得到中断处置程序的首地址?如何得到中断处置程序的首地址?n固定入口法固定入口法n中断向量法中断向量法8086采用的方法采用的方法4中断处置中断效力中断处置中断效力n中断效力子程序特点中断效力子程序特点n为为“远过程类型为远过程类型为FARn要用要用IRET指令前往指令前往n中断效力子程序要

33、做的任务中断效力子程序要做的任务n维护现场维护现场(PUSH regs) n开中断开中断(STI) n进展中断处置进展中断处置 n关中断关中断(CLI)n恢复现场恢复现场(POP regs) n中断前往中断前往(IRET) 6.4.2 8088的中断系统的中断系统n与中断有关的控制线为:与中断有关的控制线为:NMI、INTR、/INTAn 8088系统的中断源系统的中断源n 内部中断内部中断n 除法溢出:类型号除法溢出:类型号0,商大于目的操作数所能表达,商大于目的操作数所能表达的范围时产生。的范围时产生。n 单步中断:类型号单步中断:类型号1,TF=1时产生当前指令需执时产生当前指令需执行完

34、行完n 断点中断:类型号断点中断:类型号3,这是一个软件中断,即,这是一个软件中断,即INT 3指令。指令。n 溢出中断:类型号溢出中断:类型号4,这是一个软件中断,即,这是一个软件中断,即INTO指令。指令。n 软件中断:即软件中断:即INT n指令,类型号指令,类型号n(0-255)。n 外部中断外部中断n 非屏蔽中断非屏蔽中断NMI:类型号:类型号2,不可用软件屏蔽,不可用软件屏蔽,CPU必需呼应它。必需呼应它。n 可屏蔽中断可屏蔽中断INTR:类型号由:类型号由PIC提供。提供。IF=1时时CPU才干呼应。才干呼应。一、一、8086/8088中断源类型中断源类型NMII N TRn中断

35、逻中断逻辑辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断恳求非屏蔽中断恳求n中断中断控控n制器制器n8259AnPIC8086/8088CPU内部逻内部逻辑辑断点中断断点中断可可屏屏蔽蔽中中断断请请求求n43012n8088系统采用中断类型系统采用中断类型(向量向量)码来识别不同的中码来识别不同的中断源,每个中断源都有一个与它相对应的中断类断源,每个中断源都有一个与它相对应的中断类型码型码 。n溢出、断点、除法溢出、单步、非屏蔽中断的类溢出、断点、除法溢出、单步、非屏蔽中断的类型码为固定值型码为固定值n软件中断的类型码由指令给出软件中断的类型码由指令给出n可屏

36、蔽中断的类型码由可屏蔽中断的类型码由PIC给出给出nCPU呼应呼应INTR中断时,会产生两个中断呼应总中断时,会产生两个中断呼应总线周期,要求线周期,要求PIC在第在第2个中断呼应总线周期把中个中断呼应总线周期把中断类型码放到数据总线上,供断类型码放到数据总线上,供CPU读入。读入。二、中断向量表二、中断向量表IVT n存放各类中断的中断效力程序的入口地址段和存放各类中断的中断效力程序的入口地址段和偏移偏移 ;n表的地址位于内存的表的地址位于内存的00000H003FFH,共,共256个入口个入口;n每个入口占用每个入口占用4 Bytes,低字为段内偏移,高字,低字为段内偏移,高字为段基址为段

37、基址;n根据中断类型号获得中断效力程序入口的方法根据中断类型号获得中断效力程序入口的方法: (n为中断类型号为中断类型号)n中断向量在中断向量在IVT中的存放地址中的存放地址 n4CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量中断类型0的中断向量中断类型1的中断向量中断类型2的中断向量中断类型3的中断向量中断类型4的中断向量中断类型32的中断向量中断类型255的中断向量00000H00004H00008H0000CH00010H00014H00080H00084H003FCH003FFH6-23 中断

38、向量表构造中断向量表构造中断处置程序中断处置程序STIPUSH DSIRETINT 4AHNOPF0类型类型49H中断向量中断向量0600类型类型4BH中断向量中断向量180:1240:1250:1260:1270:1280:1290:12A0:12B0:12C0:12D0:12E0:12F1806F000IPCSF000:1806从堆栈中弹出从堆栈中弹出FLAG、CS、IP向量计算向量计算=4AH4=128HFLAG、CS、IP入栈等入栈等三、软中断的执行过程三、软中断的执行过程四、四、8086/8088 CPU的中断呼应过程的中断呼应过程 n内部中断呼应过程内部中断呼应过程 n无中断呼应周

39、期无中断呼应周期n中断类型码固定或由指令中断类型码固定或由指令INT n给出给出n呼应过程步骤:呼应过程步骤:n 将类型码乘将类型码乘4,计算出中断向量,计算出中断向量的地址的地址n 标志存放器入栈标志存放器入栈 n 去除去除IF、TF,即屏蔽新的,即屏蔽新的INTR和单步中断和单步中断n 保管断点,将断点处的保管断点,将断点处的 CS压栈压栈n将断点处的将断点处的 IP压栈压栈n I P=n*4+1:n*4+0n CS=n*4+3:n*4+2n 执行中断效力程序。执行中断效力程序。中断呼应过程续中断呼应过程续n外部中断呼应过程外部中断呼应过程n非屏蔽中断,与内部中断呼应过程类似非屏蔽中断,与

40、内部中断呼应过程类似 n可屏蔽中断可屏蔽中断(时序见图时序见图6.24) n /INTA1,PIC进展优先级排进展优先级排队判优处置队判优处置n /INTA2,PIC把中断类型码把中断类型码放到放到DB上,由上,由CPU读入读入n 压栈压栈 FLAGn 去除去除 IF、TFn CS入栈入栈n IP入栈入栈n I P=n*4+1:n*4+0n CS=n*4+3:n*4+2T1T2T3T4T1T2T3T4中断类型码CLKALELOCKINTAD0D7第一个INTA总线周期第一个INTA总线周期图6-24 8086/8088对INTR的中断呼应时序IRET1、FLAGS、CS、IP入栈入栈2、去除、

41、去除IF、TF3、转中断效力处置程序、转中断效力处置程序 INTHAND经过中断矢量表经过中断矢量表产生中断产生中断1、FLAGS、CS、IP出栈出栈2、前往断点,继续执行、前往断点,继续执行 下一条指令下一条指令中断前往中断前往INTHAND:;PROGRAM IN EXECUTION可屏蔽中断的执行过程可屏蔽中断的执行过程8088系统中各中断的优先级系统中各中断的优先级l 优先级从高到低顺序如下:优先级从高到低顺序如下:l 内部中断内部中断l NMIl INTRl 单步中断单步中断6.5 可编程中断控制器可编程中断控制器8259AlPIC,Programmable Interrupt Co

42、ntrollerl可对可对8个中断源实现优先级控制个中断源实现优先级控制 l可扩展至对可扩展至对64个中断源实现优先级控制个中断源实现优先级控制 l可编程设置不同任务方式可编程设置不同任务方式l根据中断源向根据中断源向x86提供不同中断类型码提供不同中断类型码可编程芯片:可以用程序设置芯片的任务方式,控制其任务过程。可编程芯片:可以用程序设置芯片的任务方式,控制其任务过程。 A0:是:是8259A内部存放器的选择信号。它与内部存放器的选择信号。它与/WR、/RD、/CS等信号相配合,对不同的内部存放器进展读写。等信号相配合,对不同的内部存放器进展读写。 运用中,通常接地址总线的运用中,通常接地

43、址总线的A1或或A0等。等。 INT:8259A中断恳求输出信号,直接接到中断恳求输出信号,直接接到CPU的的INTR输输入端。入端。 /INTA:中断呼应输入信号。在中断呼应过程中:中断呼应输入信号。在中断呼应过程中CPU的中断的中断呼应信号由此端进入呼应信号由此端进入8259A。 CAS0-CAS2:级联控制线。当多片:级联控制线。当多片8259A级联任务时,其级联任务时,其中一片为主片,中一片为主片, 其他均为从片。其他均为从片。主片主片8259A: CAS0-CAS2为输出;为输出; 从片从片8259A: CAS0-CAS2为输入。为输入。 当某从片提出中断恳求时,主片经过当某从片提出

44、中断恳求时,主片经过CAS0-CAS2送出送出相应的编码给从片,使从片的中断被允许。相应的编码给从片,使从片的中断被允许。 SPEN:为双功能引线。:为双功能引线。当当8259A任务在缓冲方式时,它为输出,用以控制缓任务在缓冲方式时,它为输出,用以控制缓冲器的传送方向:冲器的传送方向:当数据当数据: CPU8259A 时,时,SP/EN输出为高电平;输出为高电平;当数据当数据: 8259ACPU 时,时,SP/EN输出为低电平。输出为低电平。在在8259A任务在非缓冲方式时,它为输入,用于指定任务在非缓冲方式时,它为输入,用于指定8259A是主片还是从片:是主片还是从片:SP1的的8259A为

45、主片,为主片,SP0的的 8259A为从片。只为从片。只需一需一 个个8259A时,它应接高电平。时,它应接高电平。IR0-IR7:为中断恳求输入信号,与外设的中断恳求线相:为中断恳求输入信号,与外设的中断恳求线相连。上升沿或高电平连。上升沿或高电平(可经过编程设定可经过编程设定)时表示有中断恳求到时表示有中断恳求到达。达。CPUINTRINTAIR0IR1IR7D0D7INTAINTCS A0RDWRD0D7RDWR。8259ASP/ENCAS0CAS1CAS2级连电路衔接方法6.5.1 8259A的内部构造的内部构造数据总线缓冲器读/写控制电路级联缓冲/比较器D0D7CAS0CAS1CAS

46、2SP/ENRDWDA0CS内部控制逻辑电路当前终端效力存放器(ISR)优先权判别电路中断恳求电路(IRR)中断屏蔽存放器IMR内部总线INTINTA图6-27 8259A内部构造框图n 8259A的内部构造 n 中断恳求存放器IRRn 保管从IR0IR7来的中断恳求信号,某位为1表示对应的IRi有中断恳求 。n 中断效力存放器ISR n 保管一切正在效力的中断源,某位为1表示对应的IRi中断正在被效力 ,能够同时有几位为1。n 中断屏蔽存放器IMRn 存放中断屏蔽字,某位=1表示对应的IRi输入被屏蔽 。n 中断优先权判别电路 n 确定能否向确定能否向CPU发出中断恳求,中断呼应时确定发出中

47、断恳求,中断呼应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上的哪位应置位及把相应中断的类型码放到数据总线上 。 6.5.2 8259A的任务过程的任务过程l8259A对外部可屏蔽中断恳求的处置过程如下:对外部可屏蔽中断恳求的处置过程如下:l当某当某IRi有效时,有效时,IRR相应位置相应位置1。l假设有效的假设有效的IRi未被屏蔽,那么向未被屏蔽,那么向CPU发出中断恳求。发出中断恳求。l假设假设CPU处于开中断形状,那么在当前指令执行完后,处于开中断形状,那么在当前指令执行完后,发发/INTA。l检测到第检测到第1个个/INTA信号后,置信号后,置ISRi=1,IRRi=0。l

48、检测到第检测到第2个个/INTA信号后,把信号后,把ISRi=1中最高优先级的中最高优先级的中断类型码放到中断类型码放到DB上。上。l假设任务在假设任务在AEOI方式,在第方式,在第2个个/INTA终了时,使终了时,使ISRi复位;否那么由复位;否那么由CPU发出发出EOI命令使命令使ISRi复位。复位。6.5.3 8259A的任务方式的任务方式l8259A的任务方式:的任务方式:l 中断触发方式中断触发方式l 屏蔽中断源的方式屏蔽中断源的方式l 中断优先方式中断优先方式l 中断嵌套方式中断嵌套方式l 中断终了处置方式中断终了处置方式 l 级联任务方式级联任务方式一、中断触发方式一、中断触发方

49、式l边沿触发边沿触发l IRi出现上升沿表示有中断恳求出现上升沿表示有中断恳求 l电平触发电平触发l IRi出现高电平表示有中断恳求,但应及时撤出现高电平表示有中断恳求,但应及时撤除高电平,否那么能够引起第二次中断。除高电平,否那么能够引起第二次中断。l在第在第1个个/INTA终了前,终了前,IRi必需坚持高电平。必需坚持高电平。 二、屏蔽中断源的方式二、屏蔽中断源的方式l普通屏蔽方式:普通屏蔽方式:IMR屏蔽字决议了允许或制止某屏蔽字决议了允许或制止某位位IRi所对应的中断:所对应的中断:l IMi=1 制止,制止,IMi=0 允许即正常屏蔽方式。允许即正常屏蔽方式。l特殊屏蔽方式:特殊屏蔽

50、方式:l提供了允许较低优先级的中断可以得到呼应的特提供了允许较低优先级的中断可以得到呼应的特殊手段。殊手段。l原理:假定当前正在处置原理:假定当前正在处置IR6,先进入特殊屏蔽,先进入特殊屏蔽方式,然后设置方式,然后设置IM6=1。这时,除。这时,除IR6外的一切外的一切中断恳求均能得到呼应。中断恳求均能得到呼应。l特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令终了中断。命令终了中断。三、中断优先方式三、中断优先方式l中断优先方式中断优先方式 l两类优先级控制方式:固定优先级和循环优两类优先级控制方式:固定优先级和循环优先级先级l固定优先级方式固定优先级方式l一切中断恳求一切中断恳求IR

51、i的中断优先级固定不变的中断优先级固定不变l优先级陈列顺序可经过编程改动优先级陈列顺序可经过编程改动l加电后加电后8259A的默许方式,默许优先级顺序的默许方式,默许优先级顺序从高到低为从高到低为IR0IR7IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR07654321032107654最低级最低级最高级最高级最高级最高级最低级最低级优先级优先级IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0默许优先级默许优先级优先级可编程改动优先级可编程改动l 循环优先级方式循环优先级方式 l 中断源轮番处于最高优先级,即自动中断优先级中断源轮番处于最高优先级,即自动中断优先级循

52、环循环l 初始优先级顺序可用编程改动初始优先级顺序可用编程改动l 某中断恳求某中断恳求IRi被处置后,其优先级别自动降为被处置后,其优先级别自动降为最低,原来比它低一级的中断上升为最高级。最低,原来比它低一级的中断上升为最高级。 21076543最高级最低级IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR001000000IR4的效力终了以后的效力终了以后IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR076543210最低级最高级ISR内容内容IR4的效力终了以前的效力终了以前01010000ISRil 在中断处置过程中允许被更高优先级的事件所中断称为中断嵌套。l 8

53、259A有两种中断嵌套方式:l普通全嵌套方式默许方式 l一中断正被处置时,只需更高优先级的事件可以打断当前的中断处置过程而被效力。l特殊全嵌套方式 l一中断正被处置时,允许同级或更高优先级的事件打断当前的中断处置过程而被效力。四、中断嵌套方式四、中断嵌套方式仅用于多个仅用于多个8259A级连时的主级连时的主8259A。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7普通嵌套方式:普通嵌套方式:从片的从片的INT被主片被主片封锁,故更高级别封锁,故更高级别的的IR0-IR2中断也无中断也无法得到呼应法得到呼应特殊嵌套方式:特殊嵌套方式:因主片不封锁从片的因主片不封锁从片的INT

54、,故级别高的,故级别高的IR0-IR2中断可以得到呼应。中断可以得到呼应。(但但IR3-IR7仍被本从片仍被本从片封锁封锁)C.假定假定IR3发生中发生中断断,并获得效力并获得效力普通嵌套方式:普通嵌套方式:IR4的中断被效力的中断被效力时,这些中断将时,这些中断将被封锁。被封锁。B.特殊嵌套方式:特殊嵌套方式:IR4的中断被效的中断被效力 时 , 只 封 锁力 时 , 只 封 锁IR5-IR7。A.I NTE.从从8259AI NTIR0IR1IR2IR3IR4IR5IR6IR7普通全嵌套方式与特殊全嵌套方式的区别普通全嵌套方式与特殊全嵌套方式的区别 去去CPU五、中断终了处置方式五、中断终

55、了处置方式l当某一IRi中断被效力时,ISR中的相应位ISRi=1。当效力终了后,那么必需清零该ISRi位。使ISRi=0是经过向8259A发出中断终了命令EOI命令实现的。l三种EOI命令l自动EOIAEOI自动EOI方式l非指定EOINSEOI正常EOI方式l指定EOISEOI特殊EOI方式lAEOI:在第:在第2个个/INTA终了时,由终了时,由8259A使使ISRi自自动复位;动复位;l因不保管当前正在效力的中断的形状,故因不保管当前正在效力的中断的形状,故AEOI不不能用于中断嵌套方式能用于中断嵌套方式lNSEOI:由:由CPU发出正常发出正常EOI命令,该命令,该EOI命令使命令使

56、ISRi=1的位中优先级最高的那一位复位。的位中优先级最高的那一位复位。l用于普通全嵌套方式用于普通全嵌套方式lSEOI:由:由CPU发出一条发出一条SEOI命令,该命令,该EOI命令中命令中指出了所要复位的指出了所要复位的ISR的位号。的位号。 l用于特殊屏蔽方式用于特殊屏蔽方式中断效力程序中断效力程序向从向从PIC发发EOI命令命令读从读从PIC的的ISR全全0?向主向主PIC发发EOI命令命令YIRET恢复现场恢复现场Nn特殊全嵌套方式特殊全嵌套方式下的下的EOI处置处置n只需当从只需当从8259A的中断全部处置的中断全部处置完后,才干向主完后,才干向主8259A发发EOI命命令。令。六

57、、级联任务方式六、级联任务方式l单片单片8259A可支持可支持8个中断源;个中断源;l采用多片采用多片8259A级联,可最多支持级联,可最多支持64个中断源。个中断源。 n片片8259A可支持可支持8*(n-1)+8-(n-1)=7n+1个中断源;个中断源;l级联时只能有一片级联时只能有一片8259A为主片,其他的均为从片;为主片,其他的均为从片;l涉及到的涉及到的8259A引脚包括:引脚包括:lCAS0 - CAS2lSP/ENlIRilINT 主片主片8259AIR0 IR1IR2IR3IR4IR5 IR6 IR7INTINTRINTAINTA 从片从片1IR0 IR1IR2IR3IR4I

58、R5 IR6 IR7INTINTA 从片从片8IR0 IR1IR2IR3IR4IR5 IR6 IR7INTINTA6.5.4 8259A的编程运用的编程运用l 8259A的控制命令分为的控制命令分为l 初始化命令字初始化命令字ICWl ICW1ICW4l 向向8259A写入写入ICW的过程称为初始化编程的过程称为初始化编程l 操作命令字操作命令字OCW l OCW1OCW3l 向向8259A写入写入OCW的过程称为操作方式编的过程称为操作方式编程程8259A内部存放器的寻址方法内部存放器的寻址方法/CS/RD/WRA0D4D3读写操作读写操作010000写写OCW2写写OCW3写写ICW1写写

59、ICW2,ICW3,ICW4,OCW1(顺序写入顺序写入)00101x1xx00101xx读出读出IRR、ISR(由(由OCW3区分)区分)读出读出IMRl需求需求/CS、A0、/RD、/WR和和D4、D3的配合的配合l内部存放器的访问方法如下表:内部存放器的访问方法如下表: 8259A的控制命令字n初始化8259A必需从ICW1开场n写ICW1意味着重新初始化8259An写入ICW1后,8259A的形状如下:n去除ISR和IMR(全0);n将中断优先级设成初始形状:IR0最高,IR7最低;n设定为普通屏蔽方式;n采用非自动中断终了方式;n形状读出逻辑预置为读IRR。ICW1初始化字初始化字l

60、LTIM: 触发方式触发方式l=1 高电平触发高电平触发l=0 上升沿触发上升沿触发lSNGL: 级连控制级连控制l=1 单片单片l=0 级连级连lIC4: ICW4控制控制l=1 要写要写ICW4l=0 不写不写ICW4默许默许ICW4为全为全0A0 D7D6 D5 D4 D3 D2 D1 D0 0 x x x 1 LTIM x SNGL IC4如要求上升沿触发、单片如要求上升沿触发、单片8259A,写,写ICW4,那么,那么ICW1 = ?Single ?Level Triggered Mode ?00010011B=13HICW2中断向量码lT7T3: 中断向量码的高5位lT2T0: 最低3位为中断源的序号IRnl 000111分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论