程序控制和中断管理.ppt

上传人:牧羊曲112 文档编号:6596174 上传时间:2023-11-16 格式:PPT 页数:40 大小:1.19MB
返回 下载 相关 举报
程序控制和中断管理.ppt_第1页
第1页 / 共40页
程序控制和中断管理.ppt_第2页
第2页 / 共40页
程序控制和中断管理.ppt_第3页
第3页 / 共40页
程序控制和中断管理.ppt_第4页
第4页 / 共40页
程序控制和中断管理.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《程序控制和中断管理.ppt》由会员分享,可在线阅读,更多相关《程序控制和中断管理.ppt(40页珍藏版)》请在三一办公上搜索。

1、第四章 程序控制和中断管理,1.程序地址产生结构2.转移,调用和返回3.指令重复4.中断系统,1.程序地址产生结构,CPU芯片的程序地址产生逻辑,(1)程序计数(PC):16位PC对内部和外部程序存储 器寻址。(2)程序地址寄存器(PAR):16位的程序地址寄存器(PAR)驱动程序地址总线(PAB),提供程序的读、写地址。(3)堆栈:16位宽、8级深的硬件堆栈最多可保存8个返回地址。此外,也可将堆栈用做暂存存储器。(4)微堆栈(MSTACK):有时程序地址产生逻辑使用这个16位宽、1级深的堆栈保存1个返回地址。(5)重复计数器(RPTC):16位的RPTC与重复指令(RTP)一起,用来确定RT

2、P后面的一条指令重复执行次数。,程序地址的产生有7种情况,(1)顺序操作:程序的地址来源于PC计数器(程序地址+1)。(2)空(哑)周期:程序的地址来源于PAR(程序地址+1)。(3)从子程序返回:程序的地址来源于栈顶(TOS)。(4)从表传送或块传送返回:程序的地址来源于微堆栈(MSTACK)。(5)转移到或调用指令中指定的地址:程序的地址来源于转移或调用指令,即利用程序读总线(PRDB)的方式获取程序地址。(6)转移到或调用累加器低半部分指定的地址:程序的地址来源于累加器的低半部分,即利用数据读总线(DRDB)的方式获取程序地址。(7)转移到中断服务程序:程序的地址来源于中断矢量单元,即利

3、用程序读总线(PRDB)的方式获取程序地址。,加载到程序计数器(PC)的地址,1.顺序执行2.分支(转移)3.子程序调用和返回4.软件或硬件中断5.计算转移,堆栈,16位宽、8级深的硬件堆栈。调用了程序或发生中断时程序地址产生逻辑,利用该堆栈保存返回地址。当CPU进入子程序或中断服务程序时,返回地址自动装入堆栈的栈顶,这一操作不需要附加的周期。当子程序或中断服务程序完成时,返回指令将返回地址从栈顶传送到程序计数器。当不需要用8级返回地址时,该堆栈也可以用来保存子程序或中断服务程序中的相关数据或用于其他目的。PUSH和POP累加器低16位拷贝到栈顶;反之栈顶拷贝到累加器低16位PUSHD和POP

4、D数据存储区中的值拷贝到栈顶或栈顶的值拷贝到数据存储区。,微堆栈(MSTACK)16位宽、1级深的堆栈保存1个返回地址。与堆栈不同,它的操作是不可见的。也就是说没有可以使用微堆栈保存信息的指令,只有程序地址产生逻辑才能够使用微堆栈。程序地址产个逻辑在执行BLDD,BLPD,MAC,MACD,TBLR和TBLW这些串(块)操作指令时利用微堆栈保存返回地址。当执行这些指令时,首先把PC+2的地址送到微堆栈保存,当这些指令重复执行时,PC可使第一个操作数的地址自动增量,同时使第二个操作数的地址改变,到所重复的指令完成时再将微堆栈弹回到程序地址产生逻辑。,2.转移,调用和返回,转移、调用和返回将改变指

5、令流的顺序,转到新的地址单元去执行指令。转移仅使控制转换到新的地址单元,调用还要将返间地址(调用指令后面的那条指令的地址)保存到硬件堆栈的栈顶。每个被调用的子程序或中断服务程序都以返回指令结束,返回指令将堆栈中的返回地址弹到程序计数器(PC)。具有无条件和有条件两种类型的转移、调用和返回指令。,无条件转移,当执行无条件转移(B,BACC)和无条件调用子程序(CALL,CALA)指令时,将指定的程序储器的地址加载到PC,并从该地址开始执行程序。执行无条件返回(RET)指令时,将栈项的值(返回地址)加载到PC,并从该地址继续执行程序。,有条件指令,组1:最多可选两个条件。每个条件必须来自不同的类(

6、A或B),个能从向 一类中选择两个条件。组2:最多可选3个条件,每个条件必须来自不同的类(A,B或C),不能有两个条件来自同一类。BCND pma,cond1,cond2,.转移pma开始的指令cc pma,cond1,cond2,.调用pma开始的子程序,重复指令,重复指令(RPT)允许一条指令的重复次数为N+1次。N为RPT指令的操作数。当执行RPT时,计数值N被装入重复计数器(RPTC),然后,被重复的指令每执行一次,RPTC就减1,直至RPTC为0。如果计数值N是从一个数据存储器读取,RPTC作为16位计数器,如果N被设定为一个操作常数,则RPTC为8位计数器。这种重复功能对于NORM

7、(累加器内容规一化)、MACD(乘、累加及数据移动)和SUBC(条件减)等指令很有用。在指令重复时,程序存储器的地址总线和数据总线是空闲的,可与数据存储器的地址总线和数据总线并行地取第2个操作数。这就使得被重复的指令每重复一次,都能够在一个单周期内完成操作。,NORM指令把累加器中的有符号数规格化。对定点数进行规格化即把他们分成指数和尾数。,TMS320C2000中断系统,1中断类型支持软件中断和硬件中断。软件中断由程序指令产生(INTR、TRAP或RESET)。硬件中断由设备的一个信号产生,包括两种类型:外部硬件中断由外部中断口的信号触发;内部硬件中断由片内外设的信号触发。无论是硬件中断还是

8、软件中断,都属于以下两种类型:1)可屏蔽中断(2)非屏蔽中断,硬件中断和软件中断从CPU管理的角度又分为可屏蔽中断和不可屏蔽中断两类。可屏蔽中断:均为硬件中断,可以用软件设置使它们禁止(屏蔽)或允许(不屏蔽)。当硬件设备或外部引脚成功地请求了可屏蔽中断时,与其相应的一个或几个标志被激活,无论处理器是否响应此中断,这些标志都被设置为1。不可屏蔽中断:包括所有的软件中断(由INTR,NMI和 TRAP指令请求)和两种外部硬件中断(RS和NMI)。对于不可屏蔽中断,总是要响应并从主程序转移到中断服务程序。,中断类型,中断源,中断结构,中断源的中断向量及硬件中断优先权,外设中断,PIQn,PIACKR

9、n,n=0,1,2,2中断标志寄存器(IFR)和中断屏蔽寄存器(IMR),中断标志寄存器(IFR)是存储器映象的CPU寄存器。中断标志寄存器(IFR)结构图。中断屏蔽寄存器(IMR)也是存储器映象的CPU寄存器,用来屏蔽外部和内部的可屏蔽中断,其结构图同IFR完全一致。,中断标志寄存器(IFR)结构图,中断屏蔽寄存器(IMR),全局开关,综合图示,中断响应过程,4,5,6要点(对应下下页),1,2,3要点(对应下页),可屏蔽中断回顾,中断响应过程,管理中断有3个主要阶段。(1)接受中断请求:来自程序代码的软件中断请求、来自引脚或片内设备硬件中断请求到达CPU时(若为可屏蔽中断,将使中断标志寄存器的相应标志置1),该中断挂起,或说正在等待响应。(2)响应中断:如果是可屏蔽中断,则必须满足某些条件时CPU才会响应;对非屏蔽中断则立即响应。(3)执行中断服务程序:一旦中断被响应,CPU就根据放在中断矢量地址中的转移指令,按照器件的要求转移到相应的中断服务程序中去执行。,中断操作流程图,外设中断管理,标志及屏蔽位,可屏蔽中断响应,中断服务流程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号