CN1521617A - 具有取模地址运算的数字信号处理器 - Google Patents

具有取模地址运算的数字信号处理器 Download PDF

Info

Publication number
CN1521617A
CN1521617A CNA031153720A CN03115372A CN1521617A CN 1521617 A CN1521617 A CN 1521617A CN A031153720 A CNA031153720 A CN A031153720A CN 03115372 A CN03115372 A CN 03115372A CN 1521617 A CN1521617 A CN 1521617A
Authority
CN
China
Prior art keywords
bus
address
door
input end
signal processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA031153720A
Other languages
English (en)
Other versions
CN1246770C (zh
Inventor
进 陈
陈进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University Han Yuan Technology Co., Ltd.
Shanghai Jiaotong University
Original Assignee
SHANGHAI HANXIN SEMICONDUCTOR TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI HANXIN SEMICONDUCTOR TECHNOLOGY Co Ltd filed Critical SHANGHAI HANXIN SEMICONDUCTOR TECHNOLOGY Co Ltd
Priority to CN 03115372 priority Critical patent/CN1246770C/zh
Publication of CN1521617A publication Critical patent/CN1521617A/zh
Application granted granted Critical
Publication of CN1246770C publication Critical patent/CN1246770C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

一种具有取模地址运算的数字信号处理器,在地址发生器单元中,由基址寄存器、变址寄存器和模式寄存器组成8组成可编程的寄存器组,并采用了加法器、取模用累加器和包括常数生成器、线性加法运算和取模运算选择器、越界判别器、两输入与门、三输入与门和两路复用器的结果选择判断逻辑模块。本发明采用了具有特定判别逻辑的地址发生器单元,不仅能完成普通的线性地址运算和取模运算,而且当变址偏移量值为取模运算下界值的正整数倍时,不用把模式从取模运算改成线性运算就能进行线性地址运算,而一旦下一个变址偏移量值不为取模运算下界值的正整数倍时,自动转换为取模运算模式,做到了零开销的模式转换功能。

Description

具有取模地址运算的数字信号处理器
技术领域:
本发明涉及一种数字信号处理器,尤其涉及一种具有取模地址运算的数字信号处理器,对数字信号处理器(DSP)内数字数据存储器访问地址的生成方式进行了创新,属于计算机数字信号处理技术领域。
背景技术:
本发明涉及的技术背景可以参考美国德州仪器公司TMS320C600数字信号处理器参考手册(TMS32C6000 CPU and Instruction Set Reference Guide)。
随着数字信号处理器的广泛应用和对其效率要求的不断提高,用更少的指令数完成同样的数字运算任务变得越来越重要。在现有的数字信号处理器中,地址发生单元支持多种不同的寻址方式已经成为一种例行的操作,但一般局限于直接线性加法运算和取模运算。按照例行的实现方式,直接线性加法运算就是把基址寄存器中的内容加上变址寄存器内的内容作为运算出的地址;取模运算就是把基址寄存器中的内容加上变址寄存器内的内容,然后根据模式寄存器内的值把所述加法结果的后k位进行取模,使得后k位的值在规定的上下界的范围之内。
现有的这种技术在变换模式的时候需要改变模式寄存器中的值,那么在程序中频繁改变模式寄存器内的值就是一种导致效率下降的因素。
举例来说,当处理并行的无限冲击响应滤波算法时,就需要在数字数据存储器的不同地址范围内执行相同的操作,如果与此同时由于整体程序的其他部分需要使用取模运算来计算访问数字数据存储器的。那么这个程序中频繁改变模式寄存器内的值就是一种导致效率下降的因素。数字信号处理器通常设计实施为具有有限的处理功能,但该功能必须重复执行且迅速执行,为了确保数字信号处理器高效率工作,通常需要减少循环内的指令数目。现有的数字信号处理器中需要较多的指令,这样芯片的效率就会下降。
发明内容:
本发明的目的在于针对现有技术的不足,提供一种具有取模地址运算的数字信号处理器,减少数字信号处理器在进行不同寻址模式转换时所需的指令,从而提高数字信号处理器运行效率。
为实现这样的目的,本发明在原有的基础上对取模运算进行了改进,即当进行取模运算时,变址寄存器内的值如果是取模地址范围下界值的正整数倍,那么并不进行取模运算而是采用直接线性加法运算。这种处理方式能够高效的在数字数据存储器的不同地址范围内执行相同的操作。在无需改变模式寄存器内容的条件下,可以进行取模运算和特定值的线性运算,运行速度快,工作效率高。这一点对于很多数字信号处理算法是非常有实用价值的。
本发明的数字信号处理器由数字信号处理器核心和数字数据存储器连接而成,其中数字信号处理器核心由程序控制单元、地址发生器单元、指令译码单元和数字数据处理单元组成。
以下所有连接关系除特别说明外为单向连接。
指令译码单元连接到程序控制单元。程序控制单元连接到地址发生器单元、指令译码单元和数字数据处理单元。数字数据处理单元双向连接到数字数据存储器。地址发生器单元通过地址总线连接到数字数据存储器,同时数字数据存储器通过数据总线连接到地址发生器单元、指令译码单元和数字数据处理单元。
指令译码单元把指令码翻译成数字信号处理器核心内部的代表指令意义的控制信号,这些所述的控制信号传输到程序控制单元,程序控制单元发出地址发生单元、指令译码单元和数字数据处理单元工作所需的控制信号。数字数据处理单元接受来自数字数据存储器的数据,对其进行运算。地址发生器单元进行地址运算,地址运算的结果通过地址总线送到数字数据存储器上。数字数据存储器,根据产生的地址把相应的数字数据放到数据总线上,从而送给地址发生器单元、指令译码单元和数据处理单元,为它们提供指令和操作数。
本发明采用了具有特定判别逻辑的地址发生器单元,包括可编程的由基址寄存器、变址寄存器和模式寄存器组成的8组寄存器组、加法器、取模用累加器和结果选择判断逻辑模块。基址寄存器组和变址寄存器组被连接到加法器的两个输入端,同时基址寄存器组、变址寄存器组和模式寄存器组连接到取模用累加器上。基址寄存器组、变址寄存器组、模式寄存器组、加法器的输出和累加器的输出连接到选择结果判断逻辑模块。
同一组内的基址寄存器的内容和变址寄存器的内容作为两个输入数字信号被传输到加法器的输入端,加法器经过运算得到第一个中间结果,同时把同一组内的基址寄存器的内容、变址寄存器和模式寄存器内的值作为输入连结到取模用累加器上运算得到第二个中间结果。结果选择判断逻辑模块的输入值不仅有基址寄存器、模式寄存器的内容、所述的两个中间结果值还有变址寄存器的内容。这个结果选择判断逻辑模块用来决定选用第一个中间结果或者第二个中间结果作为最终的地址运算的结果。
在结果选择判断逻辑模块内部,包括常数生成器A、常数生成器B、线性加法运算和取模运算选择器、越界判别器、4个两输入与门,1个三输入与门和1个两路复用器。模式寄存器组的输出总线连接到线性加法运算和取模运算选择器、常数生成器A和常数生成器B的输入端,累加和总线和常数生成器A输出总线连接到一个两输入与门的输入端,基址寄存器总线和常数生成器A输出总线连接到一个两输入与门的输入端,加法和总线和常数生成器A输出总线连接到一个两输入与门的输入端。上述三个与门的输出连接到越界判别器上。变址寄存器输出总线和常数生成器B连接到一个两输入与门的输入端。上述与门的输出端、越界判别器的输出端,以及线性加法运算和取模运算选择器的输出端连接到一个三输入与门的输入端,三输入与门的输出端连接到复用器的控制信号端,累加和总线和加法和总线连接到复用器的输入端,复用器的输出端就是生成的地址。
所述的结果选择判断逻辑模块把变址寄存器内的值和由模式寄存器的值决定的地址范围的下界的正整数倍进行比较,如果比较的结果一致那就自动把线性加法运算的结果作为这次地址运算的结果而不再考虑其他的选择因素。
本发明所涉及的数字信号处理器的地址发生器单元,不仅能完成普通的线性地址运算和取模运算,而且当变址偏移量值为取模运算下界值的正整数倍时,不用把模式从取模运算改成线性运算就能进行线性地址运算,反之一旦下一个变址偏移量值不为取模运算下界值的正整数倍时,自动转换为取模运算模式。这样就作到了零开销的模式转换功能。
附图说明:
图1是本发明的数字信号处理器的结构框图。
图1中描述了本发明的数字信号处理器中各个组成模块的连接关系。如图1所示,本发明的数字信号处理器由数字信号处理器核心5和数字数据存储器6连接而成,其中数字信号处理器核心5由程序控制单元1、地址发生器单元2、指令译码单元3和数字数据处理单元4组成。
图2是本发明数字信号处理器中地址发生器单元的结构框图。
如图2所示,地址发生器单元2包括由基址寄存器组7、变址寄存器组8和模式寄存器组9组成的8组寄存器组、加法器11、累加器10和结果选择判断逻辑模块12。图中各单元的连接通过变址总线13、模式总线14、加法和总线15、累加和总线16和基址总线17。
图3是本发明地址发生器单元中结果选择判断逻辑模块的结构框图。
如图3所示,结果选择判断逻辑模块12包括常数生成器A18、常数生成器B23、线性加法运算和取模运算选择器26、越界判别器25、4个两输入与门20、21、24、22,1个三输入与门27和1个两路复用器28。
具体实施方式:
以下结合附图对本发明的具体实施方式作进一步详细说明。
以下所有连接关系除特别说明外为单向连接。
如图1所示,指令译码单元3连接到程序控制单元1。程序控制单元1与地址发生单元2、指令译码单元3和数字数据处理单元4相连接。数字数据处理单元4双向连接到数字数据存储器6。地址发生器单元2通过地址总线连接到数字数据存储器6,同时数字数据存储器6通过数据总线连接到地址发生器单元2、指令译码单元3和数字数据处理单元4。
指令译码单元3把指令码翻译成数字信号处理器核心5内部的代表指令意义的控制信号,程序控制单元1发出控制地址发生单元2、指令译码单元3和数字数据处理单元4工作所需的控制信号。数字数据处理单元4,接受来自数字数据存储器6的数据,对其进行运算。地址发生器单元2进行地址运算,地址运算的结果通过地址总线送到数字数据存储器6上。数字数据存储器6连接到地址发生器单元2,根据产生的地址把相应的数字数据放到数据总线上,所述的数据总线连接到指令译码单元3和数据处理单元4,为它们提供指令和操作数。
参照图2,在地址发生器单元2中,基址寄存器组7的输出信号和变址寄存器组8的信号连接加法器11的两个输入端。基址寄存器组7的输出信号、变址寄存器组8的输出信号以及模式寄存器组9的输出信号连接到累加器10的三个输入端,同时,上述参与加法运算和累加运算的基址寄存器、变址寄存器和模式寄存器分别通过基址总线17、变址总线13和模式总线14连接到结果选择判断逻辑模块12。
在地址发生器单元2中,把基址寄存器组7中的一个数据和变址寄存器组8中的一个数据送到加法器11的两个输入端,加法器11对这两个数进行一次全加操作,并把结果放到加法和总线15上。基址寄存器组7中的上述数据、变址寄存器组8中的上述数据以及模式寄存器组9中的一个数据被传送到累加器10的三个输入端,累加器10根据变址寄存器组8中的数字数据是正整数还是负整数来决定自己的操作。如果变址寄存器组8中的数字数据是正整数,那么累加器10需要把所述的模式寄存器组9传来的数据进行绝对值不变的变负数操作,然后才能进行累加操作。如果变址寄存器组8中的数字数据是负整数,那么所述的模式寄存器组9传来的数据可以直接被用来进行累加操作。累加的结果被送到累加和总线16上。同时,把上述参与加法运算和累加运算的基址值、变址值和模式值分别通过基址总线17、变址总线13和模式总线14送往结果选择判断逻辑模块12。结果选择判断逻辑模块12用来选择使用加法和总线15上的数据还是累加和总线16上的数据作为最后的地址值。
参照图3,模式寄存器组的输出总线14连接到线性加法运算和取模运算选择器26、常数生成器A18和常数生成器B23的输入端,累加和总线16和常数生成器A18输出总线连接到两输入与门20的输入端,基址寄存器总线17和常数生成器A18输出总线连接到两输入与门21的输入端,加法和总线15和常数生成器A18输出总线连接到两输入与门24的输入端。上述三个与门的输出连接到越界判别器25上。变址寄存器输出总线13和常数生成器B23连接到两输入与门22的输入端。上述与门22的输出端、越界判别器25的输出端,以及线性加法运算和取模运算选择器26的输出端连接到三输入与门27的输入端,三输入与门27的输出端连接到复用器28的控制信号端,累加和总线16和加法和总线15连接到复用器的输入端,复用器的输出端就是生成的地址。
在结果选择判断逻辑模块12中,常数生成器A18和常数生成器B23的常数都是根据模式总线14中的值生成一个常数。在常数生成器A23中,如果模式总线14中的数据有效数字是k位,那么常数生成器A23生成的常数的最低k位信号为1,其余信号位为0,比如模式总线14中的数据为0001000101,那么常数生成器A23生成的常数(假设为16位)为0000000001111111。在常数生成器A18中,如果模式总线14中的数据有效数字是k位,那么常数生成器A18生成的常数第k+1位为1,其余信号位为0,比如模式总线14中的数据为0001000101,那么常数生成器A18生成的常数(假设为16位)为0000000010000000。常数生成器A18生成的常数和累加和总线16上的数据进行逻辑与操作得到累加和总线16的上述第k+1位。常数生成器A18生成的常数和加法和总线15上的数据进行逻辑与操作得到加法和总线15的上述第k+1位。常数生成器A18生成的常数和基址总线17上的数据进行逻辑与操作得到基址总线17的上述第k+1位。
在越界判别器25中,如果变址寄存器组8中的数字数据是负整数,那么加法和总线15的上述第k+1位和基址总线17的上述第k+1位进行逻辑异或操作,结果为1时表示越界;如果变址寄存器组8中的数字数据是正整数,那么累加和总线16的上述第k+1位和基址总线17的上述第k+1位进行逻辑异或操作,结果为1时表示越界。越界时,越界判别器25的输出结果为1。
线性加法运算和取模运算选择器26,根据模式总线14上的数据决定是否进行取模运算,当模式总线14上的信号为非全零,选择的模式为取模运算。反之为线性加法运算。输出1表示取模运算。
常数生成器B23生成的常数和变址总线13上的数据进行逻辑与操作得到变址总线13的最低k位。如果所述最低k位为零,表示变址总线13上的值是2的k次幂的正整数倍,那么地址运算进入特殊模式,不再使用取模运算的结果。特殊模式用输出1表示。
在与逻辑门27中,如果输入表示是取模运算,已经越界并且不是特殊模式,那么与逻辑门27的输出为1。
二路复用器28中,输入选择信号为1时,选择累加和总线16上的数据作为最终地址运算结果,反之,选择加法和总线15上的数据作为最终地址运算结果。

Claims (2)

1、一种具有取模地址运算的数字信号处理器,包括由程序控制单元(1)、地址发生器单元(2)、指令译码单元(3)和数字数据处理单元(4)组成的数字信号处理器核心(5)和数字数据存储器(6),其特征在于程序控制单元(1)与地址发生单元(2)、指令译码单元(3)和数字数据处理单元(4)相连接,数字数据处理单元(4)双向连接到数字数据存储器(6),地址发生器单元(2)中,由基址寄存器组(7)、变址寄存器组(8)和模式寄存器组(9)组成8组寄存器组,基址寄存器组(7)和变址寄存器组(8)的输出连接加法器(11)的两个输入端,基址寄存器组(7)、变址寄存器组(8)及模式寄存器组(9)的输出信号连接累加器(10)的三个输入端,基址寄存器、变址寄存器和模式寄存器分别通过基址总线(17)、变址总线(13)和模式总线(14)连接结果选择判断逻辑模块(12),由结果选择判断逻辑模块(12)选择使用加法和总线(15)上的数据或累加和总线(16)上的数据作为最后的地址值。
2、如权利要求1所说的具有取模地址运算的数字信号处理器,其特征在于结果选择判断逻辑模块(12)中,模式总线(14)连接到线性加法运算和取模运算选择器(26)、常数生成器A(18)和常数生成器B(23)的输入端,累加和总线(16)和常数生成器A(18)连接两输入与门(20)的输入端,基址总线(17)和常数生成器A(18)连接两输入与门(21)的输入端,加法和总线(15)和常数生成器A(18)连接两输入与门(24)的输入端,上述三个与门(20、21、24)的输出连接到越界判别器(25)上,变址总线13和常数生成器B(23)连接两输入与门(22)的输入端,与门(22)、越界判别器(25)及线性加法运算和取模运算选择器(26)的输出端连接三输入与门(27)的输入端,三输入与门(27)的输出端连接到复用器(28)的控制信号端,累加和总线(16)和加法和总线(15)连接到复用器(28)的输入端,复用器(28)输出生成的地址。
CN 03115372 2003-02-13 2003-02-13 具有取模地址运算的数字信号处理器 Expired - Fee Related CN1246770C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03115372 CN1246770C (zh) 2003-02-13 2003-02-13 具有取模地址运算的数字信号处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03115372 CN1246770C (zh) 2003-02-13 2003-02-13 具有取模地址运算的数字信号处理器

Publications (2)

Publication Number Publication Date
CN1521617A true CN1521617A (zh) 2004-08-18
CN1246770C CN1246770C (zh) 2006-03-22

Family

ID=34284262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03115372 Expired - Fee Related CN1246770C (zh) 2003-02-13 2003-02-13 具有取模地址运算的数字信号处理器

Country Status (1)

Country Link
CN (1) CN1246770C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061460B (zh) * 2004-09-21 2011-03-30 Nxp股份有限公司 用于混移运算的微处理器设备和方法
CN112699058A (zh) * 2020-12-31 2021-04-23 深圳大普微电子科技有限公司 适用于循环神经网络的寻址方法、装置、加速器以及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061460B (zh) * 2004-09-21 2011-03-30 Nxp股份有限公司 用于混移运算的微处理器设备和方法
CN112699058A (zh) * 2020-12-31 2021-04-23 深圳大普微电子科技有限公司 适用于循环神经网络的寻址方法、装置、加速器以及介质
CN112699058B (zh) * 2020-12-31 2023-12-29 深圳大普微电子科技有限公司 适用于循环神经网络的寻址方法、装置、加速器以及介质

Also Published As

Publication number Publication date
CN1246770C (zh) 2006-03-22

Similar Documents

Publication Publication Date Title
JP2021524082A (ja) ニューラル・ネットワーク処理要素
CN1142484C (zh) 微处理器向量处理方法
CN102508643A (zh) 一种多核并行数字信号处理器及并行指令集的运行方法
TW200949691A (en) Microprocessor techniques for real time signal processing and updating
CN102945224A (zh) 基于fpga的高速可变点fft处理器及其处理方法
CN102122275A (zh) 一种可配置处理器
CN102306141B (zh) 一种描述动态可重构阵列配置信息的方法
WO2021057085A1 (zh) 一种基于混合精度存储的深度神经网络加速器
CN101859241B (zh) 基于全展开的全流水128位精度浮点累加器
Lin et al. Reconfigurable buses with shift switching: Concepts and applications
CN101478311B (zh) bzip2压缩算法硬件加速实现方法
CN110348249A (zh) 一种基于存储器内计算的处理器结构
CN101211256A (zh) 一种专用双流水线risc指令系统及其操作方法
CN1246770C (zh) 具有取模地址运算的数字信号处理器
CN106843803A (zh) 一种基于归并树的全排序加速器及应用
CN1319801A (zh) 用于循环冗余校验的有效计算方法及装置
CN117271953A (zh) 一种用于优化快速傅里叶变换的存内计算加速电路及方法
CN1297899C (zh) 数字图像匹配芯片
Angizi et al. Processing-in-memory acceleration of mac-based applications using residue number system: A comparative study
CN101206561B (zh) 一种专用运算单元alu
CN210109789U (zh) 数据处理器
CN104317554A (zh) 用于simd处理器的寄存器文件数据读写装置和方法
CN209879493U (zh) 乘法器
CN209895329U (zh) 乘法器
Verbauwhede et al. A low power DSP engine for wireless communications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHANGHAI JIAOTONG UNIV.; APPLICANT

Free format text: FORMER OWNER: SHANGHAI HANXIN SEMICONDUCTOR TECHNOLOGY CO., LTD.

Effective date: 20051021

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20051021

Address after: 200240 No. 800, Dongchuan Road, Shanghai, Minhang District

Applicant after: Shanghai Jiao Tong University

Co-applicant after: Shanghai Jiaotong University Han Yuan Technology Co., Ltd.

Address before: 201109 Shanghai Jianchuan Road No. 468

Applicant before: Shanghai Hanxin Semiconductor Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060322