首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

结合DSP和微控制器特性、用于电机控制的单片处理器(6)

结合DSP和微控制器特性、用于电机控制的单片处理器(6)

高性能DSP控制器设计通常需要具有以下4种特性:  高宽带并行存储器传输性能;
  支持并行存储器传输并提供DSP寻址模式的AGU;
  可进行快速算法计算、具有足够寄存器集的计算单元;
  执行循环时,不降低性能的硬件循环机制。
  摩托罗拉的架构可满足这些要求,它有如下一些特点:
  并行转移(move)指令:灵活的并行转移指令集允许存储器存取与计算单元的运行同时进行。实现高带宽存取计算单元数据,可保持计算单元始终处于繁忙状态,消除了数据进出计算单元时的传输瓶颈效应。在目前的情况下,允许两种类型的并行转移:单向并行转移和双向并行读。这两种转移都在一个指令周期中执行,并占据程序存储器的1个字长位置。
  地址生成单元:地址生成单元(AGU)是进行所有地址计算的模块。在DSP56800内核中,AGU包含两个算术单元和自己的寄存器集,可为数据存储器提供高达两个地址,也可在一个指令周期中更新两个地址。它适应两种类型的算法,包括用于通用地址计算的线性算法以及用于创建存储器内数据结构的求模算法,通过更新地址寄存器对数据进行操作,而无需移动大块的数据。
  数据ALU单元的快速计算:处理器计算单元的性能取决于它如何存取操作数及其计算能力。
  许多传统的DSP设计基于累加器,即无论操作数来自哪里,运算的结果总是存储在累加器中。除了乘法运算不允许累加器作为一个乘数输入以外,运算执行后一个操作数要留在累加器中。
  新架构的大量寄存器和正交结构提高了计算的效率,其中算术运算的结果可写入数据ALU的5个寄存器中的任一个。数据ALU输入也允许是立即数,在任何寄存器进行增量运算的同时,进行其它寄存器的运算,从而大大增强了寄存器集的性能。累加器也能够用作乘法器的输入或用来累加。这一技术还减少了存储器的存取次数,因为中间结果无需暂时存储在存储器中。该内核的设计不是管线操作,故在一个指令周期之后乘法或乘法-累加的结果就可获得,而无需两个指令周期。
  循环机制:DSP和其它数字计算程序经常使许多处理器的执行时间浪费在一些与数字相关的小型计算循环中,因为这种循环需要进行大量存储器存取。因此,提供一套具有强大寄存器集的灵活并行转移指令十分必要,循环本身的执行时间的最小化也很重要。DSP56800内核使用一种灵活的硬件循环机制,可不附加任何计算时
  间,自动进行循环,成为“无开销循环”。这通过提供一种硬件“DO loop”机制来实现,无需额外的执行时间就可循环任意条指令。与早期的无开销循环设计不同,这一循环机制可
  中断并具有可嵌套于“DO loop”机制中的重复循环能力。
  减小程序规模的内核特性
  该内核的编程模型分为三组不同的寄存器集,分别对应于DSP内核中三个功能单元,每一功能单元具有一套完整的寄存器来完成其任务。
  这种架构允许对立即数或存储器直接进行操作。使用立即数有助于减少寄存器的使用,因为使用立即数时,算术运算可直接完成,从而无需使用寄存器存储重要变量和中间结果。
  该内核的转移指令和寻址模式设计为通用模式,以简化编程任务,提高效率。完整的寻址模式指令集支持8种不同的寻址方式,可采用任何转移指令对数据存储器或片上存储器映射的外围寄存器进行存取。其它寻址模式也可在经常存取DSP内核寄存器的一个子集中找到,包括数据ALU中的寄存器和ALU中的所有指针。
  除了上面描述的硬件循环外,软件循环也是DSP架构中的一个重要性能。内核可将AGU或数据ALU中的寄存器用作循环计数器来实现软件循环。将存储器的某一单元用于循环计数,可使整个寄存器集都用于完成算法计算,这一性能已证明是有用的。
继承事业,薪火相传
返回列表