SEED TI C2000 培训教材
2005.8
第一部分:介绍
2005.8
什么是数字信号处理器 ?
1. Microprocessor (µP):
l 一个多IC处理系统的核心器件
l 2种基本的结构:
Ø „Von Neumann“- 冯.诺依曼
Ø „Harvard“ – 哈弗
l „Von Neumann“:
Ø 数据、代码共享内存空间
Ø 数据、代码共享内存总线
Ø Example: Intel‘s x86 Pentium Processor family
l „Harvard“:
Ø 数据、代码独立存储空间
Ø 数据、代码独立存储总线
2005.8
SOC-微控制器 (µC)
l 用来实现实时控制的核以及输入输出接口都集成
在片上
l 确保在嵌入式应用中的高的性价比
l 几乎能满足各类电子产品对运算能力和外设的要
求
l 2种 µP – 结构 (Von Neumann 和Harvard) 广泛
应用于 Microcontrollers
2005.8
DSP-数字信号处理器
u 类似于微处理器 (µp..), 一个计算系统的核
u 额外的用来加速复杂运算的外设:
l 硬件乘法器(MPY)
l 算术运算单元(ALU)
l 多总线访问机制
l 实现 2n 次乘法/加法运算的硬件移位寄存器
2005.8
典型的DSP算法
2005.8
乘加运算的实现- µP
y
coeff
][
i
data
*][
i
3
i
0
u 使用PC、通用的C代码编译器例如Visual.Studio.Net实现
u 代码实例:
#include
int data[4]={1,2,3,4};
int coeff[4]={8,6,4,2};
int main(void)
{
int i;
int result =0;
for (i=0;i<4;i++)
printf("%i",result);
return 0;
result += data[i]*coeff[i];
}
2005.8
6个基本操作
][
i
i
CPU将要执行的操作?
coeff
data
*][
i
u
y
3
0
1. 设置指针1指向 data[0]
2. 设置指针2指向 coeff[0]
3. 读data[i] 到内核
4. 读coeff[i] 到内核
5. MPY data[i]*coeff[i]
6. 做加法运算
7. 修改指针1
8. 修改指针2
9. 自增;
10. 如果 i<3 , 返回第三步重复执行
u
u
3到8 被称作“6 Basic Operations of a DSP”
DSP能够单周期执行完这6个基本操作
2005.8