请问,DM8148 处理器的C语言指令集在哪个文档中描述的?TMS320C674x DSP CPU and Instruction Set 文档中只讲了汇编指令集。谢谢
Chris Meng:
你好,
DM8148里有多个核,你指的是DSP核么?如果是,请参考http://processors.wiki.ti.com/index.php/TI_Compilers_and_Industry_Standards。
pei qin:
回复 Chris Meng:
不是的哈,在Introduction to TMS320C6000 DSP Optimization 中3.5.1 Intrinsic Operations节讲到C6000 intrinsic operations can help greatly optimize the code as it allows the programmer to directly invoke C6000 assembly operations that are difficult to express in the C language.
例如double _mpyu4 (unsigned src1, unsigned src2); unsigned _norm (int src2);
应该有个文档专门讲类似_mpyu4()这种C/C++级别的intrinsic函数,用来充分利用处理器多个处理单元做并行处理,要不然就是标准C语言编程,那样基本不能体现出DSP 多处理单元的作用。
我之前是做freescale的DSP板子,它的技术文档就有个文档专门讲C/C++ intrinsi函数的,举个例子,一个DSP core有2个16*16算术处理单元,于是它们就有个intrinsic函数_mpy_2w(m, n, a, b, c, d); 该条intrinsic 等效为m = a * b; n = c * d; 可以使得两次乘法在1个cycle里边处理完,也就是多处理单元并行处理。
我相信TI 也应该有类似的intrinsic函数,不然怎么Supports up to Four SP Adds Per Clock, Multiply Supported up to: 2 SP x SP ->SP Per Clock? 不知道我所清楚没有?
谢谢您的解答!
pei qin:
回复 Chris Meng:
谢谢,我还没有仔细研读这个文档,但是怎么没有发现同时执行多组数相乘的intrisic,感觉intrinsic函数太少。