欢迎来到天天文库
浏览记录
ID:53286008
大小:1.22 MB
页数:32页
时间:2020-04-18
《轻松学会DSP——第8章中断和流水线.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、第八章中断和流水线根据信号源,中断分两类:1.硬件中断(1)受外部中断信号触发的外部硬件中断,如NMI,INT0,INT1……等。(2)受片内功能器件信号触发的内部硬件中断,如Timer,DMA,McBSP,HPI口等。2.软件中断指令INTR,TRAP,RESET产生的软件中断。一、中断概述根据IMR寄存器,中断可分为:1.可屏蔽中断:IMR(InterruptMaskRegister)寄存器中定义的中断为可屏蔽中断;受状态寄存器ST1中INTM位影响,即INTM=1,关闭;INTM=0,开启。SSBXINTM;禁止中断RSBXINTM;开启中断2.不可屏蔽中断:CPU
2、总能响应此中断,包括所有软中断和RS、NMI外部中断。中断标志寄存器IFR各种中断的关系VC54X有16个可屏蔽中断,不同型号的DSP,只有其中的一部分才有意义。他们都是所有外设中断和部分外部管脚中断(INT0,INT1….)。不可屏蔽中断包括所有软件中断和两个硬件中断。软件中断一定是内部中断,而这两个硬件中断是外部中断,即RS和NMI。两个硬件中断是通过管脚产生的。中断之间存在优先级,1级最高。中断同流水之间也有竞争关系。二、中断处理步骤接受请求中断:在有软件或硬件的中断时暂停主程序的执行,IFR相应位被置位。响应中断:对于可屏蔽中断,当满足条件时,开放中断;对于非可屏
3、蔽中断,可立即响应。执行中断:跳到中断服务程序(ISR)的入口地址开始执行。1、接受请求中断中断产生后,不管是否执行中断程序,首先修改标志位,即IFR对应中断比特为由0变为1。我们可以通过CCS人工修改IFR。1IFR对于比特清零方法:硬件或者软件复位中断服务程序被执行向对应比特写如1INTR指令执行对应中断2、中断响应1)软件中断和非屏蔽的硬件中断可立即被响应。2)可屏蔽中断响应要满足下列条件:该中断的优先级是最高的一个。ST1寄存器中的INTM位是0,它用于控制所以可屏蔽中断是否使能。下面指令用于修改它。RSBXINTM(置0):允许SSBXINTM(置1):禁止寄存
4、器IMR中,相应可屏蔽中断控制位是使能(置1)的,表示允许中断。4、中断执行中断执行过程:注:只有TRAP在中断执行中不把INTM置1,而其他软件和硬件中断都有把INTM置1,中断在返回主程序时,INTM是否被置0,看使用RET(不置0)还是RETE(置0)指令中断矢量表它是一个长度为128word的程序段;必须位于程序空间一个128word的页中;每4个word代表一个中断的执行代码;中断矢量表的首地址决定于IPTR,IPTR根据命令文件在程序中赋值;每一个中断对应于中断矢量表中的偏移地址是固定的;IPTR默认值为1FF,系统自己有一个中断矢量表,位于FF80地址;4、
5、中断保护现场寄存器的值要在程序中手工进行保护;保护的方法就是压栈和弹栈:如保存CPU寄存器和外设寄存器,可用PSHM或POPM压入或弹出堆栈;采用PSHD或POPD将数据存储器的值压入或弹出堆栈。堆栈大小可以在命令文件中设置,SP为其指针,默认大小为1k。5、中断延时中断有时候不是一旦产生就马上有响应,有许多原因会导致中断的延时。流水线是其中一个原因。由于流水线的作用,有些中断不打断程序的正常执行,必须等流水线达到一定条件才可以执行中断。6、中断总结可屏蔽中断非屏蔽中断中断例子—定时器三、流水线介绍指令占有的周期我们把六个CPU时钟周期称为一个指令周期;一条指令是单周期还
6、是双周期不是看执行花费的CPU时钟周期,而是占用的指令周期个数;一条指令的执行不是每个CPU时钟周期里都要使用资源,即使使用,也是一部分资源,这是流水的产生根源。流水线及其例子中断返回指令与流水5、流水线冲突流水线冲突产生的原因是同一个时刻不同的指令在各自不同的阶段使用相同的资源或者访问相同的地址;系统的流水线冲突通常系统会自己解决,如访问程序和数据空间的单访问或者双访问存储器时;系统不可以自己解决的冲突,我们在程序中加以解决,解决的方法就是在产生冲突的两条语句间,加上NOP指令;
此文档下载收益归作者所有