DSP实验.应启珩-2004第四章

上传人:E**** 文档编号:90581628 上传时间:2019-06-13 格式:PPT 页数:25 大小:180KB
返回 下载 相关 举报
DSP实验.应启珩-2004第四章_第1页
第1页 / 共25页
DSP实验.应启珩-2004第四章_第2页
第2页 / 共25页
DSP实验.应启珩-2004第四章_第3页
第3页 / 共25页
DSP实验.应启珩-2004第四章_第4页
第4页 / 共25页
DSP实验.应启珩-2004第四章_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《DSP实验.应启珩-2004第四章》由会员分享,可在线阅读,更多相关《DSP实验.应启珩-2004第四章(25页珍藏版)》请在金锄头文库上搜索。

1、DSP54.41,1。程序地址产生单元(PAGEN) 1)作用:程序地址产生单元产生访问指令、16位立即数、系 数表或存在在程序区内的其它信息地址,并将它放 到程序地址总线PAB上; 2)组成框图:, 程序计数器(PC) 重复计数器(RC)用于RPT指令 块重复计数器(BRC) 块重复起始地址计数器(RSA) 块重复结束地址计数器(REA) 扩展程序计数器(XPC) 位于MMR(001Eh),用于RPTB指令,XPC,DSP54.42,3)附加应用:为提高性能,PAGEN也用来取程序存储器中的 操作数,例:FIRS、MACD、MACP等指令; 2。程序计数器(PC) 1)作用:它是一个16-b

2、it计数器,保存有某个即将取指的指令 在程序存储器中的地址,或16-bit立即数,或系数表 的地址; 2)加载地址到PC的途径:见教材p.40表116 复位后:PC=FF80; 顺序执行指令:PC+1; 非顺序执行指令:程序地址发生不连续(如分支转移、调 用子程序、中断等),相应地址PC;,DSP54.43,3。基本程序控制 1)分支转移,; pmad PC, 2w/4c 2w/2c ; (src(15-0) PC,1w/6c 1w/4c,无条件转移 (表1-17),; if(cond(s) then pmad PC 2w/5c 2w/3c else (PC)+2 PC 2w/3c ; if(

3、ARx) 0) then pmad PC 2w/4c 2w/2c else (PC)+2 PC 2w/2c 例:见教材p.143 例2,带条件转移 (表1-17),BD pmad,BACCD src,BCD pmad, cond,cond,cond,BANZD pmad, *ARx-,DSP54.44,2)调用与返回,; (SP) 1SP, (PC)+2 TOS, pmad PC 2w/4c ; (SP) 1SP, (PC)+4 TOS, pmad PC 2w/2c(delayed) ; (SP) 1SP, (PC)+1 TOS, (src(15-0) PC 1w/6c ; (SP) 1SP,

4、 (PC)+3 TOS, (src(15-0) PC 1w/4c (dela.) ; (TOP) PC, (SP) +1SP 1w/5c 1w/3c(delayed) ; (TOP) PC, (SP) +1SP , 0 INTM 1w/5c 1w/3c(delayed) ; (RTN) PC, (SP) +1SP, 0 INTM 1w/3c 1w/1c(delayed),无条件调用 (表1-19),无条件返回 (表1-19),CALLD pmad,CALAD pmad,RETD,RETED,RETFD,DSP54.45, RETFD:快速返回,用于在中断服务程序中不再调用 其它程序,也不再产生

5、其他中断; ; if(cond(s) then (SP)-1SP, (PC)+2 TOS pmad PC, 2w/5c else (PC)+2 PC 2w/3c ; if(cond(s) then (TOS) PC, (SP)+1SP 1w/5c else (PC)+1 PC 1w/3c 1w/3c,(PC)+4 TOS(delayed 2w/3c),条件调用 和返回 (表120),CCD pmad, condcond,cond,RCD condcond,cond,DSP54.46,3) 带延时指令和带条件执行指令的说明: 带延时指令(选项D):在指令执行之前,先执行紧跟 在指令后面的一条双字

6、指令或两条单字指令。这是由 于在流水线到达执行阶段时,其后面两个指令字已被 取指; (例:见讲义2-11) 带条件执行指令的条件: 单条件:见教材p.42表121; 多重条件及其组合:见教材p.43表122; 4)单周期条件执行指令(XC)的应用 如果条件分支转移出去的地方只有12字的程序段,则 可以用XC指令来替代分支转移指令;,DSP54.47, 语法:,XC n, cond,cond,cond (n=1 or 2) 1w/1c,;if (cond(s) then Next n instructions are executed else Execute NOP for next n in

7、structions 例,LD #1, A; 修改条件 (不会影响结果),XC 1,ALEQ MAR *AR1+ ADD DAT100, A,A FF F000 ABCD FF F000 ABCD AR1 0032 0033, 註:1。该指令和紧接着两个指令字是不能中断的和重复的; 2。被测试的条件是在指令执行之前的两个周期被采样 的,因此如果指令前的两条单字指令或一条双字指 令修改了条件,不会影响指令执行的结果,00 0000 0001,DSP54.48,5)三条重复指令的应用RPT、RPTZ、RPTB 利用这些指令进行的循环比BANZ指令要快; 重复单条指令RPT、RPTZ,RPT #n

8、; n (RC), 重复执行下条指令( n+1 )次,RPTZ dst #n ; 0 dst (A or B), n (RC),.bss x, 5 STM #x, AR1 LD #0, A RPT #4 STL A, *AR1+,.bss x, 5 STM #x, AR1 RPTZ A, #4 STL A, *AR1+,或,例:,DSP54.49, 特点: (1)重复操作功能使表124(教材p.44)中的多周 期双操作数指令在执行一次后变成单周期指令,大 大提高运行速度。其原因是PC不再是用作取指指令, 而作为程序空间的指针,利用空闲的程序存储器地 址和数据总线并行地取第二个操作数; (2)

9、该指令不能套用循环; (3)一旦进入循环CPU不响应中断; (4)下列指令是不能做重复操作的,BD, BCD, BANZD, BACCD, CALLD, CALAD, CCD, RETD, RETED, RETFD, RCD, RPT, RPTZ, RPTB, XC, INTR, TRAP, IDLE, RESET, FarOps, ANDM, ORM, XORM, ADDM, RSBX, SSBX, RND, MVMM, CMPR, DST, LD DP, LD ASM, LD ARP,DSP54.410, 程序块的重复操作RPTBD RPTBD将一段程序代码(指令块)重复若干次,可以 是任

10、意长度循环块,并提供零开销循环; 语法: 2w/4c 执行:STM #lk, BRC ; #lk(BRC),确定循环次数(lk+1); 1BRAF ;ST1(15)=(BRAF),块重复标志 if (delayed) then (PC)+4RSA else (PC)+2RSA pmadREA; Do BRC1, untill BRC=0 , BRAF=0; 举例:教材p.146例10 (for(i=0,i5,i+) xi=xi+1),RPTBD pmad,DSP54.411, 特点: 对任意长的循环程序段,循环开销为零; 可以响应中断; 可以通过对BRAF位清零来禁止循环; 如果保存好 BRC

11、、RSA、REA的值,可以实 行嵌套循环,但效率不高; 6)循环嵌套: 由于RPT用到RC寄存器,RPTB用到BRC、RSA、REA寄 存器,因而两者可以嵌套使用。 最外层可以用BANZ指令,因为用RPTB指令所费的时间 比用BANZ指令花销更多。,DSP54.412,循环嵌套举例:(见教材p.147),STM #L1,AR7 1st: out out STM #M1, BRC RPTB 2nd1 mid mid RPT #N1 inner mid mid 2nd out out BANZ 1st, *AR7-,1,2,3,2w/2c,2w/2c 2w/4c,1w/1c,2w/4c,循环嵌套开

12、销 RPT 1c RPTB (4+2) c BANZ (4L+2) c,DSP54.413,4。复位操作 复位操作是一个不可屏蔽中断,它可以在任何时候使C54x 进入一已知状态。复位期间,处理器的操作见教材p.45。 是硬件复位 ,上电后 应维持 5个时钟周期的低电平 以确保数据、地址和控制线的正确配置; 复位后,处理器从FF80H处取指,并开始执行程序。若 =0 ,从片内ROM开始执行,否则从片外存储器开 始执行; 对复位期间没有初始化的状态位和SP,用户必须在程序中 对其初始化;,DSP54.414,5。中断 序: 定义:中断是由硬件驱动或软件驱动的信号,中断信 号使C54x CPU暂定正

13、在执行的程序,而进入中 断服务程序(Interrupt Service Routine ISR) 。 中断系统是计算机中提供实时操作及多任务、多进程 操作的关键部分; C54x根据芯片型号不同,有2427个软件和硬件中断 (C5402有30个中断,见讲义p.127),共分为14个中 断优先级,可以实现多任务嵌套。 向量中断:中断中断号向量表中的位置 ISR,DSP54.415,1)中断类型 按中断源分: 软件中断:由程序指令要求中断,INTR k ; 0k31, INTM=1,TRAP k ; 0k31, INTM不受影响,RESET ;INMT=1,IPTR保持不变,硬件中断:外部硬件中断:

14、 片内外设中断:定时器(TINT) 串口(BRINT、BXINT) 主机接口(HPIINT) DMAC,DSP54.416, RESET与 : 使(IPTR)=1FFh(全置1) RESET不影响 IPTR; INTR 与TRAP:INTR=TRAP+disable (INTM) 从CPU的管理角度: 可屏蔽中断:可以通过软件屏蔽或放开的软、硬件中断; 对C5402有14个 :外部( ) 4个, 定时(TINT) 2个, 缓冲接收串口(BRINT) 2个, 缓冲发送串口(BXINT) 2个, 主机接口(HPINT) 1个, DMA通道(DMACx) 3个,,DSP54.417,不可屏蔽中断:C54x对这类中断总是响应的,并从主程 序转移到ISR; 包括:所有软件中断(14个)、 (Priority 1) 、 (Priority 2); 不会对CPU操作产生影响 ,但它可以 中断主程序、ISRs和它自己,而且不保留 INTM的状态(使INTM=1),因而从 返 回时将产生不确定结果。如果不用,最好把 它置于高

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号