北极星主页 | 旧版 | 电力运营 | 电信运营 | 工业控制 | 电子技术 | 仪器仪表 | 大学院校 | 科研院所 | 协会学会
发电设备 输电设备 变电设备 继保自动 直流系统 水电建设 电力系统 交换设备 传输设备 广电通讯 通信终端
通信软件 机房辅设 通信系统 传感器件 智能部件 测控通讯 电气传动 开关电器 设备电源 工控产品 智能器件
电阻电位 电容电感 分立器件 集成电路 功率器件 光电磁敏 电连接件 电路板卡 特殊器件 电子产品 信号示波
电工测量 通讯仪器 环境检测 安规检测 工装工具 仪器产品 民用电器 建筑电器 电工器材 用电设备 电气技术
新闻中心 | 技术天地 | 企业搜索 | 产品中心 | 商务信息 | 人才招聘 | 期刊媒体 | 行业展会 | 热点专题 | 论 坛 | 博 客 | 高级搜索
帐号   密码  个人用户注册 企业免费注册
 

一种新型DSP指令结构及数据通道

姜小波,陈 杰仇玉林

(中科院微电子中心,北京100029)

 

  摘 要:针对可以处理不同位宽数据的DSP结构,本文提出了一种提高指令编码密度的方法,使设计的DSP指令减少了32条。另外提出了两种能同时实现16位乘法累加运算和32位乘法累加运算的数据通道结构。对这两种数据通道都用Verilog语言进行了模拟仿真。
  关键词:数字信号处理器、指令集、数据通道、指令编码

 A New Architecture lf DSP Instruction Set and Datapath

JIANG Xiao-bo,CHEN Jie,QIU Yu-lin

(Institute of Microelectronics of Chinese Academy lf Sciences,Beijing100029,China)

  Abstract: The method of improving the coding density of instruction sets has been proposed for the DSP that can implement 16-bit MAC and 32-bit MAC. The proposed method can decrease 32 instructions. Two data_paths has been proposed for the DSP that can implement 16-bit MAC and 32-bit MAC. The two data_paths has been simulated with verilog HDL.
  
Keyword: DSP, Instruction set, data-path,

 

一、介绍
    DSP处理器对存储器非常敏感,希望片上存储器越小越好[1]。增加指令集的密度,减少程序存储空间。在DSP设计的过程中,引入模式控制的方法,控制处理器运行在16位和32位模式,增加了指令集的密度。同时,设计了两种可以运行在16位和32位模式下的运算单元。一种是可分割的乘法累加单元(该单元通过改进32位乘法累加单元,实现两种模式的运算)、一种是可重构的乘法累加单元(该单元采用两个16位的乘法累加单元重构32位运算单元,也可以同时实现两种模式的运算)。
    目前的数字信号处理要求处理多媒体数据,多媒体数据处理要求提高16位和8位的数据的吞吐量及位宽的灵活性。例如MPEG-4中,运算要求位宽从8位到64位的灵活性[1]。我们设计的uDSP为了满足这些要求,可以完成16位和32位的运算功能。
  DSP设计中,芯片面积是主要的限制条件。影响芯片面积的一个主要因素是片上存储器,它经常占据芯片的大部分面积。指令长度会影响程序存储器的面积。因此,在DSP体系结构设计时,减少指令字长是一个主要的考虑方面。我们采用模式控制的方式,增加指令编码密度。
  具体方法是在模式控制寄存器中,增加模式控制位。由模式控制位控制指令进行16位运算还是32位运算。而不是16位运算一套指令,32位运算一套指令。这样就减少了指令的总数,提高了指令编码的密度。在我们设计的DSP中,减少了32条指令。

二、DSP结构
  目前的数字信号处理要求处理多媒体数据,多媒体数据处理要求提高16位和8位的数据的吞吐量及位宽的灵活性。例如MPEG-4中,运算要求位宽从864位的灵[1]活性[2]。我们设计的uDSP为了满足这些要求,可以完成16位和32位的运算功能。

  

DSP的体系结构将在以后的文章中作介绍,本文主要介绍该DSP的运算指令设计及特有的模式控制结构。本DSP运算指令包括MAC运算、ALU运算和SHIFTER运算等32条运算指令。如果采用其它处理器的做法,16位运算和32位运算采用不同的指令,则运算指令就有64条。为了减少指令编码长度,该DSP采用了模式控制的方式。即针对某一种运算(例如乘加),16位运算和32位运算采用同一条指令;它们的区分采用模式控制的方式,在16位运算模式下,运算指令进行的是16位运算;在32位运算指令下,运算指令进行的是32位运算。采用这种方式的基础是,在实际应用中,一般不会出现同时进行16位运算和32位运算的情形。
  图
1DSP的结构图。控制单元和模式控制器控制数据通道和存储器的动作。当模式控制单元控制DSP运行在16位模式下时,数据通道进行16位的运算,存储器读出或存取16位的数据;当模式控制单元控制DSP运行在32位模式下时,数据通道进行32位的运算,存储器读出或存取32位的数据。
  采用模式控制的方法,DSP的运算指令从64条减少到32条。从而减少了指令的编码长度,提高了编码密度。从而减少DSP的片上存储器。

三、运算单元
  DSP处理器中的关键路径是乘法累加单元,实现我们提出的DSP处理器结构的关键也是实现乘法累加运算。本文提出了乘法器单元,可以满足该指令集的要求。既能进行16位运算,又能进行32位乘法累加运算。一种乘法累加单元是采用重构的方法,利用两个16位的乘法器重构一个32位的乘法单元。一种是用分割的方法,采用一个32位的乘法器,通过适当的设计,可以实现两个16位的乘法运算。这两种乘法器均可以工作在16位模式,32位模式和单指令、多数据模式。
3.1 可重构乘法累加运算单元

2是可重构乘法累加单元的结构图。该乘法累加单元由两个16位的乘法器、三个加法器、一个流水线寄存器构成。可以在一个周期内完成一次32位乘法,或一次16位乘法,或两次16位乘法运算。具体进行哪种运算,由模式控制单元产生的控制信号控制数据流实现。多选器1在模式控制信号作用下,把寄存器AB中的操作数送到相应的乘法器。加法器1的作用是,在32位模式下时,把A1,B0A0,B1的乘法结果相加。中间寄存器(partial register)的作用是存储加法器1的结果。加法器2也是在32位模式下起作用,它把中间寄存器的数和A0,B0A1,B1的相加。加法器3是乘法累加单元的重要组成部分,是一个80位加法器,它把乘法结果和加法操作数相加。为了满足三种工作模式的需求,它由两个40位的加法器重构而成。图3是乘法累加单元的时序图。
  工作在
16位模式时,乘法乘法操作数经多选器1进入乘法器A,乘法结果经多选器3后进入加法器3,和加法操作数进行加法运算后输出结果。
  工作在32位模式下时,假设A1A0是一个32位乘数,B1B0是一个32位乘数,其中A1,B1是高16位数,A0,B0是低16位数。在时钟的上升延,A1,B0被送入乘法器AA0,B1被送入乘法器B。乘法结果在加法器1中相加,结果送入寄存器(partial register)中。在时钟下降延,A0,B0A1,B1被分别送入乘法器A和乘法器B。运算结果送到加法器2,和寄存器中的数据相加后经过多选器3进入加法器3,和加法操作数进行加法运算后输出结果。


工作在单指令多数据模式下时,A1,B1作为一对乘法操作数,A0,B0作为一对乘法操作数。在时钟上升延,A1,B1被送入乘法器AA0,B0被送入乘法器B,运算结果经多选器3后被送入加法器3,和加法操作数进行加法运算后输出结果。
  可重构的乘法累加单元用Verilog HDL语言进行了模拟仿真,功能满足预计的要求。
  这种结构的MAC单元优点是结构简单,面积小(用两个16位乘法器实现32位乘法),可以调用现成的加法器和乘法器,只占用流水线的一级,简化了DSP的结构。缺点是在高性能DSP的应用上有缺陷,因为它的关键路径是32位乘法(包括两次16位乘法及一些加法),这样进行16位运算时性能就上不去。
3.2 可分割乘法累加单元
  采用分割32位乘法器的方法是另一种能实现我们提出的DSP功能的数据通道。一般来说,32位的乘法器都能实现16位的运算。不过用32位的乘法器做16位乘法就有些浪费。我们提出的乘法累加单元和普通的乘法累加单元类似,也包括一个部分积生成单元,一个部分积累加阵列,一个累加单元,如图4所示。其中部分积生成单元和累加单元进行了特殊的设计,从而使32位乘法累加单元不但可以实现32位乘法累加运算和16位乘法累加运算,还可以工作在单指令多数据模式下,同时完成两次16位乘法累加运算。

 

 

工作在32位或16位模式下,所有的部分积是根据输入32位数译码出来的值。工作在单指令多数据模式下,部分积生成单元把示意图中未填充部分置零,填充部分生成两个16×16的部分积。这样,通过对部分积生成单元进行简单的改进,就可以在一个时钟周期内实现两次16位的乘法累加运算,增加了数据吞吐量。这在目前的DSP应用中是非常重要的。

四、结论
  本文提出了一种增加DSP指令编码密度的方法,采用模式控制的方法实现不同位宽的运算指令,从而把我们设计的DSP64条运算指令减少到32条。另外,本文提出了能实现不同位宽运算的数据通道,一种是可重构的乘法累加单元,一种是可分割的 乘法累加单元。均对其进行了模拟仿真。这两种数据通道对增加DSP的数据吞吐量(这是把DSP应用到多媒体中所必需的),提高DSP的运算性能有很好的作用。

参考文献

[1] Piia Simonen, Ilkka Saastamoinen etc, “Advanced instruction Set Architectures for Reducing Program Memory Usage in a DSP Processor”, Proceedings of the first IEEE international Workshop on Electronic Design, Test and Applications. 2002. pp865-867.
[2] Danny Crookes, “Architectures for high performance image processing: The future . Journal of Systems Architecture, 45 (1999) 739±748.

 


电子器件

 

 

 

关于网站 | 个人会员 | 企业会员 | 广告联系 | 在线帮助 | 网站地图 | 诚征代理 | 联系我们
    运营总代理:北京火山动力网络技术有限公司
北京光宇华夏科技有限责任公司
Copyright @2000-2006
京ICP证010181号