dsp编程学习

2004年11月12日14:05:49

数据类型
注意 c55的char为16bit,long long为40bit sizeof(char)==sizeof(int)==1

如何调试优化的代码
一般情况下release版会O3优化,会禁止原代码和机器码的对应。
如果加-g(full symbol),则编译器做尽可能的优化,但不是能有最高效率
如果加-gp则允许进行profile,且可以和O3联用,也许这个在profile时更好些。
如果不是防真,clock函数是更好的选择。

积存器使用和保护规则(C和汇编的接口)

见281的Table 6-2.
可以看出大部分都是调用者保护,记忆的方法是AR和T这类几乎是对半保留的,低部分的由调用者保留,高部分的由被调用者保留。例如调用者保护XAR[0..4],意味着,子程序可以随意改变这些值。所以调用者可以用XAR[0..4]传递参数.
这样减少了汇编程序中的很多保留过程,是鼓励子程序调用的措施吗?

积存器与参数的对应
按参数的类型分 1)数据指针 2)16bit数据 3)32bit数据
分别对应           1)XAR...      2)T.. ,AR..   4)AC..

并行指令的利用
(1)Built-in
用::表达,如例如双MAC

(2)User-Define

条件指令
XCC,BCC,XCCPART的区别?

不方便的地方
ROR只能循环移1位,这怎么叫桶形移位呢
SFTL也只能用常量或者Tx做移位
CDP不能做dst,导致无法对CDP做算术运算
循环寻址只能和间接寻址一起使用,不能单独对ARx的算术运算进行circular寻地址

symbol
Smem,Xmem,Ymem,Cmem
instrcution:
1 btstclr
注意是#k4
2 bset
3 mov
4 amov
5 mpym
6 macm
    注意parallel与repeat方式对mpy的code indensity&effecient
7 rpt
    注意是 #k 是k+1次
8 call
    很费周期4-10cycle
9 ret

2004年12月20日13:19:58
10 两个条件执行
     XCC,XCCPART注意两个在流水线处理上的区别
11 Bit operation instruct.在加密计算,BIT流合并等应用中有用处
     bit counting BCNT
     bit extract BFXTR
     bit expand BFXPA

address mode:
1 absolute :
    identify by #
2 direct:
    identify by @
1)DP
2)SP
3 indirect
   identify by *xAR
xAR

dsp init process
C54CM,AR0LC...,stack(xsp,xssp,dual 16-bit fast return mode),

posted on 2004-11-12 14:07  embed  阅读(4151)  评论(0编辑  收藏  举报

导航