[go: up one dir, main page]

CN1246770C - Digital signal processor with modulus address arithmetic - Google Patents

Digital signal processor with modulus address arithmetic Download PDF

Info

Publication number
CN1246770C
CN1246770C CN 03115372 CN03115372A CN1246770C CN 1246770 C CN1246770 C CN 1246770C CN 03115372 CN03115372 CN 03115372 CN 03115372 A CN03115372 A CN 03115372A CN 1246770 C CN1246770 C CN 1246770C
Authority
CN
China
Prior art keywords
bus
address
register group
output
digital data
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.)
Expired - Fee Related
Application number
CN 03115372
Other languages
Chinese (zh)
Other versions
CN1521617A (en
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 Jiao Tong University
Original Assignee
Shanghai Jiaotong University Han Yuan Technology Co Ltd
Shanghai Jiao Tong University
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 Jiaotong University Han Yuan Technology Co Ltd, Shanghai Jiao Tong University filed Critical Shanghai Jiaotong University Han Yuan Technology Co Ltd
Priority to CN 03115372 priority Critical patent/CN1246770C/en
Publication of CN1521617A publication Critical patent/CN1521617A/en
Application granted granted Critical
Publication of CN1246770C publication Critical patent/CN1246770C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Figure 03115372

A digital signal processor with modulo address operation. In the address generator unit, a programmable register group consisting of 8 base address registers, index registers and mode registers is used, and an adder and an accumulator for modulus are used. A device and a result selection judgment logic module including a constant generator, a linear addition operation and a modulo operation selector, an out-of-bounds discriminator, a two-input AND gate, a three-input AND gate and two multiplexers. The present invention adopts the address generator unit with specific discrimination logic, not only can complete ordinary linear address operation and modulus operation, but also when the index offset value is a positive integer multiple of the lower limit value of modulo operation, it is not necessary to set the mode The linear address operation can be performed by changing from the modulo operation to the linear operation, and once the next index offset value is not a positive integer multiple of the lower limit value of the modulo operation, it will automatically switch to the modulo operation mode, achieving zero overhead mode switching function.

Figure 03115372

Description

具有取模地址运算的数字信号处理器Digital signal processor with modulo address operation

技术领域:Technical field:

本发明涉及一种数字信号处理器,尤其涉及一种具有取模地址运算的数字信号处理器,对数字信号处理器(DSP)内数字数据存储器访问地址的生成方式进行了创新,属于计算机数字信号处理技术领域。The invention relates to a digital signal processor, in particular to a digital signal processor with modulo address calculation, which innovates the generation method of the digital data memory access address in the digital signal processor (DSP), and belongs to computer digital signal Dealing with technical fields.

背景技术:Background technique:

本发明涉及的技术背景可以参考美国德州仪器公司TMS320C600数字信号处理器参考手册(TMS32C6000 CPU and Instruction Set Reference Guide)。The technical background related to the present invention can refer to TMS320C600 digital signal processor reference manual (TMS32C6000 CPU and Instruction Set Reference Guide) of Texas Instruments Corporation.

随着数字信号处理器的广泛应用和对其效率要求的不断提高,用更少的指令数完成同样的数字运算任务变得越来越重要。在现有的数字信号处理器中,地址发生单元支持多种不同的寻址方式已经成为一种例行的操作,但一般局限于直接线性加法运算和取模运算。按照例行的实现方式,直接线性加法运算就是把基址寄存器中的内容加上变址寄存器内的内容作为运算出的地址;取模运算就是把基址寄存器中的内容加上变址寄存器内的内容,然后根据模式寄存器内的值把所述加法结果的后k位进行取模,使得后k位的值在规定的上下界的范围之内。With the wide application of digital signal processors and the continuous improvement of their efficiency requirements, it is becoming more and more important to complete the same numerical calculation tasks with fewer instructions. In existing digital signal processors, it has become a routine operation for the address generation unit to support multiple different addressing modes, but it is generally limited to direct linear addition operations and modulo operations. According to the routine implementation method, the direct linear addition operation is to add the contents of the base register to the contents of the index register as the calculated address; the modulo operation is to add the contents of the base register to the contents of the index register and then modulo the last k bits of the addition result according to the value in the mode register, so that the value of the last k bits is within the specified upper and lower bounds.

现有的这种技术在变换模式的时候需要改变模式寄存器中的值,那么在程序中频繁改变模式寄存器内的值就是一种导致效率下降的因素。In the existing technology, the value in the mode register needs to be changed when the mode is changed, so frequently changing the value in the mode register in the program is a factor that leads to a decrease in efficiency.

举例来说,当处理并行的无限冲击响应滤波算法时,就需要在数字数据存储器的不同地址范围内执行相同的操作,如果与此同时由于整体程序的其他部分需要使用取模运算来计算访问数字数据存储器的。那么这个程序中频繁改变模式寄存器内的值就是一种导致效率下降的因素。数字信号处理器通常设计实施为具有有限的处理功能,但该功能必须重复执行且迅速执行,为了确保数字信号处理器高效率工作,通常需要减少循环内的指令数目。现有的数字信号处理器中需要较多的指令,这样芯片的效率就会下降。For example, when dealing with parallel infinite impulse response filtering algorithms, it is necessary to perform the same operation in different address ranges of digital data memory, if at the same time because other parts of the overall program need to use modulo operations to calculate access numbers data storage. Then frequently changing the value in the mode register in this program is a factor that leads to a decrease in efficiency. Digital signal processors are usually designed and implemented with limited processing functions, but this function must be executed repeatedly and quickly. In order to ensure high efficiency of digital signal processors, it is usually necessary to reduce the number of instructions in the loop. Existing digital signal processors need more instructions, so the efficiency of the chip will drop.

发明内容:Invention content:

本发明的目的在于针对现有技术的不足,提供一种具有取模地址运算的数字信号处理器,减少数字信号处理器在进行不同寻址模式转换时所需的指令,从而提高数字信号处理器运行效率。The purpose of the present invention is to address the deficiencies in the prior art, to provide a digital signal processor with modulo address operations, to reduce the number of instructions required by the digital signal processor when switching between different addressing modes, thereby improving the digital signal processor operating efficiency.

为实现这样的目的,本发明在原有的基础上对取模运算进行了改进,即当进行取模运算时,变址寄存器内的值如果是取模地址范围下界值的正整数倍,那么并不进行取模运算而是采用直接线性加法运算。这种处理方式能够高效的在数字数据存储器的不同地址范围内执行相同的操作。在无需改变模式寄存器内容的条件下,可以进行取模运算和特定值的线性运算,运行速度快,工作效率高。这一点对于很多数字信号处理算法是非常有实用价值的。In order to achieve such purpose, the present invention improves the modulus operation on the original basis, that is, when the modulus operation is performed, if the value in the index register is a positive integer multiple of the lower limit value of the modulo address range, then it is not Modulo operations are not performed but direct linear addition operations are used. This processing method can efficiently perform the same operation in different address ranges of the digital data memory. Under the condition of not needing to change the content of the mode register, the modulo operation and the linear operation of a specific value can be performed, and the operation speed is fast and the work efficiency is high. This is very useful for many digital signal processing algorithms.

本发明的数字信号处理器由数字信号处理器核心和数字数据存储器连接而成,其中数字信号处理器核心由程序控制单元、地址发生器单元、指令译码单元和数字数据处理单元组成。The digital signal processor of the present invention is formed by connecting a digital signal processor core and a digital data memory, wherein the digital signal processor core is composed of a program control unit, an address generator unit, an instruction decoding unit and a digital data processing unit.

以下所有连接关系除特别说明外为单向连接。All connections below are one-way connections unless otherwise specified.

指令译码单元连接到程序控制单元。程序控制单元连接到地址发生器单元、指令译码单元和数字数据处理单元。数字数据处理单元双向连接到数字数据存储器。地址发生器单元通过地址总线连接到数字数据存储器,同时数字数据存储器通过数据总线连接到地址发生器单元、指令译码单元和数字数据处理单元。The instruction decoding unit is connected to the program control unit. The program control unit is connected to the address generator unit, the instruction decoding unit and the digital data processing unit. The digital data processing unit is bidirectionally connected to the digital data memory. The address generator unit is connected to the digital data memory through the address bus, while the digital data memory is connected to the address generator unit, the instruction decoding unit and the digital data processing unit through the data bus.

指令译码单元把指令码翻译成数字信号处理器核心内部的代表指令意义的控制信号,这些所述的控制信号传输到程序控制单元,程序控制单元发出地址发生单元、指令译码单元和数字数据处理单元工作所需的控制信号。数字数据处理单元接受来自数字数据存储器的数据,对其进行运算。地址发生器单元进行地址运算,地址运算的结果通过地址总线送到数字数据存储器上。数字数据存储器,根据产生的地址把相应的数字数据放到数据总线上,从而送给地址发生器单元、指令译码单元和数据处理单元,为它们提供指令和操作数。The instruction decoding unit translates the instruction code into the control signal representing the meaning of the instruction inside the core of the digital signal processor, and these control signals are transmitted to the program control unit, and the program control unit sends out the address generating unit, the instruction decoding unit and the digital data Control signals required for the processing unit to work. The digital data processing unit accepts the data from the digital data memory and performs operations on it. The address generator unit performs address calculation, and the result of the address calculation is sent to the digital data memory through the address bus. The digital data memory puts the corresponding digital data on the data bus according to the generated address, so as to send it to the address generator unit, instruction decoding unit and data processing unit, and provide them with instructions and operands.

本发明采用了具有特定判别逻辑的地址发生器单元,包括可编程的由基址寄存器、变址寄存器和模式寄存器组成的8组寄存器组、加法器、取模用累加器和结果选择判断逻辑模块。基址寄存器组和变址寄存器组被连接到加法器的两个输入端,同时基址寄存器组、变址寄存器组和模式寄存器组连接到取模用累加器上。基址寄存器组、变址寄存器组、模式寄存器组、加法器的输出和累加器的输出连接到选择结果判断逻辑模块。The present invention adopts the address generator unit with specific discrimination logic, including programmable 8 groups of register groups composed of base address register, index register and mode register, adder, modulus accumulator and result selection judgment logic module . The set of base registers and the set of index registers are connected to the two inputs of the adder, while the set of base registers, the set of index registers and the set of mode registers are connected to the modulo accumulator. The base address register group, the index register group, the mode register group, the output of the adder and the output of the accumulator are connected to the selection result judging logic module.

同一组内的基址寄存器的内容和变址寄存器的内容作为两个输入数字信号被传输到加法器的输入端,加法器经过运算得到第一个中间结果,同时把同一组内的基址寄存器的内容、变址寄存器和模式寄存器内的值作为输入连结到取模用累加器上运算得到第二个中间结果。结果选择判断逻辑模块的输入值不仅有基址寄存器、模式寄存器的内容、所述的两个中间结果值还有变址寄存器的内容。这个结果选择判断逻辑模块用来决定选用第一个中间结果或者第二个中间结果作为最终的地址运算的结果。The contents of the base register and the index register in the same group are transmitted to the input terminal of the adder as two input digital signals. The contents of the index register and the value in the mode register are connected to the modulo accumulator as input to obtain the second intermediate result. The input values of the result selection judgment logic module include not only the content of the base address register, the mode register, the two intermediate result values but also the content of the index register. The result selection judging logic module is used to decide whether to select the first intermediate result or the second intermediate result as the final address operation result.

在结果选择判断逻辑模块内部,包括常数生成器A、常数生成器B、线性加法运算和取模运算选择器、越界判别器、4个两输入与门,1个三输入与门和1个两路复用器。模式寄存器组的输出总线连接到线性加法运算和取模运算选择器、常数生成器A和常数生成器B的输入端,累加和总线和常数生成器A输出总线连接到一个两输入与门的输入端,基址寄存器总线和常数生成器A输出总线连接到一个两输入与门的输入端,加法和总线和常数生成器A输出总线连接到一个两输入与门的输入端。上述三个与门的输出连接到越界判别器上。变址寄存器输出总线和常数生成器B连接到一个两输入与门的输入端。上述与门的输出端、越界判别器的输出端,以及线性加法运算和取模运算选择器的输出端连接到一个三输入与门的输入端,三输入与门的输出端连接到复用器的控制信号端,累加和总线和加法和总线连接到复用器的输入端,复用器的输出端就是生成的地址。Inside the result selection judgment logic module, it includes a constant generator A, a constant generator B, a linear addition operation and a modulo operation selector, an out-of-bounds discriminator, four two-input AND gates, one three-input AND gate and one two-input AND gate. multiplexer. The output bus of the mode register bank is connected to the input of the linear addition and modulo operation selector, the constant generator A and the constant generator B, and the sum bus and the constant generator A output bus are connected to the input of a two-input AND gate terminal, the base address register bus and the constant generator A output bus are connected to the input of a two-input AND gate, and the sum bus and the constant generator A output bus are connected to the input of a two-input AND gate. The outputs of the above three AND gates are connected to the out-of-bounds discriminator. The index register output bus and constant generator B are connected to the input of a two-input AND gate. The output end of the above-mentioned AND gate, the output end of the out-of-bounds discriminator, and the output end of the linear addition operation and the modulo operation selector are connected to the input end of a three-input AND gate, and the output end of the three-input AND gate is connected to the multiplexer The control signal end of the accumulative sum bus and the summative sum bus are connected to the input of the multiplexer, and the output of the multiplexer is the generated address.

所述的结果选择判断逻辑模块把变址寄存器内的值和由模式寄存器的值决定的地址范围的下界的正整数倍进行比较,如果比较的结果一致那就自动把线性加法运算的结果作为这次地址运算的结果而不再考虑其他的选择因素。程序控制单元直接控制地址发生器单元中的基址寄存器组、变址寄存器组及模式寄存器组的输出,结果选择判断逻辑模块的输出与数字数据存储器相连。The described result selection judgment logic module compares the value in the index register with the positive integer multiple of the lower limit of the address range determined by the value of the mode register, and if the result of the comparison is consistent, the result of the linear addition operation is automatically used as this The result of the secondary address operation without considering other selection factors. The program control unit directly controls the output of the base address register group, the index register group and the mode register group in the address generator unit, and the output of the result selection and judgment logic module is connected with the digital data memory.

本发明所涉及的数字信号处理器的地址发生器单元,不仅能完成普通的线性地址运算和取模运算,而且当变址偏移量值为取模运算下界值的正整数倍时,不用把模式从取模运算改成线性运算就能进行线性地址运算,反之一旦下一个变址偏移量值不为取模运算下界值的正整数倍时,自动转换为取模运算模式。这样就作到了零开销的模式转换功能。The address generator unit of the digital signal processor involved in the present invention can not only complete the ordinary linear address operation and the modulus operation, but also when the index offset value is a positive integer multiple of the lower limit value of the modulo operation, it is not necessary to The linear address operation can be performed by changing the mode from modulo operation to linear operation. On the contrary, once the next index offset value is not a positive integer multiple of the lower limit value of modulo operation, it will automatically switch to modulo operation mode. In this way, a zero-overhead mode conversion function is achieved.

附图说明:Description of drawings:

图1是本发明的数字信号处理器的结构框图。Fig. 1 is a structural block diagram of a digital signal processor of the present invention.

图1中描述了本发明的数字信号处理器中各个组成模块的连接关系。如图1所示,本发明的数字信号处理器由数字信号处理器核心5和数字数据存储器6连接而成,其中数字信号处理器核心5由程序控制单元1、地址发生器单元2、指令译码单元3和数字数据处理单元4组成。FIG. 1 describes the connection relationship of each component module in the digital signal processor of the present invention. As shown in Figure 1, the digital signal processor of the present invention is formed by connecting a digital signal processor core 5 and a digital data memory 6, wherein the digital signal processor core 5 is composed of a program control unit 1, an address generator unit 2, an instruction translator The code unit 3 and the digital data processing unit 4 are composed.

图2是本发明数字信号处理器中地址发生器单元的结构框图。Fig. 2 is a structural block diagram of the address generator unit in the digital signal processor of the present invention.

如图2所示,地址发生器单元2包括由基址寄存器组7、变址寄存器组8和模式寄存器组9组成的8组寄存器组、加法器11、累加器10和结果选择判断逻辑模块12。图中各单元的连接通过变址总线13、模式总线14、加法和总线15、累加和总线16和基址总线17。As shown in Figure 2, the address generator unit 2 includes 8 groups of register groups, an adder 11, an accumulator 10 and a result selection judgment logic module 12 made up of a base address register group 7, an index register group 8 and a mode register group 9 . Each unit in the figure is connected through an index bus 13 , a mode bus 14 , an addition sum bus 15 , an accumulation sum bus 16 and a base address bus 17 .

图3是本发明地址发生器单元中结果选择判断逻辑模块的结构框图。Fig. 3 is a structural block diagram of the result selection judgment logic module in the address generator unit of the present invention.

如图3所示,结果选择判断逻辑模块12包括常数生成器A18、常数生成器B23、线性加法运算和取模运算选择器26、越界判别器25、4个两输入与门20、21、24、22,1个三输入与门27和1个两路复用器28。As shown in Figure 3, the result selection judgment logic module 12 includes a constant generator A18, a constant generator B23, a linear addition operation and a modulo operation selector 26, an out-of-bounds discriminator 25, and four two-input AND gates 20, 21, 24 , 22, a three-input AND gate 27 and a two-way multiplexer 28.

具体实施方式:Detailed ways:

以下结合附图对本发明的具体实施方式作进一步详细说明。The specific implementation manners of the present invention will be described in further detail below in conjunction with the accompanying drawings.

以下所有连接关系除特别说明外为单向连接。All connections below are one-way connections unless otherwise specified.

如图1所示,指令译码单元3连接到程序控制单元1。程序控制单元1与地址发生单元2、指令译码单元3和数字数据处理单元4相连接。数字数据处理单元4双向连接到数字数据存储器6。地址发生器单元2通过地址总线连接到数字数据存储器6,同时数字数据存储器6通过数据总线连接到地址发生器单元2、指令译码单元3和数字数据处理单元4。As shown in FIG. 1 , the instruction decoding unit 3 is connected to the program control unit 1 . Program control unit 1 is connected with address generation unit 2 , instruction decoding unit 3 and digital data processing unit 4 . The digital data processing unit 4 is bidirectionally connected to a digital data memory 6 . The address generator unit 2 is connected to the digital data memory 6 through the address bus, while the digital data memory 6 is connected to the address generator unit 2, the instruction decoding unit 3 and the digital data processing unit 4 through the data bus.

指令译码单元3把指令码翻译成数字信号处理器核心5内部的代表指令意义的控制信号,程序控制单元1发出控制地址发生单元2、指令译码单元3和数字数据处理单元4工作所需的控制信号。数字数据处理单元4,接受来自数字数据存储器6的数据,对其进行运算。地址发生器单元2进行地址运算,地址运算的结果通过地址总线送到数字数据存储器6上。数字数据存储器6连接到地址发生器单元2,根据产生的地址把相应的数字数据放到数据总线上,所述的数据总线连接到指令译码单元3和数据处理单元4,为它们提供指令和操作数。The instruction decoding unit 3 translates the instruction code into the control signal representing the meaning of the instruction inside the digital signal processor core 5, and the program control unit 1 sends out the control address generating unit 2, the instruction decoding unit 3 and the digital data processing unit 4. control signal. The digital data processing unit 4 receives data from the digital data memory 6 and performs operations on it. The address generator unit 2 performs address calculation, and the result of the address calculation is sent to the digital data memory 6 through the address bus. Digital data memory 6 is connected to address generator unit 2, puts corresponding digital data on the data bus according to the address produced, and described data bus is connected to instruction decoding unit 3 and data processing unit 4, provides instruction and operand.

参照图2,在地址发生器单元2中,基址寄存器组7的输出信号和变址寄存器组8的信号连接加法器11的两个输入端。基址寄存器组7的输出信号、变址寄存器组8的输出信号以及模式寄存器组9的输出信号连接到累加器10的三个输入端,同时,上述参与加法运算和累加运算的基址寄存器、变址寄存器和模式寄存器分别通过基址总线17、变址总线13和模式总线14连接到结果选择判断逻辑模块12。Referring to FIG. 2 , in the address generator unit 2 , the output signal of the base address register group 7 and the signal of the index register group 8 are connected to two input terminals of the adder 11 . The output signal of the base address register group 7, the output signal of the index register group 8 and the output signal of the mode register group 9 are connected to three input terminals of the accumulator 10, and at the same time, the above-mentioned base address registers, The index register and the mode register are respectively connected to the result selection judgment logic module 12 through the base address bus 17 , the index bus 13 and the mode bus 14 .

在地址发生器单元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上的数据作为最后的地址值。In the address generator unit 2, a data in the base address register group 7 and a data in the index register group 8 are sent to the two input ends of the adder 11, and the adder 11 performs a full operation on these two numbers. Add operation, and put the result on the sum bus 15. The above-mentioned data in the base address register group 7, the above-mentioned data in the index register group 8 and a data in the mode register group 9 are transmitted to three input terminals of the accumulator 10, and the accumulator 10 is based on the data in the index register group 8. Whether the numeric data in the array is a positive integer or a negative integer determines its own operation. If the digital data in the index register group 8 is a positive integer, the accumulator 10 needs to carry out the operation of changing the negative number with the absolute value unchanged to the data transmitted from the mode register group 9, and then the accumulation operation can be performed. If the digital data in the index register group 8 is a negative integer, then the data transmitted from the mode register group 9 can be directly used for accumulation operation. The accumulated result is sent to the accumulated sum bus 16 . At the same time, the base address value, index value and mode value involved in the addition and accumulation operations are sent to the result selection and judgment logic module 12 through the base address bus 17, the index bus 13 and the mode bus 14 respectively. The result selection judging logic module 12 is used to select whether to use the data on the sum bus 15 or the data on the sum bus 16 as the final address value.

参照图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连接到复用器的输入端,复用器的输出端就是生成的地址。With reference to Fig. 3, the output bus 14 of mode register group is connected to the input end of linear addition operation and modulus operation selector 26, constant generator A18 and constant generator B23, and the cumulative sum bus 16 and constant generator A18 output bus are connected to The input end of two-input AND gate 20, base address register bus 17 and constant generator A18 output bus are connected to the input end of two-input AND gate 21, addition and bus 15 and constant generator A18 output bus are connected to two-input AND gate 24 input terminal. The outputs of the above three AND gates are connected to the boundary-crossing discriminator 25 . The index register output bus 13 and the constant generator B23 are connected to the input terminals of the two-input AND gate 22 . The output end of the above-mentioned AND gate 22, the output end of the cross-border discriminator 25, and the output end of the linear addition operation and the modulus operation selector 26 are connected to the input end of the three-input AND gate 27, and the output end of the three-input AND gate 27 is connected To the control signal terminal of the multiplexer 28, the sum bus 16 and the sum bus 15 are connected to the input of the multiplexer, and the output of the multiplexer is the generated address.

在结果选择判断逻辑模块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位。In the result selection judgment logic module 12 , the constants of the constant generator A18 and the constant generator B23 both generate a constant according to the value in the mode bus 14 . In the constant generator A23, if the data significant figure in the mode bus 14 is k bits, the lowest k-bit signal of the constant generated by the constant generator A23 is 1, and the remaining signal bits are 0, such as the data in the mode bus 14 is 0001000101, then the constant (assumed to be 16 bits) generated by the constant generator A23 is 0000000001111111. In the constant generator A18, if the significant number of data in the mode bus 14 is k bits, the k+1th bit of the constant generated by the constant generator A18 is 1, and the remaining signal bits are 0, such as the data in the mode bus 14 is 0001000101, then the constant (assumed to be 16 bits) generated by the constant generator A18 is 0000000010000000. The constant generated by the constant generator A18 and the data on the cumulative sum bus 16 are logically ANDed to obtain the k+1th bit of the cumulative sum bus 16 . The constant generated by the constant generator A18 is logically ANDed with the data on the sum bus 15 to obtain the k+1th bit of the sum bus 15 . The constant generated by the constant generator A18 is logically ANDed with the data on the base address bus 17 to obtain the k+1th bit of the base address bus 17 .

在越界判别器25中,如果变址寄存器组8中的数字数据是负整数,那么加法和总线15的上述第k+1位和基址总线17的上述第k+1位进行逻辑异或操作,结果为1时表示越界;如果变址寄存器组8中的数字数据是正整数,那么累加和总线16的上述第k+1位和基址总线17的上述第k+1位进行逻辑异或操作,结果为1时表示越界。越界时,越界判别器25的输出结果为1。In the cross-border discriminator 25, if the digital data in the index register group 8 is a negative integer, then the above-mentioned k+1th bit of the addition and bus 15 and the above-mentioned k+1th bit of the base address bus 17 carry out a logical XOR operation , when the result is 1, it means out of bounds; if the digital data in the index register group 8 is a positive integer, then the above-mentioned k+1th bit of the cumulative sum bus 16 and the above-mentioned k+1th bit of the base address bus 17 perform a logical XOR operation , when the result is 1, it means out of bounds. When out of bounds, the output result of the out of bounds discriminator 25 is 1.

线性加法运算和取模运算选择器26,根据模式总线14上的数据决定是否进行取模运算,当模式总线14上的信号为非全零,选择的模式为取模运算。反之为线性加法运算。输出1表示取模运算。The linear addition operation and modulo operation selector 26 determines whether to perform modulo operation according to the data on the mode bus 14. When the signal on the mode bus 14 is non-zero, the selected mode is modulo operation. Otherwise, it is a linear addition operation. Output 1 means modulo operation.

常数生成器B23生成的常数和变址总线13上的数据进行逻辑与操作得到变址总线13的最低k位。如果所述最低k位为零,表示变址总线13上的值是2的k次幂的正整数倍,那么地址运算进入特殊模式,不再使用取模运算的结果。特殊模式用输出1表示。The constant generated by the constant generator B23 is logically ANDed with the data on the index bus 13 to obtain the lowest k bits of the index bus 13 . If the lowest k bits are zero, it means that the value on the index bus 13 is a positive integer multiple of the k power of 2, then the address operation enters a special mode, and the result of the modulo operation is no longer used. Special modes are indicated by output 1.

在与逻辑门27中,如果输入表示是取模运算,已经越界并且不是特殊模式,那么与逻辑门27的输出为1。In the AND logic gate 27, if the input represents a modulo operation, has crossed the boundary and is not a special mode, then the output of the AND logic gate 27 is 1.

二路复用器28中,输入选择信号为1时,选择累加和总线16上的数据作为最终地址运算结果,反之,选择加法和总线15上的数据作为最终地址运算结果。In the two-way multiplexer 28, when the input selection signal is 1, the data on the sum bus 16 is selected as the final address calculation result; otherwise, the data on the sum bus 15 is selected as the final address calculation result.

Claims (2)

1, a kind of digital signal processor with modulus address computing, comprise digital signal processor cores get (5) and the digital data memory (6) formed by procedure control unit (1), address generator unit (2), instruction decoding unit (3) and digital data processing unit (4), it is characterized in that procedure control unit (1) is connected with address generator unit (2), instruction decoding unit (3) and digital data processing unit (4), the two-way digital data memory (6) that is connected to of digital data processing unit (4); In the address generator unit (2), by base register group (7), modifier register group (8) and mode register set (9) are formed 8 groups of registers group, the output of base register group (7) and modifier register group (8) is connected two input ends of totalizer (11), base register group (7), the output signal of modifier register group (8) and mode register set (9) connects three input ends of totalizer (10), base register, modifier register and mode register are respectively by plot bus (17), index bus (13) is connected the result with pattern bus (14) and selects decision logic module (12), by the result select the data on decision logic module (12) selection use addition and the bus (15) or add up and bus (16) on data as last address value; The output of base register group (7), modifier register group (8) and mode register set (9) in the direct control address generator unit (2) of procedure control unit (1), the result selects the output of decision logic module (12) to link to each other with digital data memory (6).
2, as the said digital signal processor of claim 1 with modulus address computing, it is characterized in that the result selects in the decision logic module (12), pattern bus (14) is connected to linear adder computing and modulo operation selector switch (26), the input end of constant maker A (18) and constant maker B (23), add up and be connected the input end of two inputs and door (20) with bus (16) with constant maker A (18), plot bus (17) is connected the input end of two inputs and door (21) with constant maker A (18), addition and bus (15) are connected the input end of two inputs and door (24) with constant maker A (18), above-mentioned three and door (20,21,24) output is connected on the arbiter that crosses the border (25), index bus 13 is connected the input end of two inputs and door (22) with constant maker B (23), with door (22), the output terminal of arbiter (25) and linear adder computing and modulo operation selector switch (26) of crossing the border is connected the input end of three inputs and door (27), the output terminal of three inputs and door (27) is connected to the control signal end of multiplexer (28), add up and bus (16) and addition and bus (15) are connected to the input end of multiplexer (28), the address that multiplexer (28) output generates.
CN 03115372 2003-02-13 2003-02-13 Digital signal processor with modulus address arithmetic Expired - Fee Related CN1246770C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03115372 CN1246770C (en) 2003-02-13 2003-02-13 Digital signal processor with modulus address arithmetic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03115372 CN1246770C (en) 2003-02-13 2003-02-13 Digital signal processor with modulus address arithmetic

Publications (2)

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

Family

ID=34284262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03115372 Expired - Fee Related CN1246770C (en) 2003-02-13 2003-02-13 Digital signal processor with modulus address arithmetic

Country Status (1)

Country Link
CN (1) CN1246770C (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008513903A (en) * 2004-09-21 2008-05-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Microprocessor device and method for shuffle operations
CN112699058B (en) * 2020-12-31 2023-12-29 深圳大普微电子科技有限公司 Addressing methods, devices, accelerators and media suitable for recurrent neural networks

Also Published As

Publication number Publication date
CN1521617A (en) 2004-08-18

Similar Documents

Publication Publication Date Title
US6571268B1 (en) Multiplier accumulator circuits
JP3817449B2 (en) Data processing device
US5704052A (en) Bit processing unit for performing complex logical operations within a single clock cycle
US20030140080A1 (en) Wide adder with critical path of three gates
JPH0769782B2 (en) Microprogrammable 32-bit cascadable bit slice
Turton Extending Quine-McCluskey for exclusive-or logic synthesis
CN1246770C (en) Digital signal processor with modulus address arithmetic
US5764550A (en) Arithmetic logic unit with improved critical path performance
CN100412789C (en) Reconfigurable Processors and Semiconductor Devices
US5377135A (en) High cardinal number type non-restoring divider reducing delay time for adding two numbers
CN1556467A (en) Digital Signal Processor Using Hybrid Compression Two-Stage Pipeline Multiply-Add Unit
Jelodari et al. An O (1) time complexity sorting network for small number of inputs with hardware implementation
JP4607604B2 (en) 4: 2 CSA cell and 4: 2 carry save addition method
CN1295879C (en) Implementation of wide multiplexers in reconfigurable logic
CN1716229A (en) Reconfigurable Processors and Semiconductor Devices
JP4255475B2 (en) Data-driven information processing device
Samanth et al. Design and Implementation of 32-bit Functional Unit for RISC architecture applications
MUKHOPADHYAY et al. Cellular logic
Roy Efficient Arithmetic and Logic Unit (ALU) Design Based on Recursive Multi-Function Circuits
Bhosale et al. Implementation of Special Load and Store Instruction for the RST Unit
JPS6327746B2 (en)
JPH08123664A (en) Method and circuit for calculation of absolute value
US20060031279A1 (en) Highly parallel structure for fast multi cycle binary and decimal adder unit
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
JPS62187929A (en) arithmetic logic unit

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