DSP程序控制和中断管理学习教案_第1页
DSP程序控制和中断管理学习教案_第2页
DSP程序控制和中断管理学习教案_第3页
DSP程序控制和中断管理学习教案_第4页
DSP程序控制和中断管理学习教案_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1DSP程序控制和中断管理程序控制和中断管理第一页,编辑于星期六:六点 四十一分。第1页/共48页第二页,编辑于星期六:六点 四十一分。程序地址产生框图程序地址产生框图第2页/共48页第三页,编辑于星期六:六点 四十一分。器件功能程序计数器(PC)对内部和外部程序存储器寻址程序地址寄存器(PAR)驱动程序地址总线,提供程序的读、写地址堆栈保存返回地址微堆栈(MATACK)保存返回地址重复计数器(RPTC)与重复指令(RPT)一起,用来 确定RPT后的一条指令重复执行的次数。第3页/共48页第四页,编辑于星期六:六点 四十一分。操作程序地址来源顺序操作程序计数器PC(程序地址+1)空周期程

2、序地址寄存器PAR(程序地址+1)从子程序返回堆栈栈顶(TOS)从表传送或块传送返回微堆栈(MSTACK)转移到或调用指令中指定的地址转移到或调用累加器低半部分指定的地址转移到中断服务程序转移或调用指令,即利用程序读总线(PRDB)的方式获取程序地址。累加器的低半部分,即利用数据读总线(DRDB)的方式获取程序地址中断矢量单元,即利用程序读总线(PRDB)的方式获取程序地址。第4页/共48页第五页,编辑于星期六:六点 四十一分。第5页/共48页第六页,编辑于星期六:六点 四十一分。将累加器低16位加载到PC。利用BACC(转移到累加器中的地址)或CALA(调用累加器指令单元的子程序)指令可实现

3、计算转移操作加载到PC的地址顺序执行若当前指令字是一个字,则将PC+1加载到PC若当前指令字是两个字,则将PC+2加载到PC转移转移指令后的长立即数直接加载到PC子程序调用和返回调用指令:将PC中的下一条指令的地址压入堆栈, 然后将调用的指令后的长立即数加载到PC返回指令:将返回地址从堆栈中弹回PC软件或硬件中断将相应的中断矢量地址装入PC。在该矢量单元,通常有一条转移指令,又将相应的中断服务程序的地址加载到PC计算转移代码操作第6页/共48页第七页,编辑于星期六:六点 四十一分。第7页/共48页第八页,编辑于星期六:六点 四十一分。第8页/共48页第九页,编辑于星期六:六点 四十一分。第9页

4、/共48页第十页,编辑于星期六:六点 四十一分。第10页/共48页第十一页,编辑于星期六:六点 四十一分。4级流水线的操作级流水线的操作第11页/共48页第十二页,编辑于星期六:六点 四十一分。第12页/共48页第十三页,编辑于星期六:六点 四十一分。转移、调用和返回改变指令流的顺序,转到新的地址单元去转移、调用和返回改变指令流的顺序,转到新的地址单元去执行指令。执行指令。转移仅使控制转换到新的地址单元;调用要将返回地转移仅使控制转换到新的地址单元;调用要将返回地址保存到硬件堆栈的栈顶;返回指令将堆栈中的返回地址址保存到硬件堆栈的栈顶;返回指令将堆栈中的返回地址弹到程序计数器。弹到程序计数器。

5、第13页/共48页第十四页,编辑于星期六:六点 四十一分。第14页/共48页第十五页,编辑于星期六:六点 四十一分。第15页/共48页第十六页,编辑于星期六:六点 四十一分。第16页/共48页第十七页,编辑于星期六:六点 四十一分。操作符号条件描述EQNEQLTLEQGTGEQCNCOVNOVBIOTCNTCACC=0ACC0ACC0ACC0C=1C=0OV=1OV=0BIO低TC=1TC=0累加器的值等于0累加器的值不等于0累加器的值小于0累加器的值不小于0累加器的值大于0累加器的值不大于0进位位置1进位位清0检测到累加器溢出检测到累加器不溢出BIO引脚为低电平测试/控制位置1测试/控制位清

6、0第17页/共48页第十八页,编辑于星期六:六点 四十一分。组1组2A类B类B类A类C类EQNEQLTLEQGTGEQOVNOVNTCTCCNCBIO 在条件指令的操作数中可以列出多个条件,必须所有条件都满足才是条件满足。在条件指令的操作数中可以列出多个条件,必须所有条件都满足才是条件满足。 对于每一种组合,必须按如下规则从组对于每一种组合,必须按如下规则从组1组组2中选择条件。中选择条件。组组1:最多可选两个条件。每个条件来自不同的类。:最多可选两个条件。每个条件来自不同的类。组组2:最多可选:最多可选3个条件。每个条件来自不同的类,不能有两个条件来自同一类。个条件。每个条件来自不同的类,不

7、能有两个条件来自同一类。第18页/共48页第十九页,编辑于星期六:六点 四十一分。第19页/共48页第二十页,编辑于星期六:六点 四十一分。第20页/共48页第二十一页,编辑于星期六:六点 四十一分。第21页/共48页第二十二页,编辑于星期六:六点 四十一分。第22页/共48页第二十三页,编辑于星期六:六点 四十一分。第23页/共48页第二十四页,编辑于星期六:六点 四十一分。中断中断 中断是计算机的一种特殊的运行方式。在正常情况下,中断是计算机的一种特殊的运行方式。在正常情况下,CPU按照按照程序预定的路线进行,当外围设备有事件产生需要程序预定的路线进行,当外围设备有事件产生需要CUP来处理

8、,即发来处理,即发出中断请求信号,出中断请求信号,CPU暂停工作,保存好现场,然后转到该中断请求暂停工作,保存好现场,然后转到该中断请求对应的服务子程序的入口处,待服务子程序运行完毕,对应的服务子程序的入口处,待服务子程序运行完毕,CPU自动恢复自动恢复现场,从原停顿点继续往下运行。现场,从原停顿点继续往下运行。 计算机采用中断方式,可以节省计算机采用中断方式,可以节省CPU资源,资源,CPU可以不花时间可以不花时间去轮寻外围设备是否需要服务。每一种计算机都有多个中断源,去轮寻外围设备是否需要服务。每一种计算机都有多个中断源,CPU对中断的响应需要按序进行,需要一个中断管理系统模块对中对中断的

9、响应需要按序进行,需要一个中断管理系统模块对中断源进行管理控制。断源进行管理控制。第24页/共48页第二十五页,编辑于星期六:六点 四十一分。第25页/共48页第二十六页,编辑于星期六:六点 四十一分。RS第26页/共48页第二十七页,编辑于星期六:六点 四十一分。第27页/共48页第二十八页,编辑于星期六:六点 四十一分。第28页/共48页第二十九页,编辑于星期六:六点 四十一分。第29页/共48页第三十页,编辑于星期六:六点 四十一分。第30页/共48页第三十一页,编辑于星期六:六点 四十一分。第31页/共48页第三十二页,编辑于星期六:六点 四十一分。3.4.3.1 CPU中断管理寄存器

10、中断管理寄存器第32页/共48页第三十三页,编辑于星期六:六点 四十一分。INT1 flagINT2 flagINT3 flagINT4 flagINT5 flagINT6 flagReservedD15D6D0D1D2D3D4D5D15D6 Reserved -保留位。D5 INT6 flag -中断6标志位。作为连至INT6的所有外部中断的标志。D4 INT5 flag -中断5标志位。作为连至INT5的所有外部中断的标志。D3 INT4 flag -中断4标志位。作为连至INT4的所有外部中断的标志。D2 INT3 flag -中断3标志位。作为连至INT3的所有外部中断的标志。D1 I

11、NT2 flag -中断2标志位。作为连至INT2的所有外部中断的标志。D0 INT1 flag -中断1标志位。作为连至INT1的所有外部中断的标志。第33页/共48页第三十四页,编辑于星期六:六点 四十一分。第34页/共48页第三十五页,编辑于星期六:六点 四十一分。INT1 maskINT2 maskINT3 maskINT4 maskINT5 maskINT6 maskReservedD15D6D0D1D2D3D4D5D15D6 Reserved -保留位。D5 INT6 mask -中断6屏蔽位。D4 INT5 mask -中断5屏蔽位。D3 INT4 mask -中断4屏蔽位。D2

12、 INT3 mask -中断3屏蔽位。D1 INT2 mask -中断2屏蔽位。D0 INT1 mask -中断1屏蔽位。第35页/共48页第三十六页,编辑于星期六:六点 四十一分。第36页/共48页第三十七页,编辑于星期六:六点 四十一分。XINT1 flagReservedXINT1 polarityXINT1 priorityXINT1 enableD14D3D0D1D2D15D15 XINT1 flag - XINT1标志位。指示在XINT1引脚上是否检测到一个跳变,无论外部中断1是否使能,XINT1引脚中跳变时该位总被置位。当相应的中断被应答时,该位被自动清0,通过软件向该位写1或复

13、位是该位被清0。0-未检测到跳变;1-检测到跳变。D14 D3 Reserved -保留位。D2 XINT1 polarity -XINT1极性。 0-在下降沿产生中断;1-在上升沿产生中断D1 XINT1 polarity - XINT1优先级。0-高优先级;1-低优先级D0 XINT1 enable - XINT1使能位。 0-屏蔽中断; 1-使能中断第37页/共48页第三十八页,编辑于星期六:六点 四十一分。XINT2 flagReservedXINT2 polarityXINT2 priorityXINT2 enableD14D3D0D1D2D15D15 XINT2 flag - XI

14、NT2标志位。指示在XINT1引脚上是否检测到一个跳变,无论外部中断1是否使能,XINT2引脚中跳变时该位总被置位。当相应的中断被应答时,该位被自动清0,通过软件向该位写1或复位是该位被清0。0-未检测到跳变;1-检测到跳变。D14 D3 Reserved -保留位。D2 XINT2 polarity -XINT2极性。 0-在下降沿产生中断;1-在上 升沿产生中断D1 XINT2 polarity - XINT2优先级。0-高优先级;1-低优先级D0 XINT2 enable - XINT2使能位。 0-屏蔽中断; 1-使能中断第38页/共48页第三十九页,编辑于星期六:六点 四十一分。RS

15、第39页/共48页第四十页,编辑于星期六:六点 四十一分。 :TMS320LF240 x无该引脚,当器件访问一个无效地址时,将产无该引脚,当器件访问一个无效地址时,将产生非屏蔽中断请求生非屏蔽中断请求 ,程序则转移到非屏蔽中断矢量地址,程序则转移到非屏蔽中断矢量地址0024h处,处,从中取出一条转移指令,然后转向非屏蔽中断的入口,执行相应的中从中取出一条转移指令,然后转向非屏蔽中断的入口,执行相应的中断服务程序。断服务程序。第40页/共48页第四十一页,编辑于星期六:六点 四十一分。NMINMINMI第41页/共48页第四十二页,编辑于星期六:六点 四十一分。 CPU得到中断请求并响应之后,根

16、据中断矢量转移到相应的得到中断请求并响应之后,根据中断矢量转移到相应的中断服务程序中断服务程序ISR中,中,ISR在为中断所要求的任务前需要保存和恢在为中断所要求的任务前需要保存和恢复寄存器的值,并且还要管理中断嵌套。复寄存器的值,并且还要管理中断嵌套。第42页/共48页第四十三页,编辑于星期六:六点 四十一分。1 1保存和恢复寄存器值保存和恢复寄存器值 CPU进入中断服务程序(进入中断服务程序(ISR)之前,硬件只将增量后的程序计数器的值)之前,硬件只将增量后的程序计数器的值自动保存起来,所以在中断服务程序中要用软件对一些重要寄存器的值进行保存自动保存起来,所以在中断服务程序中要用软件对一些重要寄存器的值进行保存和恢复。和恢复。第43页/共48页第四十四页,编辑于星期六:六点 四十一分。第44页/共48页第四十五页,编辑于星期六:六点 四十一分。第45页/共48页第四十六页,编辑于星期六:六点 四十一分。 执行执行IDLE可进入低功耗模式。当执行可进入低功耗模式。当执行IDLE指令时,程序计数器加指令时,程序计数器加1,CPU停止所有操作,器件处于低功耗模式。此时,内部

温馨提示

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

评论

0/150

提交评论