[培训-DSP快速入门-2]:C54x DSP处理器的架构

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[培训-DSP快速入门-2]:C54x DSP处理器的架构相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/118889692


目录

1.  C54x芯片的总体基本架构

1.1 冯诺依曼结构

1.2 哈佛结构

1.3 混合结构

1.4 C54x芯片结构

 2. CPU

3. 算术运算单元ALU

4. 累加器A&B

5. 桶形移位寄存器

6. 乘法/加法器(先乘后加)

7. 比较、选择、存储

8. 指数编码器

9. 状态和控制寄存器


1.  C54x芯片的总体基本架构

1.1 冯诺依曼结构

wps574A.tmp

 冯诺依曼结构是,数据和代码放在同一个存储器中,共享相同的地址和数据总线。

冯·诺依曼结构(von Neumann architecture)又称作普林斯顿体系结构(Princetion architecture)。

冯·诺依曼结构的处理器使用同一个存储器,经由同一个总线传输。冯·诺依曼结构处理器具有以下几个特点:

  • 必须有一个存储器;
  • 必须有一个控制器;
  • 必须有一个运算器,用于完成算术运算和逻辑运算;
  • 必须有输入和输出设备,用于进行人机通信。

大多数计算机和嵌入式处理器采用的是此架构。

1.2 哈佛结构

wps5749.tmp

哈佛结构是,数据和代码放在不同的存储器中,独占不同的数据和地址总线。

哈佛结构的中央处理器, 首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度

哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。

哈佛结构是指程序和数据空间独立的体系结构, 目的是为了减轻程序运行时的访存瓶颈。

哈佛结构能基本上解决取指和取数的冲突问题。

DSP通常采用此架构。

1.3 混合结构

wps575A.tmp

 这种结构就是目前ARM的结构,将两种结构扬其长,避其短。

其中,芯片内部的cache,表示高速缓存。

1.4 C54x芯片结构

 2. CPU

中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理程序运行的最终执行单元,包括逻辑运算单元ALU, 移位寄存器,累计器,乘法器,选择器,比较器,指数编码器等。

除CPU之外的所有功能,其他功能主要是外围控制器和内部的存储器。

3. 算术运算单元ALU

算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算逻辑运算组合逻辑电路,简称ALU。

 

 

 

4. 累加器A&B

中央处理器中,累加器 (accumulator) 是一种寄存器,用来储存计算产生的中间结果。如果没有像累加器这样的寄存器,那么在每次计算 (加法,乘法,移位等等) 后就必须要把结果写回到 内存,也许马上就得读回来。

 现今的 CPU 通常有很多寄存器,所有或多数都可以被用来当作累加器。因为这个原因,"累加器" 这名词就显得有些老旧。

累加器除了用于寄存数据外,还可以直接进行加法运算。

 

5. 桶形移位寄存器

 桶式移位器是一种组合逻辑电路,通常作为微处理器CPU的一部分。它具有n个数据输入和n个数据输出,以及指定如何移动数据的控制输入,指定移位方向、移位类型(循环、算术还是逻辑移位)及移动的位数等等。

桶形移位寄存器即循环移位寄存器,在浮点加减运算、压缩/解压缩和图像处理算法中有应用,常用的是组合逻辑实现的桶形移位寄存器。

 

 备注:桶式移位器的移位的位数是可以配置的。

6. 乘法/加法器(先乘后加)

 

 

7. 比较、选择、存储

8. 指数编码器

 

9. 状态和控制寄存器

  • ARP:3bit的DSP状态位,兼容C5XXX
  • TC: 测试控制位。
  • C: Carrier进位标志
  • OVA: 累计器A的溢出标志位
  • OVB: 累加器B的溢出标志位
  • DP: Data Address Pointer寻址的基地址

  • BRAF: 块循环执行标志,表明程序是否在循环体中执行
  • CPL: C语言编程兼容位, 是否支持直接寻址。
  • XF: XF管脚输出位
  • HM: Hold Mode,暂停模式
  • INTM: 全局中断屏蔽,
  • OVM: 32bit还是40bit溢出
  • SXM: 各位扩展方式0或1
  • C16: 32bit操作还是2个独立的16bit操作
  • FRCT: 小数相乘后的移位控制
  • CMPT: 与C5XXX的兼容位
  • ASM: 移位控制

 

  • IPTR: 中断使能位
  • AVIS: 地址可见位
  • CLKOFF: 时钟输出位
  • SMUL: 乘法饱和位
  • SST: 存储饱和位,当40位的寄存器中的结果超过32位时,在把数据存放到32bit内存中时,是否进行饱和处理,还是截位处理。

 

 

 

 


作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/118889692

以上是关于[培训-DSP快速入门-2]:C54x DSP处理器的架构的主要内容,如果未能解决你的问题,请参考以下文章

[培训-DSP快速入门-6]:C54x DSP开发中C语言库函数的使用

[培训-DSP快速入门-7]:C54x DSP开发环境与第一个汇编语言程序

[培训-DSP快速入门-4]:C54x DSP开发环境与第一个C语言程序

[培训-DSP快速入门-3]:C54x DSP内存资源与内存空间分布

[培训-DSP快速入门-5]:C54x DSP链接配置文件.cmd设置与解读

[培训-DSP快速入门-1]:DSP概述(基本框架CPU, GPU, FPGA比较,常见型号)