微计算机原理及应用_第1页
微计算机原理及应用_第2页
微计算机原理及应用_第3页
微计算机原理及应用_第4页
微计算机原理及应用_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

而疑九零微计算机原理及应用

SOUTHWESTUKIWUmrFORNATICMIAIJES

微型计算机原理及应用

西南民族大学电信学院

授课教师:杜诚

联系方式/p>

Email:dcheng_76@

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

第7章微计算机的中断系统

7.1中断控制方式的优点

中断是为处理一些紧急发生的情况,使程序中

断当前任务,将CPU的控制转向该紧急事件进行处

理,并在处理完后返回原程序的一种过程。

因此,中断一方面是为了解决CPU与外设间速度方

面存在差异而引入的控制方式之一。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWHESTFORN-UTIE3

若用查询方式.则CPU将浪费很多时间去等待外改,

而不能执行其他的程序。

在各种微计算机系统中,常利用CPU的中断机构来处

理与外部设备间的数据传送,以最少的响应时间和内

部操作来处理所有外设的服务请求,使整个计算机系

统的性能达到最佳。另一方面.中断也是处理来自内

部异常故障的重要手段。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

使用中断控制方式归纳起来主要有以下3方面的优点o

1.分时操作

2.实时处理

3.故障处理

7.28086/8088的中断机构

1•外部中断

外部中断是由用户确定的硬件中断,又分

为可屏蔽中断INTR和非屏蔽中断NML

2012年10月24日西南民族大学电气信息工程学院

微计算机原理及应用

SOUTHWESTUKIWUmrFORNATICMIAIJES

1

INTn指令非屏蔽中断请求

NMI

中断逻辑

INTR断

INT3INTO单步除数为请

指令指令中断0中断求

(8259A)

软件中断

8086/8088CPU

硬件中断

中断分类

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTMESTFORN-UTIES

可屏蔽中断可用中断允许标志IF屏蔽。

此类中断的请求信号通常是经可编程中断控制器8259A

进行管理之后发出的,并由1NTR引脚输入CPU。

非屏蔽中断,不能由IF加以屏蔽,其中断请求信号由

NMI引脚输入CPU,只要有非屏蔽中断请求到达,

CPU就进行响应,不能对它进行屏蔽,因此常用于对

系统中发生的某种紧急事件进行处理。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTMESTFORN-UTIE3

2、内部中断

内部中断是通过软件调用的中断。这类中断都是

非屏蔽型的,包括单步中断、除法出错中断、溢出

中和指令中断(INTn)。

3、中断的优先权

当系统中有多个中断源时。可能出现两个或多个

中断源同时申请中断的情况,中断逻辑将根据轻重

缓急给每个中断源确定CPU对它响应的优先级别(优

先权)。

在响应某一中断请求时又有更高级的中断请求到来,

CPU将暂停目前的中断服务转去对更高级的中断源

进行服务,这称为中断嵌套。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHMEWTUNIVERSITYFORN-AUTtES

7.2.2中断过程

中断是一个过程,包括中断检测、中断响应及执

行中断服务程序和中断返回。图72示出了8086/

8088的中断处理流程。

2012年10月24日西南民族大学电气信息工程学院

年逞学院

2012图7-280868088中断处理流程图

线控

C?Pl1布I制地

3线性制址

隹辨总

IIPI4线

IC,I③“,断类型号n

送UP”

PSW

CD段口发中断i点求彳二号

②等前孑斤令执彳」先后.

C-PU进才j中帧回宣

⑤才用除H4*1ri

(&)<I»n,作为IP

⑨IRKT持令使1P

cfrnm伸出

用栈

图73E7拜"献+断臼勺I】向应、执彳亍与M息1«1

©0而a表上挈|微计算机原理及应用

SOUTHWHESTFORN-UTIE3

7.2.3中断向量表的设置方法

中断向量表用来存放中断服务程序入口地址

的Cs和IP值。

它是中断类型代码n和与此代码相对应的中断服

务程序(过程)间的一个连接链,因而又称为中断

指针表。

8086/8088每种类型的中断都指定0〜255范围

中的一个类型号H,每一个n都与一个中断服务

程序相对应。当CPU处理中断时.需要把控制

引导至相应中断服务程序入口地址。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTMESTMTVFOR■—UTIE3

为了实现这一引导,在存储器的低端划出1KB空间

000H〜3FFH)存放中断向量表。

就可把各个中断类型号所对应的中断服务程序人口地

址依次存放在中断向量表内,每个地址占4个字节,

低两个字节存放中断服务程序入口地址的偏移地址IP,

高两个字节存放中断服务程序人口的段基址cs。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

当CPU调用类型号为n的中断服务程序时,首先把

中断类型号n乘以4,得到中断指针表的人口地址

4n,然后把此入口地址开始的四个字节中的两个

低字节内容装入指令指针寄存器IP,即:

(IP)^(4n:4n+l)

高字节内容装入指令指针寄存器CS,即:

(CS)^(4n+2:4n+3)

2012年10月24日西南民族大学电气信息工程学院

微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

币断I司量

指针

004FH

004EH

004DH

004CH

图5.1中断向量指针示意图

例:求软盘13H的中断向量

中断号一向量地址—中断向量

软盘13H-13Hx4=4CH->0070:0FC9

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTH,ESTMTYFORN-UTIE3

使用中断之前.必须采用一定的方法.将中断服

务程序的入口地址设置在与类型号相对应的中断

向量表中.介绍中断向量表设置的3种方法。

(1)在程序设计时定义一个起始地址为0数据段,

结构如下

VDATASEGMENTATOOH

ORGn*4

这种方法的基本思想足借助DOS的装入程序,在

经汇编、连接产生的可执行程序装入内

存,把服务程序的入口地址置入中断向量表。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

(2)在程序的初始化部分使用几条传送指令.把中断

服务程序的入口地址置人中断向量表.结构如下:

VDATASEGMENTATOOH

ORGn*4

VINTSUBDW2DUP(?);保留4个字节单元

VDATAENDS

ININTSEGMENT

ASSUMECS:ININT,DS:VDATA

MOVAX,VDATA

MOVDS,AX;初始化DS

MOVVINTSUB,noffsct

MOVVINTSUB+2,nseg;设置中断向量表

ININTENDS

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

(3)借助DOS的功能调用INT21H,把中断服务程

序的入口地址置入中断向量表中。在执行该功能

调用之前

①用35H号功能,获取原中断向量,并保存在字变

量中。

②用25H号功能,设置新中断向量,取代原中断

向量,以便当中断发生后,转移到新中断服务程

序中去。

③新中断服务程序完毕后,利用25H号功能恢复

原中断向量

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTH,ESTFORN-UTIE3_______________________________________________________________________________________________________________________________________________

物房的DOS/就功健蠲用

»获取中断向量(功能号AH二35H)

入口参数:AL二类型号

出口参数:ES:BX二中断向量

»设置中断向量(功能号AH二25H)

入口参数:A"类型号

入口参数DS:DX二中断向量

2012年10月24日西南民族大学电气信息工程学院

微计算机原理及应用

SOUTHWESTUKIWUmrFORNATICMIAIJES

;定义保存原中断向量的2个字单元

OLD_OFFDW?n

OLDSEGDW?;设置新中断向量

MOVAH,25H;恢复原中断向量

;保存原中断向量MOVAL,N■■■

MOVAH,35HPUSHDSCLI

MOVAL,NMOVDX,SEGINT_SEVMOVAH,25H

INT21HMOVDS,DXMOVAL,N

MOVOLD_OFF,BXMOVDX,OFFSETINT_SEVMOVDX,OLD_OFF

MOVOLD_SEG,ESINT21HMOVDS,OLD_SEG

CLIPOPDSINT21H

STI

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTH,ESTMTVFOR■—UTIE3

7.3外部中断

外部中断是微机和外设交换信息的重要方法之一。

外设可通过8086/8088CPU的NMI和INTR两条引脚

向CPU提出中断请求。外部中断是通过接口的硬件产

生的,所以又称为硬件中断或硬中断。

NMI是非屏蔽中断请求信号,高电平有效.边沿触

发方式,对应于中断类型号2。

NMI请求信号不能用中断允许标志IF加以屏蔽禁止,

一旦发生.就立即被CPU锁存起来。NMI的优先权级

别比INTR的优先级别高。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTFORN-UTIE3

7.3.2INTR中断

INTR是可屏蔽中断请求信号,高电平有效,

电平触发方式。

INTR请求信号可被中断允许标志IF屏蔽。当设

置IF=0.从INTR引脚进入的中断请求将得不到

响应,只有当设置1F=1时,CPU才会响应,并通

过INTA引脚往接口电路送两个脉冲作为应答信

号。中断接口电路收到/INTA信号后.将中断向

量送至数据总线.同时清除中断请求触发器的请

求信号。CPU根据中断向量找到中断服务程序入

口,从而执行中断服务程序。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

四、中断的优先权管理

问题:

1)如多个I/O接口同时发出中断请求,CPU首先响

应哪个中断请求?

解决问题的方法:

优先级:在设计中断系统时,为每个中断源按处

理的轻重缓急指定一个优先级。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTMESTMTVFOR■—UTIE3

2)当CPU正在执行中断服务子程序时,这时又有新

的中断请求到来,CPU也要能确定是否进行响应?

中断嵌套:对CPU正在处理中断时又有新的中断

请求发生的情况,一般要能响应更高优先权的中断请

求,而屏蔽掉同级或低级的中断请求,即中断嵌套。

CPU判别优先权的方法有软件查询、编码比较电路、

链式排队电路,以及专用硬件处理器四种方法。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

通常对中断优先级采用3种办法进行管理

■软件查询方式

■菊花链法

■专用芯片管理方式

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

741软件杳询方式

软件查询方趣借助1个简单的接口电路。

假设现有3种外设A,B,c均采用中断方试与cpu交换数

据,其中A的优先级最高.B次之,C最低。

3个外设的中断请求触发器组成一个中断请求寄存器,

端口地址设为20H,将这3个中断请求信号相“或”后接

至UCPU的INTR信号端。

这样,任何一个外设都可向CPU发中断请求,CPU响应中

断请求进入中断服务程序设计中断服务程序时,要在开

始部分安排一段能区别优先级别的查询程序。

2012年10月24日西南民族大学电气信息工程学院

微计算机原理及应用

SOUTHWESTU,l"IWTyFORNATKMUUJES

中断请求

寄存器

ABC

先级

工低

2012年10月24日西南民族大学电气信息工程学院

中断服务程序/原理及应用

FOR"TIOtlAU

保护现场

外设A

申请中断IPFRIP.A

外设人服务程序

外设B

申请中断iPERIPB

外设B服务程序

PERIPC1N

外设C服务程序

「恢复现场

'「

中断返回

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIONALITIES

7.4.2菊花链法

菊花链法是一种获得中断优先级管理的简单

硬件方法,其做法是在每个外没对应的接口上接

一个逻辑电路,这些逻辑电路构成一个链以控制

中断回答信号的通路,称为菊花链。

在该电路中,越靠近CPU的接口.优先级越高。

2012年10月24日西南民族大学电气信息工程学院

1①B而疑九多

微计算机原理及应用

SOUTHWBFTUKI"IWTYFORMATKHUUdES

h斯f

rif

设备BA^一

H毓&

Kll毗

R逻

CPU以及V

总线用花的

拄制娜跚电路

A

INTA

+_

1NTRINgTA

⑶菊槌(b)菊花链逻物电路

图7-5菊花链及其中断逻触路

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHMEWTUNIVERSITYFORN-AUTtES

7.4.3专用芯片管理方式

这种方式是指采用专门的可编程中断优先级管理

芯片来完成中断优先级的管理。

IBMPC系列微机系统最常用的方法。lute[公司的

8259A就是这种专用芯片,又称为中断控制器。

将它接在CPU和接口之间,CPU的1NTR脚和/INTA

脚不再直接和接口相连,而是和中断控制器相连接;

另一方而,各外设接口的中断请求信号并行地送到

中断控制器,此管理电路为符中断清求信号分配优

先级。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTFORN-UTIE3

7.5可编程中断控制器8259A

1、8259A协助CPU处理中断事务所作的工作

优先级排队处理

有完全嵌套,循环优先级,特定屏蔽等

接受和扩充外部设备的中断请求

可以扩展至8片,实现64级中断.

提供中断类型号

通过中断类型转入中断服务程序的入口地址

进行中断请求的屏蔽和开放

能使用编程方式实现多级中断管理.

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHMEWTUNIVERSITYFORN-AUTtES_____________________________________________________________________________________________________________________________________________

--、8259A引脚及内部'结构CPU侧:

CS128V-----

WR-------►227-_---_---_---_----AOUCS;

326_TFATXT)r\O

RD«----------INTAU15O~1JD7;

DB0V-------------A425

:RD、WR、A;

DB1524■IR6----------o

DB2―・623______IRSTNTTNTA-

±11±、±11AZA.9

722

DB3;______;R3外设侧:

DB4821

DB5920■IR2IRg^IRy;

DB6V-------------A1019VIR1

DB71118-IKO以耿:

______TXTT

CASO-12*11M1_____

CAS1-1316___^ep/™SP/EN、CASn〜CAS?o

GND-1415-----------CAS2

2012年10月24日西南民族大学电气信息工程学院

微计算机原理及应用

SOUTHWESTUNIVCRSITYFORNATIOMA1.ITIE$

2.8259A内部结构

INTAINT

D7〜Do数据

总线

缓冲器控制逻辑

线

SP/ENv(

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWHEWTUXIVEMTYFORN-UTIES

1中断请求寄存器IRR

它存放在IR线上提出了中断请求的中断源,该寄存器8

位(D(fD7)对应于连接在IRCTIR7线上的外设所产生

的中断请求,哪一根输入线有请求,哪位就置“1”。

具有锁存功能,其内容可用0CW3命令读出。

2正在服务寄存器ISR

在中断响应之后,第一个获准中断请求的中断级在相

应的ISR中置位。

如IR3获准,ISR中的IS3置位,表明IR3正处于服务。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHMESTUNIVERSITYFORN-UTIE3

3中断屏蔽寄存器IMR

-是对中断请求IR起屏蔽作用,即对中断请求IR还是

允许,寄存器8位对应8级中断屏蔽。哪一级中断被

屏蔽,哪位就写“1”,即禁止IR提出中断请求。

“0开中断

Di=<

、1关中断

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTMESTFORN-UTIES

3优先权分析器PR

-优先排队当在IR输入端有中断产生时,送到PR,PR

检查进来的中断请求的优先级并和“正在服务中的中

断”进行比较,确定是否让这个中断请求送给处理器。

过程如下:由8个“与”门逻辑选出参加中断优先级排

队的中断请求级,即由8位位IRR与8位IMR分别送入

“与”门输入端,只有当IRR位置“1”和1乂区位置“0”

(开放中断请求)同时成立时,相应“与”门输出才

为高电平,并送到优先级编码器的输入端参加编码。

2012年10月24日西南民族大学电气信息工程学院

微计算机原理及应用

DoD7

比>1中断屏蔽寄存器IMR

Ro

B

B

Bo.

1

A.

2.

BA

0

A

A1

2

R7

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTMESTFORN-UTIE3

5读/方捽制逻辑

控制接受CPU来的命令包括初始化命令字ICW

和操作命令字OCW并控制传送8259A的状态字

到数据总线表见p94

6级连缓冲器/比较器

-用于级连工作」片8259A作主片其余8片8259A作从

片,最多可以组合64级向量优先级控制

主片和从片的CASO〜CAS2并接在一起作为级连总线

中断响应过程中主片的CASO〜CAS2为输出,从片的

CASO〜CAS2为输入

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTH,ESTFORN-UTIE3

3.8259A工作方式

引入中断请求的方式:

边沿触发方式:正跳变向8259A请求中断。

电平触发方式:高电平向8259A请求中断,响应

中断后要及时清除高电平。

查询中断方式:外设向8259A请求中断,但

8259A不向CPU发中断请求信号

INTo而是将请求状态保存等待

CPU来杳询。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHWESTMTVFOR■—UTIE3

连接总线与级联方式:

缓冲方式:色系统中,数据总线都具有总线

缓冲器,此时37函表示数据传送方向,级联时

主/从关系通过软件设定ICW4来决定。

非缓冲方式:小系统中,8259A数据线管堡

系统数据总线,不需要总线缓冲器,此时而酶

表示级联时生/丛关系。

主正时/EN接高电平;

从军3/EN接低电平。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTH,ESTMTVFOR■—UTIE3

屏蔽方式:

通常屏蔽:利用OCW1使IMR中相应位置位;

特殊屏蔽:开放比自己优先级低的IR。通过OCW3的

D6D5=U设定.

优先级排队方式:

全嵌套:禁止同优先级和低优先级请求发生;

特殊全嵌套:禁止低优先级请求发生。

应用:级联时主片特殊全嵌套,从片全嵌套。

自动轮转:刚被服务的IR的优先级降至最低;

指定轮转:指定的IR的优先级降至最低。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHMESTUNIVERSITYFORN-UTIE3

结束中断的处理方式(ISR复位方式):

自动中断结束方式:中断响应后ISR中最高优先级

位自动复位;即自动清除中断服务所对应的ISR位.

非自动中断结束方式:中断服务程序返回前,需要处

理程序发出对ISR中相应位复位的中断结束命令;

不指定方式:ISR中最高优先级位复位;

指定方式:命令中指定的ISR中相应位复位。

设置方式见OCW2操作命令字.

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTH,ESTFORN-UTIE3

4.8259A的操作功能及命令

中断操作功能:

①请求②屏蔽③排队④结束⑤级联

⑥中断类型号⑦查询

I/O端口地址:只提供二个端口(使用A0区别);

同一端口写入多个命令字时,则按规定的顺序写

入,或以特征位标记.

命令:初始化--ICW1〜ICW4,

操作・・OCW1〜OCW3。

2012年10月24日西南民族大学电气信息工程学院

©0而a表上挈|微计算机原理及应用

SOUTHMEWTUNIVERSITYFORN-AUTtES

L中断请求触发方式的设定(ICW1)

功能:设定中断请求的触发方式,是电平触发

还是边沿触发。

8259A为了判断外设提出中断请求,有两种检测方式:

电平触发方式:在IR输入线检测出有一个高电平,

并且在第一个INT脉冲到来之后维持高电平,就认为

有外设提出中断请求,并使IRR相应位置一。

边沿触发方式:当在IR输入端检测到由低到高的上

跳变时,且正电平保持到第一个INTA到来之后,

8259A就认为有中断请求。

2012年10月24日西南民族大学电气信息工程学院

微计算机原理及应用

⑴初始化命令ICW1

AOD7D6D5D4D3D2DIDO

EQ

01LTIMADISNGLIC4

LZ

_D0=0不需要ICW4

需要

特D0=lICW4

16位机无效

征无效Dl=。:为多片级联

位Dl=l:为单片使用

D3=0:为边沿触发

D3=l为电平触

温馨提示

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

评论

0/150

提交评论