轻松学会DSP——中断和流水线PPT课件_第1页
轻松学会DSP——中断和流水线PPT课件_第2页
轻松学会DSP——中断和流水线PPT课件_第3页
轻松学会DSP——中断和流水线PPT课件_第4页
轻松学会DSP——中断和流水线PPT课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、第1页/共32页第2页/共32页根据根据IMR寄存器,中断可分为:寄存器,中断可分为:1.可屏蔽中断:可屏蔽中断:IMR(Interrupt Mask Register)寄存器中定义的中断为可屏蔽中断;)寄存器中定义的中断为可屏蔽中断;受状态寄存器受状态寄存器ST1中中INTM位影响,即位影响,即INTM 1,关闭;,关闭; INTM 0,开启。,开启。 SSBX INTM; 禁止中断禁止中断 RSBX INTM; 开启中断开启中断第3页/共32页2.不可屏蔽中断:不可屏蔽中断:CPU总能响应此中断,包括总能响应此中断,包括所有软中断和所有软中断和RS、NMI外部中断。外部中断。第4页/共32

2、页中断标志寄存器中断标志寄存器IFRIFR第5页/共32页各种中断的关系各种中断的关系 VC54X有有16个可屏蔽中断,不同型号的个可屏蔽中断,不同型号的DSP,只有其中的一部分才有意义。他们都是只有其中的一部分才有意义。他们都是所有外设中断和部分外部管脚中断(所有外设中断和部分外部管脚中断(INT0,INT1.)。 不可屏蔽中断包括所有软件中断和两个硬件中断。软件中断一定是内部中断,而这两个不可屏蔽中断包括所有软件中断和两个硬件中断。软件中断一定是内部中断,而这两个硬件中断是外部中断,即硬件中断是外部中断,即RS和和NMI。两个硬件中断是通过管脚产生的。两个硬件中断是通过管脚产生的。 中断之

3、间存在优先级,中断之间存在优先级,1级最高。级最高。 中断同流水之间也有竞争关系中断同流水之间也有竞争关系。第6页/共32页二、中断处理步骤二、中断处理步骤 接受请求中断:在有软件或硬件的中断时暂停主程序的执行,接受请求中断:在有软件或硬件的中断时暂停主程序的执行,IFR相应位被置位。相应位被置位。 响应中断:对于可屏蔽中断,当满足条件时,开放中断;对于非可屏蔽中断,可响应中断:对于可屏蔽中断,当满足条件时,开放中断;对于非可屏蔽中断,可立即响应。立即响应。 执行中断执行中断:跳到中断服务程序(跳到中断服务程序(ISR)的入口地址开始执行。)的入口地址开始执行。第7页/共32页1、接受请求中断

4、、接受请求中断 中断产生后,不管是否执行中断程序,首先修改标志位,即中断产生后,不管是否执行中断程序,首先修改标志位,即IFR对应中断比对应中断比特为由特为由0变为变为1。 我们可以通过我们可以通过CCS人工修改人工修改IFR。1第8页/共32页IFR对于比特清零方法:对于比特清零方法: 硬件或者软件复位硬件或者软件复位 中断服务程序被执行中断服务程序被执行 向对应比特写如向对应比特写如1 INTR指令执行对应中断指令执行对应中断第9页/共32页2、中断响应、中断响应1)软件中断和非屏蔽的硬件中断可立即被响应。)软件中断和非屏蔽的硬件中断可立即被响应。 2)可屏蔽中断响应要满足下列条件:)可屏

5、蔽中断响应要满足下列条件: 该中断的优先级是最高的一个。该中断的优先级是最高的一个。第10页/共32页第11页/共32页第12页/共32页ST1寄存器中的寄存器中的INTM位是位是0,它用于,它用于控制所以可屏蔽中断是否使能。下面控制所以可屏蔽中断是否使能。下面指令用于修改它。指令用于修改它。 RSBX INTM(置置0):允许):允许 SSBX INTM(置置1):禁止:禁止 寄存器寄存器IMR中,相应可屏蔽中断控制中,相应可屏蔽中断控制位是使能(置位是使能(置1)的,表示允许中断。)的,表示允许中断。 第13页/共32页4、中断执行、中断执行中断执行过程:中断执行过程:第14页/共32页注

6、:只有注:只有TRAP在中断执行中不把在中断执行中不把INTM置置1,而其他软件和硬件中断都有把,而其他软件和硬件中断都有把INTM置置1,中断在返回主程序时,中断在返回主程序时,INTM是否被置是否被置0,看使用,看使用RET(不置不置0)还是)还是RETE(置置0)指令)指令第15页/共32页中断矢量表中断矢量表第16页/共32页 它是一个长度为它是一个长度为128word的程序段;的程序段; 必须位于程序空间一个必须位于程序空间一个128word的页中;的页中; 每每4个个word代表一个中断的执行代码;代表一个中断的执行代码; 中断矢量表的首地址决定于中断矢量表的首地址决定于IPTR,

7、 IPTR根据命令文件在程序中赋值;根据命令文件在程序中赋值; 每一个中断对应于中断矢量表中的偏移地址是固定的;每一个中断对应于中断矢量表中的偏移地址是固定的; IPTR默认值为默认值为1FF,系统自己有一个中断矢量表,位于系统自己有一个中断矢量表,位于FF80地址;地址;第17页/共32页4、中断保护现场、中断保护现场 寄存器的值要在程序中手工进行保护;寄存器的值要在程序中手工进行保护; 保护的方法就是压栈和弹栈:如保存保护的方法就是压栈和弹栈:如保存CPU寄存器和外设寄存器,可用寄存器和外设寄存器,可用PSHM或或POPM压入或弹出堆栈;采用压入或弹出堆栈;采用PSHD或或POPD将数据存

8、储器的值压入或弹出堆栈。将数据存储器的值压入或弹出堆栈。 堆栈大小可以在命令文件中设置,堆栈大小可以在命令文件中设置,SP为其指针,默认大小为为其指针,默认大小为1k。第18页/共32页5、中断延时、中断延时 中断有时候不是一旦产生就马上有响应,有许多原因会导致中断的延时。中断有时候不是一旦产生就马上有响应,有许多原因会导致中断的延时。流水线是其中一个原因。流水线是其中一个原因。 由于流水线的作用,有些中断不打断程序的正常执行,必须等流水线达到由于流水线的作用,有些中断不打断程序的正常执行,必须等流水线达到一定条件才可以执行中断。一定条件才可以执行中断。第19页/共32页6、中断总结、中断总结

9、可屏蔽中断第20页/共32页非屏蔽中断第21页/共32页第22页/共32页中断例子中断例子定时器定时器第23页/共32页第24页/共32页三、流水线介绍三、流水线介绍第25页/共32页第26页/共32页指令占有的周期指令占有的周期 我们把六个我们把六个CPU时钟周期称为一个指令周期;时钟周期称为一个指令周期; 一条指令是单周期还是双周期不是看执行花费的一条指令是单周期还是双周期不是看执行花费的CPU时钟周期,而是占用的时钟周期,而是占用的指令周期个数;指令周期个数; 一条指令的执行不是每个一条指令的执行不是每个CPU时钟周期里都要使用资源,即使使用,也是一时钟周期里都要使用资源,即使使用,也是一部分资源,这是流水的产生根源。部分资源,这是流水的产生根源。第27页/共32页流水线及其例子流水线及其例子第28页/共32页中断返回指令与流水中断返回指令与流水第29页/共32页第30页/共32页5、流水线冲突、流水线冲突 流水线冲突产生的原因是同一个时刻不同的指令在各自不同的阶段使用相同的流水线冲突产生的原因是同一个时刻不同的指令在各自不同的阶段使用相同的资源或者访问相同的地址;资源或者访问相同的地址; 系统的流水线冲突通常系统会自己解决,如访问程序和数据空间的单访问或者系统的流水线冲突通常系统会自己解决,如访

温馨提示

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

评论

0/150

提交评论