收藏 分销(赏)

DSP第四章-DSP程序流程控制PPT课件.ppt

上传人:可**** 文档编号:682768 上传时间:2024-01-31 格式:PPT 页数:45 大小:1.96MB 下载积分:11 金币
下载 相关 举报
DSP第四章-DSP程序流程控制PPT课件.ppt_第1页
第1页 / 共45页
DSP第四章-DSP程序流程控制PPT课件.ppt_第2页
第2页 / 共45页


点击查看更多>>
资源描述
第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制程序流程:指的是指令的程序流程:指的是指令的程序流程:指的是指令的程序流程:指的是指令的执执执执行行行行顺顺顺顺序。序。序。序。C55xC55xC55xC55x中影响指令中影响指令中影响指令中影响指令执执执执行行行行顺顺顺顺序的主要有:序的主要有:序的主要有:序的主要有:程序跳程序跳程序跳程序跳转转转转(分支分支分支分支)指令重复指令重复指令重复指令重复执执执执行行行行 条件条件条件条件执执执执行行行行 中断中断中断中断 程序程序程序程序调调调调用用用用程序的流程控制主要与指令程序的流程控制主要与指令程序的流程控制主要与指令程序的流程控制主要与指令缓缓缓缓冲冲冲冲单单单单元元元元(I(I(I(I单单单单元元元元)和程序流程和程序流程和程序流程和程序流程单单单单元元元元(P(P(P(P单单单单元元元元)有关。有关。有关。有关。第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制P P P P单单单单元元元元产产产产生生生生24242424位的程序地址,并放到位的程序地址,并放到位的程序地址,并放到位的程序地址,并放到PABPABPABPAB总线总线总线总线上。上。上。上。I I I I单单单单元的元的元的元的IBQIBQIBQIBQ从从从从32323232位的程序位的程序位的程序位的程序总线读总线读总线读总线读取取取取32323232比特的指令代比特的指令代比特的指令代比特的指令代码码码码。译码译码译码译码器从器从器从器从IBQIBQIBQIBQ中中中中读读读读取取取取48484848比特的指令比特的指令比特的指令比特的指令进进进进行行行行译码译码译码译码,将指令和立即数,将指令和立即数,将指令和立即数,将指令和立即数分派到相分派到相分派到相分派到相应应应应的的的的单单单单元元元元执执执执行。行。行。行。第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制一、跳一、跳一、跳一、跳转转转转(分支分支分支分支)跳跳跳跳转转转转:通:通:通:通过过过过跳跳跳跳转转转转指令改指令改指令改指令改变变变变PCPCPCPC的的的的值值值值,使程序跳到指令指定的分,使程序跳到指令指定的分,使程序跳到指令指定的分,使程序跳到指令指定的分支地址支地址支地址支地址执执执执行。跳行。跳行。跳行。跳转转转转指令可以是有条件的,也可以是无条件的。指令可以是有条件的,也可以是无条件的。指令可以是有条件的,也可以是无条件的。指令可以是有条件的,也可以是无条件的。1 1 1 1、条件跳、条件跳、条件跳、条件跳转转转转 判断条件判断条件判断条件判断条件condcondcondcond,如果条件成立,如果条件成立,如果条件成立,如果条件成立则则则则将目将目将目将目标标标标地址装入地址装入地址装入地址装入PCPCPCPC,完成,完成,完成,完成跳跳跳跳转转转转。(1)BCC 14,cond (1)BCC 14,cond (1)BCC 14,cond (1)BCC 14,cond ;4 4 4 4比特比特比特比特长长长长相相相相对对对对PCPCPCPC的无符号偏移的无符号偏移的无符号偏移的无符号偏移 (2)BCC L8,cond (2)BCC L8,cond (2)BCC L8,cond (2)BCC L8,cond ;8 8 8 8比特比特比特比特长长长长相相相相对对对对PCPCPCPC的有符号偏移的有符号偏移的有符号偏移的有符号偏移 (3)BCC L16,cond (3)BCC L16,cond (3)BCC L16,cond (3)BCC L16,cond ;16161616比特比特比特比特长长长长相相相相对对对对PCPCPCPC的有符号偏移的有符号偏移的有符号偏移的有符号偏移 (4)BCC P24,cond (4)BCC P24,cond (4)BCC P24,cond (4)BCC P24,cond ;24242424比特的比特的比特的比特的绝对绝对绝对绝对地址。地址。地址。地址。第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制 在指令流水在指令流水在指令流水在指令流水线线线线的的的的读读读读(R R R R)环节环节环节环节判断条件判断条件判断条件判断条件condcondcondcond;cond cond cond cond条件可以是寄存器条件可以是寄存器条件可以是寄存器条件可以是寄存器ACxACxACxACx,ARxARxARxARx,TxTxTxTx与与与与0 0 0 0值值值值的比的比的比的比较较较较,也可以,也可以,也可以,也可以是是是是测试测试测试测试位位位位TCxTCxTCxTCx以及以及以及以及进进进进位位位位标标标标志志志志CARRYCARRYCARRYCARRY的的的的值值值值。若条件若条件若条件若条件为为为为真,就把真,就把真,就把真,就把l4l4l4l4、L8L8L8L8、L16L16L16L16、P24P24P24P24指定的程序地址装入指定的程序地址装入指定的程序地址装入指定的程序地址装入PCPCPCPC中,中,中,中,完成分支跳完成分支跳完成分支跳完成分支跳转转转转。跳跳跳跳转转转转指令不能重复指令不能重复指令不能重复指令不能重复执执执执行。行。行。行。举举举举例:例:例:例:004055 BCC branch004055 BCC branch004055 BCC branch004055 BCC branch,*AR0!=#0*AR0!=#0*AR0!=#0*AR0!=#0004056 004056 004056 004056 00F05A branch:.00F05A branch:.00F05A branch:.00F05A branch:.程序地址程序地址程序地址程序地址假假假假设设设设AR0AR0AR0AR0的的的的值为值为值为值为3000300030003000,AR0AR0AR0AR0的的的的值值值值不等于不等于不等于不等于0 0 0 0,条件,条件,条件,条件为为为为真,跳真,跳真,跳真,跳转转转转到到到到标标标标号号号号为为为为branchbranchbranchbranch处执处执处执处执行,行,行,行,这时这时这时这时PC=00F05APC=00F05APC=00F05APC=00F05A第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制2 2 2 2、无条件跳、无条件跳、无条件跳、无条件跳转转转转 不需要不需要不需要不需要满满满满足任何条件,直接将目足任何条件,直接将目足任何条件,直接将目足任何条件,直接将目标标标标地址装入地址装入地址装入地址装入PCPCPCPC。(1)B ACx (1)B ACx (1)B ACx (1)B ACx ;把把把把ACxACxACxACx的低的低的低的低24242424位的位的位的位的值值值值装入到装入到装入到装入到PCPCPCPC中中中中 (2)B L7 (2)B L7 (2)B L7 (2)B L7 ;7 7 7 7比特比特比特比特长长长长相相相相对对对对PCPCPCPC的有符号偏移的有符号偏移的有符号偏移的有符号偏移 (3)B L16 (3)B L16 (3)B L16 (3)B L16 ;16161616比特比特比特比特长长长长相相相相对对对对PCPCPCPC的有符号偏移的有符号偏移的有符号偏移的有符号偏移 (4)B P24 (4)B P24 (4)B P24 (4)B P24 ;24242424比特的比特的比特的比特的绝对绝对绝对绝对地址地址地址地址举举举举例:例:例:例:MOV#1MOV#1MOV#1MOV#1,AC1AC1AC1AC1B branch B branch B branch B branch ;address:004042:address:004042:address:004042:address:004042:MOV#2,AC1MOV#2,AC1MOV#2,AC1MOV#2,AC1branch:branch:branch:branch:;address:006047:address:006047:address:006047:address:006047:MOV#0,AC1MOV#0,AC1MOV#0,AC1MOV#0,AC1跳跳跳跳转转转转前前前前 PC 004042 PC 004042 PC 004042 PC 004042 AC1 00 0000 0001 AC1 00 0000 0001 AC1 00 0000 0001 AC1 00 0000 0001跳跳跳跳转转转转后后后后 PC 006047 PC 006047 PC 006047 PC 006047 AC1 00 0000 0000 AC1 00 0000 0000 AC1 00 0000 0000 AC1 00 0000 0000第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制二、指令重复二、指令重复二、指令重复二、指令重复指令重复:指重复指令重复:指重复指令重复:指重复指令重复:指重复执执执执行一定次数的一条或者一段指令。包括无条行一定次数的一条或者一段指令。包括无条行一定次数的一条或者一段指令。包括无条行一定次数的一条或者一段指令。包括无条件件件件单单单单指令重复,有条件指令重复,有条件指令重复,有条件指令重复,有条件单单单单指令重复,指令重复,指令重复,指令重复,块块块块重复三种形式。重复三种形式。重复三种形式。重复三种形式。1 1 1 1、无条件、无条件、无条件、无条件单单单单指令重复:指令重复:指令重复:指令重复:(1)RPT#n (1)RPT#n (1)RPT#n (1)RPT#n;将下一条指令重复将下一条指令重复将下一条指令重复将下一条指令重复执执执执行行行行n+1n+1n+1n+1次次次次 (2)RPT CSR (2)RPT CSR (2)RPT CSR (2)RPT CSR;CSR CSR CSR CSR单单单单重复寄存器,下一条指令重复重复寄存器,下一条指令重复重复寄存器,下一条指令重复重复寄存器,下一条指令重复CSR+1CSR+1CSR+1CSR+1次次次次 (3)RPTADD CSR,TAx (3)RPTADD CSR,TAx (3)RPTADD CSR,TAx (3)RPTADD CSR,TAx;下一条指令重复下一条指令重复下一条指令重复下一条指令重复CSR+1CSR+1CSR+1CSR+1次后,次后,次后,次后,TAx+CSR-CSRTAx+CSR-CSRTAx+CSR-CSRTAx+CSR-CSR (4)RPTADD CSR,k4 (4)RPTADD CSR,k4 (4)RPTADD CSR,k4 (4)RPTADD CSR,k4;下一条指令重复下一条指令重复下一条指令重复下一条指令重复CSR+1CSR+1CSR+1CSR+1次后,次后,次后,次后,CSR+k4-CSRCSR+k4-CSRCSR+k4-CSRCSR+k4-CSR (5)RPTSUB CSR,k4 (5)RPTSUB CSR,k4 (5)RPTSUB CSR,k4 (5)RPTSUB CSR,k4;下一条指令重复下一条指令重复下一条指令重复下一条指令重复CSR+1CSR+1CSR+1CSR+1次后,次后,次后,次后,CSRCSRCSRCSRk4-CSRk4-CSRk4-CSRk4-CSR第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制举举举举例:例:例:例:RPTADD CSR,T1RPTADD CSR,T1RPTADD CSR,T1RPTADD CSR,T1 MOV*AR0 MOV*AR0 MOV*AR0 MOV*AR0,T0,T0,T0,T0;重复重复重复重复 CSR+1 CSR+1 CSR+1 CSR+1次后,次后,次后,次后,T1T1T1T1的的的的值值值值加到加到加到加到CSRCSRCSRCSR中。中。中。中。2 2 2 2、有条件、有条件、有条件、有条件单单单单重复指令重复指令重复指令重复指令 RPTCC k8RPTCC k8RPTCC k8RPTCC k8,condcondcondcond;当条件当条件当条件当条件为为为为真真真真时时时时,下一条指令重复,下一条指令重复,下一条指令重复,下一条指令重复K8+1K8+1K8+1K8+1次次次次 每次重复在流水每次重复在流水每次重复在流水每次重复在流水线线线线的的的的执执执执行行行行(X)(X)(X)(X)阶阶阶阶段段段段检查检查检查检查condcondcondcond定定定定义义义义的条件,当的条件,当的条件,当的条件,当条件不条件不条件不条件不满满满满足足足足时时时时,停止,停止,停止,停止单单单单指令重复。最大重复指令重复。最大重复指令重复。最大重复指令重复。最大重复执执执执行次数行次数行次数行次数为为为为28-28-28-28-1=2551=2551=2551=255举举举举例:例:例:例:RPTCC#7 RPTCC#7 RPTCC#7 RPTCC#7,AC1#0 AC1#0 AC1#0 AC1#0 ADD#1 ADD#1 ADD#1 ADD#1,AC0 AC0 AC0 AC0 ;AC0=AC0+1AC0=AC0+1AC0=AC0+1AC0=AC0+1执执执执行流水行流水行流水行流水线线线线分分分分为为为为8 8个个个个环节环节环节环节:F F/,D D,ADAD,AC1AC1,AC2AC2,R R,X X,WW第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制以下指令不能用做以下指令不能用做以下指令不能用做以下指令不能用做单单单单指令循指令循指令循指令循环环环环体:体:体:体:B B B B ;跳跳跳跳转转转转 IDLE IDLE IDLE IDLE;空;空;空;空闲闲闲闲指令指令指令指令 RPTBLOCAL RPTBLOCAL RPTBLOCAL RPTBLOCAL;块块块块重复重复重复重复 RESET RESET RESET RESET;软软软软件复位件复位件复位件复位 MOV RPTC,TAx MOV RPTC,TAx MOV RPTC,TAx MOV RPTC,TAx;RPTCRPTCRPTCRPTC单单单单指令重复指令重复指令重复指令重复计计计计数器数器数器数器 TRAP TRAP TRAP TRAP;软软软软件陷阱件陷阱件陷阱件陷阱 MOV dbl(Lmem),RETA MOV dbl(Lmem),RETA MOV dbl(Lmem),RETA MOV dbl(Lmem),RETA RPTB RPTB RPTB RPTB;块块块块重复重复重复重复 CALL CALL CALL CALL ;子程序;子程序;子程序;子程序调调调调用用用用 RPT RPT RPT RPT ;单单单单指令重复指令重复指令重复指令重复 INTR INTR INTR INTR ;中断陷阱;中断陷阱;中断陷阱;中断陷阱 XCC XCC XCC XCC ;条件;条件;条件;条件执执执执行行行行 RET RET RET RET ;从子程序返回;从子程序返回;从子程序返回;从子程序返回 第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制3 3 3 3、块块块块重复:重复:重复:重复:同同同同时时时时重复多条指令。重复多条指令。重复多条指令。重复多条指令。块块块块重复重复重复重复(块块块块循循循循环环环环)的的的的语语语语法形式法形式法形式法形式为为为为:(1)RPTBLOCAL label (1)RPTBLOCAL label (1)RPTBLOCAL label (1)RPTBLOCAL label (2)RPTB label(2)RPTB label(2)RPTB label(2)RPTB label执执执执行步行步行步行步骤骤骤骤:(1)(1)(1)(1)重复重复重复重复执执执执行次数由行次数由行次数由行次数由块块块块重复重复重复重复计计计计数器数器数器数器(BRC0(BRC0(BRC0(BRC0或或或或BRC1)BRC1)BRC1)BRC1)定定定定义义义义。(2)(2)(2)(2)由由由由RPTBRPTBRPTBRPTB或或或或RPTBLOCALRPTBLOCALRPTBLOCALRPTBLOCAL定定定定义块义块义块义块的开始地址,并放入到的开始地址,并放入到的开始地址,并放入到的开始地址,并放入到块块块块重重重重复起始地址寄存器复起始地址寄存器复起始地址寄存器复起始地址寄存器(RSA)(RSA)(RSA)(RSA)中。中。中。中。(3)(3)(3)(3)由由由由RPTBRPTBRPTBRPTB或或或或RPTBLOCALRPTBLOCALRPTBLOCALRPTBLOCAL后面的后面的后面的后面的标标标标号号号号(label)(label)(label)(label)定定定定义块义块义块义块的的的的结结结结束地址,束地址,束地址,束地址,并放到并放到并放到并放到块块块块重复重复重复重复结结结结束地址寄存器束地址寄存器束地址寄存器束地址寄存器(REA)(REA)(REA)(REA)中。中。中。中。第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制特点:特点:特点:特点:(1 1 1 1)由于)由于)由于)由于BRC0BRC0BRC0BRC0或或或或BRC1BRC1BRC1BRC1是是是是16161616比特比特比特比特计计计计数器,所以最大重复次数是数器,所以最大重复次数是数器,所以最大重复次数是数器,所以最大重复次数是64k64k64k64k,在初始化,在初始化,在初始化,在初始化块块块块重复重复重复重复计计计计数器数器数器数器时时时时,其,其,其,其值应为实际值应为实际值应为实际值应为实际重复次数减重复次数减重复次数减重复次数减1 1 1 1。(2 2 2 2)一个循)一个循)一个循)一个循环环环环体内的最小体内的最小体内的最小体内的最小执执执执行周期行周期行周期行周期为为为为2 2 2 2个机器周期。个机器周期。个机器周期。个机器周期。RPTBLOCALRPTBLOCALRPTBLOCALRPTBLOCAL和和和和RPTBRPTBRPTBRPTB区区区区别别别别RPTBLOCALRPTBLOCALRPTBLOCALRPTBLOCAL被定被定被定被定义为义为义为义为指令指令指令指令缓缓缓缓冲冲冲冲队队队队列列列列(IBQ)(IBQ)(IBQ)(IBQ)的本地循的本地循的本地循的本地循环环环环,即直接,即直接,即直接,即直接从从从从IBQIBQIBQIBQ中中中中获获获获取循取循取循取循环环环环体指令,体指令,体指令,体指令,这样这样这样这样可以减少功率消耗,但是循可以减少功率消耗,但是循可以减少功率消耗,但是循可以减少功率消耗,但是循环环环环体指令的字数不能超体指令的字数不能超体指令的字数不能超体指令的字数不能超过过过过56565656个字个字个字个字节节节节。当循当循当循当循环环环环体指令超体指令超体指令超体指令超过过过过56565656个字个字个字个字节时节时节时节时,使用,使用,使用,使用RPTBRPTBRPTBRPTB块块块块循循循循环环环环。第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制支持两支持两支持两支持两层块层块层块层块循循循循环环环环 一一一一层层层层循循循循环环环环(外循外循外循外循环环环环):BRC0,RSA0,REA0BRC0,RSA0,REA0BRC0,RSA0,REA0BRC0,RSA0,REA0;二二二二层层层层循循循循环环环环(内循内循内循内循环环环环):BRC1,RSA1,REA1BRC1,RSA1,REA1BRC1,RSA1,REA1BRC1,RSA1,REA1,BRS1BRS1BRS1BRS1;内循内循内循内循环环环环完成后跳到外循完成后跳到外循完成后跳到外循完成后跳到外循环执环执环执环执行。如果再次行。如果再次行。如果再次行。如果再次进进进进入内循入内循入内循入内循环环环环,则则则则不需要初始化不需要初始化不需要初始化不需要初始化BRC1BRC1BRC1BRC1,块块块块重复重复重复重复备备备备份寄存器份寄存器份寄存器份寄存器(BRS1)(BRS1)(BRS1)(BRS1)自自自自动动动动保存内循保存内循保存内循保存内循环块环块环块环块的重复次数。的重复次数。的重复次数。的重复次数。任何一个任何一个任何一个任何一个块块块块循循循循环环环环内都可以嵌套内都可以嵌套内都可以嵌套内都可以嵌套单单单单指令重复。所以指令重复。所以指令重复。所以指令重复。所以C55xC55xC55xC55x可以支持三可以支持三可以支持三可以支持三层层层层指令循指令循指令循指令循环环环环。第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制 块块块块重复重复重复重复举举举举例例例例 MOV#31 MOV#31 MOV#31 MOV#31,BRC0 BRC0 BRC0 BRC0 ;对对对对外循外循外循外循环块环块环块环块重复重复重复重复计计计计数器数器数器数器BRC0BRC0BRC0BRC0赋值赋值赋值赋值,重复,重复,重复,重复32323232次。次。次。次。MOV#127 MOV#127 MOV#127 MOV#127,BRC1 BRC1 BRC1 BRC1 ;对对对对内循内循内循内循环块环块环块环块重复重复重复重复计计计计数器数器数器数器BRC1BRC1BRC1BRC1赋值赋值赋值赋值,重复,重复,重复,重复128128128128次。次。次。次。RPTB OuterLoop RPTB OuterLoop RPTB OuterLoop RPTB OuterLoop ;定;定;定;定义义义义外循外循外循外循环块环块环块环块的起始地址。的起始地址。的起始地址。的起始地址。MOV#0 MOV#0 MOV#0 MOV#0,AC0 AC0 AC0 AC0 RPTB InnerLoop RPTB InnerLoop RPTB InnerLoop RPTB InnerLoop ;定;定;定;定义义义义内循内循内循内循环块环块环块环块的起始地址。的起始地址。的起始地址。的起始地址。MAC *AR0 MAC *AR0 MAC *AR0 MAC *AR0,*CDP+,AC0*CDP+,AC0*CDP+,AC0*CDP+,AC0 MOV *AR3+MOV *AR3+MOV *AR3+MOV *AR3+,T0T0T0T0 InnerLoop:InnerLoop:InnerLoop:InnerLoop:;内循;内循;内循;内循环块环块环块环块的的的的结结结结束地址。束地址。束地址。束地址。SUB#(127*2)SUB#(127*2)SUB#(127*2)SUB#(127*2),AR0AR0AR0AR0 OuterLoop:OuterLoop:OuterLoop:OuterLoop:;外循;外循;外循;外循环块环块环块环块的的的的结结结结束地址。束地址。束地址。束地址。NOP NOP NOP NOP 第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制三、条件三、条件三、条件三、条件执执执执行行行行 条件条件条件条件执执执执行:即有条件的行:即有条件的行:即有条件的行:即有条件的执执执执行下一条指令。行下一条指令。行下一条指令。行下一条指令。XCC label XCC label XCC label XCC label,cond cond cond cond XCCPART label XCCPART label XCCPART label XCCPART label,cond cond cond cond注:使用注:使用注:使用注:使用这这这这两条指令两条指令两条指令两条指令时时时时,必,必,必,必须须须须注意条件作用的流水注意条件作用的流水注意条件作用的流水注意条件作用的流水线阶线阶线阶线阶段不同。段不同。段不同。段不同。例例例例1 1 1 1:如果:如果:如果:如果T0=0T0=0T0=0T0=0 XCCPART label XCCPART label XCCPART label XCCPART label,T0!=#0T0!=#0T0!=#0T0!=#0 ADD *AR2+ADD *AR2+ADD *AR2+ADD *AR2+,AC0 AC0 AC0 AC0 label label label label:MOV *AR2 MOV *AR2 MOV *AR2 MOV *AR2,AC0 AC0 AC0 AC0ARARARAR指指指指针针针针的修改是在流水的修改是在流水的修改是在流水的修改是在流水线线线线的的的的寻寻寻寻址址址址阶阶阶阶段段段段(AD)(AD)(AD)(AD)发发发发生的,而使用生的,而使用生的,而使用生的,而使用XCCPARTXCCPARTXCCPARTXCCPART从流水从流水从流水从流水线线线线的的的的寻寻寻寻址址址址阶阶阶阶段段段段(AD)(AD)(AD)(AD)到到到到读读读读操作数操作数操作数操作数(R)(R)(R)(R)阶阶阶阶段都段都段都段都是无条件的,只有在流水是无条件的,只有在流水是无条件的,只有在流水是无条件的,只有在流水线执线执线执线执行行行行(X)(X)(X)(X)阶阶阶阶段段段段才是有条件的。故无才是有条件的。故无才是有条件的。故无才是有条件的。故无论论论论条件条件条件条件T0!=#0T0!=#0T0!=#0T0!=#0成成成成立与否,立与否,立与否,立与否,AR2AR2AR2AR2都会被修改。都会被修改。都会被修改。都会被修改。条件条件条件条件满满满满足:即足:即足:即足:即T0!=#0T0!=#0T0!=#0T0!=#0,执执执执行行行行ADDADDADDADD指令,指令,指令,指令,AR2 AR2 AR2 AR2被修改被修改被修改被修改条件不条件不条件不条件不满满满满足:足:足:足:执执执执行行行行MOVMOVMOVMOV指令,但在指令,但在指令,但在指令,但在执执执执行行行行该该该该指令前,指令前,指令前,指令前,AR2 AR2 AR2 AR2指指指指针针针针已被修改了已被修改了已被修改了已被修改了。执执执执行流水行流水行流水行流水线线线线分分分分为为为为8 8个个个个环节环节环节环节:F F/,D D,ADAD,AC1AC1,AC2AC2,R R,X X,WW第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制例例例例2 2 2 2:XCC label XCC label XCC label XCC label,T0!=#0T0!=#0T0!=#0T0!=#0 ADD *AR2+ADD *AR2+ADD *AR2+ADD *AR2+,AC0 AC0 AC0 AC0 label:label:label:label:MOV *AR2 MOV *AR2 MOV *AR2 MOV *AR2,AC1 AC1 AC1 AC1 使用使用使用使用XCCXCCXCCXCC指令指令指令指令时时时时,从流水,从流水,从流水,从流水线线线线的的的的寻寻寻寻址址址址(AD)(AD)(AD)(AD)到到到到执执执执行行行行(X)(X)(X)(X)阶阶阶阶段都是段都是段都是段都是有条件的。所以只有当条件有条件的。所以只有当条件有条件的。所以只有当条件有条件的。所以只有当条件满满满满足足足足时时时时,AR2AR2AR2AR2和和和和AC0AC0AC0AC0的的的的值值值值才能被修才能被修才能被修才能被修改。本例中,条件不改。本例中,条件不改。本例中,条件不改。本例中,条件不满满满满足,所以足,所以足,所以足,所以AR2AR2AR2AR2和和和和AC0AC0AC0AC0的的的的值值值值没有被修改。没有被修改。没有被修改。没有被修改。中断是中断是中断是中断是为为为为DSPDSPDSPDSP具有具有具有具有对对对对外界异步事件的外界异步事件的外界异步事件的外界异步事件的处处处处理能力而理能力而理能力而理能力而设设设设置的。当置的。当置的。当置的。当DSPDSPDSPDSP的外界异步事件的外界异步事件的外界异步事件的外界异步事件发发发发生生生生时时时时,CPUCPUCPUCPU暂暂暂暂停当前的工作去停当前的工作去停当前的工作去停当前的工作去处处处处理外界理外界理外界理外界异步事件,当异步事件,当异步事件,当异步事件,当处处处处理完成后,再回到原来被中断的地方,理完成后,再回到原来被中断的地方,理完成后,再回到原来被中断的地方,理完成后,再回到原来被中断的地方,继续执继续执继续执继续执行原来的工作。行原来的工作。行原来的工作。行原来的工作。1 1 1 1、中断、中断、中断、中断(1)(1)(1)(1)由硬件或由硬件或由硬件或由硬件或软软软软件信号件信号件信号件信号产产产产生的,它使生的,它使生的,它使生的,它使DSPDSPDSPDSP暂暂暂暂停当前程序停当前程序停当前程序停当前程序转转转转而去而去而去而去执执执执行中断服行中断服行中断服行中断服务务务务程序程序程序程序(ISR)(ISR)(ISR)(ISR),从而可以,从而可以,从而可以,从而可以实时实时实时实时的的的的进进进进行事件行事件行事件行事件处处处处理。理。理。理。(2)TMS320C5509(2)TMS320C5509(2)TMS320C5509(2)TMS320C5509支持支持支持支持32323232个个个个ISRISRISRISR,有的即可以用,有的即可以用,有的即可以用,有的即可以用软软软软件触件触件触件触发发发发也可也可也可也可以由硬件触以由硬件触以由硬件触以由硬件触发发发发,有的只能由,有的只能由,有的只能由,有的只能由软软软软件触件触件触件触发发发发。软软软软件中断:件中断:件中断:件中断:由程序指令由程序指令由程序指令由程序指令产产产产生,如:生,如:生,如:生,如:INTRINTRINTRINTR、TRAPTRAPTRAPTRAP、RESETRESETRESETRESET硬件中断:硬件中断:硬件中断:硬件中断:由由由由设备设备设备设备的信号的信号的信号的信号产产产产生,可以是外部引脚信号生,可以是外部引脚信号生,可以是外部引脚信号生,可以是外部引脚信号(外部中断外部中断外部中断外部中断),也可以是片内外,也可以是片内外,也可以是片内外,也可以是片内外设设设设信号信号信号信号(内部中断内部中断内部中断内部中断)。四、中四、中四、中四、中 断断断断第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制(3)(3)(3)(3)中断可分中断可分中断可分中断可分为为为为可屏蔽中断和非屏蔽中断两可屏蔽中断和非屏蔽中断两可屏蔽中断和非屏蔽中断两可屏蔽中断和非屏蔽中断两类类类类。可屏蔽中断:用可屏蔽中断:用可屏蔽中断:用可屏蔽中断:用软软软软件将其件将其件将其件将其设设设设置置置置为为为为禁止中断或允禁止中断或允禁止中断或允禁止中断或允许许许许中断。中断。中断。中断。非屏蔽中断:不能被禁止,一旦非屏蔽中断:不能被禁止,一旦非屏蔽中断:不能被禁止,一旦非屏蔽中断:不能被禁止,一旦产产产产生,生,生,生,CPUCPUCPUCPU立即响立即响立即响立即响应应应应中断。中断。中断。中断。2 2 2 2、中断、中断、中断、中断处处处处理的四个步理的四个步理的四个步理的四个步骤骤骤骤(1)CPU(1)CPU(1)CPU(1)CPU接收中断接收中断接收中断接收中断请请请请求,挂起当前程序求,挂起当前程序求,挂起当前程序求,挂起当前程序;(2)(2)(2)(2)响响响响应应应应中断中断中断中断请请请请求:可屏蔽中断求:可屏蔽中断求:可屏蔽中断求:可屏蔽中断须满须满须满须满足某些条件,非屏蔽中断立足某些条件,非屏蔽中断立足某些条件,非屏蔽中断立足某些条件,非屏蔽中断立即响即响即响即响应应应应。(3)(3)(3)(3)准准准准备备备备中断服中断服中断服中断服务务务务程序程序程序程序 CPUCPUCPUCPU完成当前的指令完成当前的指令完成当前的指令完成当前的指令执执执执行,清除流水行,清除流水行,清除流水行,清除流水线线线线中未中未中未中未译码译码译码译码的指令。的指令。的指令。的指令。在数据堆在数据堆在数据堆在数据堆栈栈栈栈和系和系和系和系统统统统堆堆堆堆栈栈栈栈中保存相关寄存器的内容,中保存相关寄存器的内容,中保存相关寄存器的内容,中保存相关寄存器的内容,从中断矢量表中取出中断矢量,中断矢量指从中断矢量表中取出中断矢量,中断矢量指从中断矢量表中取出中断矢量,中断矢量指从中断矢量表中取出中断矢量,中断矢量指针针针针(IVPD(IVPD(IVPD(IVPD、IVPH)IVPH)IVPH)IVPH)指向中断服指向中断服指向中断服指向中断服务务务务程序。程序。程序。程序。第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制(4)(4)(4)(4)执执执执行中断服行中断服行中断服行中断服务务务务程序程序程序程序ISRISRISRISR包含中断返回指令,当中断返回包含中断返回指令,当中断返回包含中断返回指令,当中断返回包含中断返回指令,当中断返回时时时时,自,自,自,自动动动动恢复以前保存恢复以前保存恢复以前保存恢复以前保存在寄存器中的内容。在寄存器中的内容。在寄存器中的内容。在寄存器中的内容。3 3 3 3、中断矢量及其、中断矢量及其、中断矢量及其、中断矢量及其优优优优先先先先级级级级CPUCPUCPUCPU接受和响接受和响接受和响接受和响应应应应中断中断中断中断请请请请求后,求后,求后,求后,产产产产生一个中断矢量地址,生一个中断矢量地址,生一个中断矢量地址,生一个中断矢量地址,地址地址地址地址指向相关中断服指向相关中断服指向相关中断服指向相关中断服务务务务程序的中断矢量。程序的中断矢量。程序的中断矢量。程序的中断矢量。书书书书中表中表中表中表4-24-24-24-2。多个中断同多个中断同多个中断同多个中断同时发时发时发时发生生生生时时时时,CPUCPUCPUCPU按照事先定按照事先定按照事先定按照事先定义义义义的的的的优优优优先先先先级进级进级进级进行行行行处处处处理。理。理。理。优优优优先先先先级为级为级为级为0 0 0 0的的的的优优优优先先先先权权权权最高,最高,最高,最高,随着随着随着随着优优优优先先先先级级级级数的逐步增加,数的逐步增加,数的逐步增加,数的逐步增加,优优优优先先先先权权权权逐步减小。逐步减小。逐步减小。逐步减小。vector:vector:rs b _c_int00rs b _c_int00 nop nop nop nopnmi b _retnmi b _ret nop nop nop nopint0 b _retint0 b _ret nop nop nop nop .dmac5 b _ret dmac5 b _ret nop nop nop nop 第四章第四章第四章第四章 程序流程控制程序流程控制程序流程控制程序流程控制4 4 4 4、中断管理寄存器、中断管理寄存器、中断管理寄存器、中断管理寄存器C55xC55xC55xC55x芯片有芯片有芯片有芯片有8 8 8 8个中断管理寄存器。个中断管理寄存器。个中断管理寄存器。个中断管理寄存器。Interrupt Vector Pointers(IVPD,IVPH)Interrupt Vector Pointers(IVPD,IVPH)Interrupt Vector Pointers(IVPD,IVPH)Interrupt Vector Pointers(IVPD,IVPH)Interrupt Flag Registers(IFR0,IFR1)Interrupt Flag Reg
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服