程序控制和中断管理

程序控制和中断管理

ID:42190297

大小:1.25 MB

页数:40页

时间:2019-09-10

程序控制和中断管理_第1页
程序控制和中断管理_第2页
程序控制和中断管理_第3页
程序控制和中断管理_第4页
程序控制和中断管理_第5页
资源描述:

《程序控制和中断管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

3、的低半部分,即利用数据读总线(DRDB)的方式获取程序地址。(7)转移到中断服务程序:程序的地址来源于中断矢量单元,即利用程序读总线(PRDB)的方式获取程序地址。加载到程序计数器(PC)的地址1.顺序执行2.分支(转移)3.子程序调用和返回4.软件或硬件中断5.计算转移堆栈16位宽、8级深的硬件堆栈。调用了程序或发生中断时程序地址产生逻辑,利用该堆栈保存返回地址。当CPU进入子程序或中断服务程序时,返回地址自动装入堆栈的栈顶,这一操作不需要附加的周期。当子程序或中断服务程序完成时,返回指令将返回地址从栈顶传送到程序计数器。当不

4、需要用8级返回地址时,该堆栈也可以用来保存子程序或中断服务程序中的相关数据或用于其他目的。PUSH和POP累加器低16位拷贝到栈顶;反之栈顶拷贝到累加器低16位PUSHD和POPD数据存储区中的值拷贝到栈顶或栈顶的值拷贝到数据存储区。微堆栈(MSTACK)16位宽、1级深的堆栈保存1个返回地址。与堆栈不同,它的操作是不可见的。也就是说没有可以使用微堆栈保存信息的指令,只有程序地址产生逻辑才能够使用微堆栈。程序地址产个逻辑在执行BLDD,BLPD,MAC,MACD,TBLR和TBLW这些串(块)操作指令时利用微堆栈保存返回地址。当

5、执行这些指令时,首先把PC+2的地址送到微堆栈保存,当这些指令重复执行时,PC可使第一个操作数的地址自动增量,同时使第二个操作数的地址改变,到所重复的指令完成时再将微堆栈弹回到程序地址产生逻辑。2.转移,调用和返回转移、调用和返回将改变指令流的顺序,转到新的地址单元去执行指令。转移仅使控制转换到新的地址单元,调用还要将返间地址(调用指令后面的那条指令的地址)保存到硬件堆栈的栈顶。每个被调用的子程序或中断服务程序都以返回指令结束,返回指令将堆栈中的返回地址弹到程序计数器(PC)。具有无条件和有条件两种类型的转移、调用和返回指令。无

6、条件转移当执行无条件转移(B,BACC)和无条件调用子程序(CALL,CALA)指令时,将指定的程序储器的地址加载到PC,并从该地址开始执行程序。执行无条件返回(RET)指令时,将栈项的值(返回地址)加载到PC,并从该地址继续执行程序。有条件指令组1:最多可选两个条件。每个条件必须来自不同的类(A或B),个能从向一类中选择两个条件。组2:最多可选3个条件,每个条件必须来自不同的类(A,B或C),不能有两个条件来自同一类。BCNDpma,cond1[,cond2][,...]转移pma开始的指令ccpma,cond1[,cond2

7、][,...]调用pma开始的子程序重复指令重复指令(RPT)允许一条指令的重复次数为N+1次。N为RPT指令的操作数。当执行RPT时,计数值N被装入重复计数器(RPTC),然后,被重复的指令每执行一次,RPTC就减1,直至RPTC为0。如果计数值N是从一个数据存储器读取,RPTC作为16位计数器,如果N被设定为一个操作常数,则RPTC为8位计数器。这种重复功能对于NORM(累加器内容规一化)、MACD(乘、累加及数据移动)和SUBC(条件减)等指令很有用。在指令重复时,程序存储器的地址总线和数据总线是空闲的,可与数据存储器的地

8、址总线和数据总线并行地取第2个操作数。这就使得被重复的指令每重复一次,都能够在一个单周期内完成操作。NORM指令把累加器中的有符号数规格化。对定点数进行规格化即把他们分成指数和尾数。TMS320C2000中断系统1.中断类型支持软件中断和硬件中断。软件中断由程序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。