CN102163141A - 实现数字信号处理器的寻址模块结构 - Google Patents
实现数字信号处理器的寻址模块结构 Download PDFInfo
- Publication number
- CN102163141A CN102163141A CN2011100688022A CN201110068802A CN102163141A CN 102163141 A CN102163141 A CN 102163141A CN 2011100688022 A CN2011100688022 A CN 2011100688022A CN 201110068802 A CN201110068802 A CN 201110068802A CN 102163141 A CN102163141 A CN 102163141A
- Authority
- CN
- China
- Prior art keywords
- addressing
- mux
- bit reversal
- input end
- register
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Executing Machine-Instructions (AREA)
Abstract
一种计算机体系结构领域的实现数字信号处理器的寻址模块结构,包括:地址计算单元和与之相连的寻址寄存器堆,地址计算单元输出更新地址至寻址寄存器堆并接收当前地址及控制信号,本发明都能够在一个时钟周期内完成地址的计算,且具有极小的电路延迟,满足了高性能信号处理器对于高运算速度的要求。
Description
技术领域
本发明涉及的是一种数字信号处理技术领域的装置,具体是一种实现数字信号处理器的寻址模块结构。
背景技术
在常用的数字信号处理算法中,数据寻址通常有以下三种方式:顺序寻址、循环寻址和比特翻转寻址。传统的数字信号处理器仅支持计算简单的顺序寻址,在实现数字信号处理算法时,往往达不到较高性能。另外有一些处理器还支持循环寻址和比特翻转寻址,但是对于地址具有较多限制,如进行循环寻址时设置的缓冲区的起始地址必须是2的幂次,或进行比特翻转寻址时首地址必须是2的幂次。这些限制大大减弱了寻址的灵活性,并且给内存分配制造了困难,不利于编译器或程序员对算法进行优化。
经过对现有技术的检索发现,中国专利申请号200610105063.9,公开日期:2007年2月21日,记载了一种“倒序/循环地址产生器电路结构”,该技术为了减少倒序数据地址的计算开销,该电路结构对于倒序寻址的首地址进行了限制。倒序输入数据序列的长度或循环缓冲区长度记为L0(L0=2n,n是自然数),则倒序寻址首地址最低k0位必须为零,k0满足关系式2k0>L0(k0是自然数)。另外该电路结构对于循环寻址的首地址也进行了限制,循环缓冲区长度记为L1,则循环寻址的首地址的最低k1位必须为零,k1是满足关系式2k1>L1的最小自然数。鉴于该电路结构对于倒序/循环寻址首地址的限制,其产生的地址不能灵活支持FFT、卷积以及相关等数字信号处理算法,增加了地址分配的复杂度,不便于程序员使用。
发明内容
本发明针对现有技术存在的上述不足,提供一种实现数字信号处理器的寻址模块结构。
本发明是通过以下技术方案实现的,本发明包括:地址计算单元和与之相连的寻址寄存器堆,其中:地址计算单元输出更新地址至寻址寄存器堆并接收当前地址及控制信号。
所述的地址计算单元由若干个与寻址寄存器堆相连的地址计算模块组成,该地址计算模块输出数字信号处理器用来访存的一路或多路地址,其中:地址计算单元从寻址寄存器堆接收控制信号和当前地址,并将更新地址与输出至寻址寄存器堆。
所述的寻址寄存器堆由寻址寄存器和控制寄存器组成,其中:寻址寄存器将地址、数据和控制信号输出至地址计算单元,并从地址计算单元接收计算得到的更新地址、新偏移量和新比特翻转偏移量,存储至寻址寄存器,控制寄存器将寻址控制信号输出至地址计算单元并确定各地址计算单元的寻址模式。
所述的寻址寄存器由当前地址寄存器、基地址寄存器、步长寄存器、范围寄存器、偏移量寄存器和比特翻转偏移量寄存器组成,其中:当前地址寄存器实现输出地址并保存计算得到的更新地址,基地址寄存器实现保存并输出基地址,步长寄存器实现保存并输出步长,范围寄存器实现保存并输出范围,偏移量寄存器实现输出偏移量并保存计算得到的新偏移量,比特翻转偏移量寄存器实现输出比特翻转偏移量并保存计算得到的新比特翻转偏移量;控制寄存器为寻址模式寄存器,实现保存并输出寻址模式控制信号。
所述的地址计算模块包括:五个加法器、两个保留进位加法器、两个比特翻转逻辑和若干个多路选择器,其中:
第一加法器实现在顺序寻址或循环寻址时生成候选的更新地址,其两个输入端分别接收寻址寄存器堆输出的当前地址和步长且输出端与第一多路选择器的第一输入端相连,
第二加法器实现在循环寻址时生成候选的更新地址,其两个输入端分别连接到第一保留进位加法器的两个输出端且输出端与第一多路选择器的第二输入端相连;
第三加法器实现生成候选的新偏移量和候选的新比特翻转偏移量,其第一输入端接收寻址寄存器堆输出的步长,第二输入端与第二多路选择器的输出端相连且输出端分别与第一比特翻转逻辑的输入端、第三多路选择器的第一输入端、第四多路选择器的第一输入端和第五多路选择器的第一输入端相连;
第四加法器实现生成候选的新偏移量,其两个输入端分别与第二保留进位加法器的两个输出端相连且输出端分别与第三多路选择器的第二输入端和第四多路选择器的第二输入端相连;
第五加法器实现在比特翻转寻址时生成候选的更新地址,其第一输入端接收寻址寄存器堆输出的基地址,第二输入端与第一比特翻转逻辑的输出端相连且输出端与第一多路选择器的第三输入端;
第一保留进位加法器以及第二保留进位加法器均实现在循环寻址时将三个输入端的数据相加得到两个输出数据,其输入端分别接收寻址寄存器堆输出的当前地址、步长和范围。
第一比特翻转逻辑实现在比特翻转逻辑时生成候选的新偏移量,其输出端与第三多路选择器的第三输入端相连;
第二比特翻转逻辑实现在顺序寻址或循环寻址时生成候选的新比特翻转偏移量,其输入端与第四多路选择器的输出端相连,输出端与第五多路选择器第二输入端相连;
第一多路选择器实现生成更新地址;
第二多路选择器实现生成第三加法器的输入数据,其两个输入端分别接收寻址寄存器堆输出的偏移量和比特翻转偏移量;
第三多路选择器实现生成新偏移量;
第四多路选择器实现生成第二比特翻转逻辑的输入数据;
第五多路选择器实现生成新比特翻转偏移量。
本发明的寻址模块的电路结构,具有以下优点:
支持顺序寻址、循环寻址和比特翻转寻址,在处理器执行卷积、FFT等数字信号处理算法时能自动生成地址,增加了算法的执行效率;
通过设置基地址寄存器和寻址范围寄存器,本发明对所支持的三种寻址方式,尤其对于循环寻址和比特翻转寻址的寻址范围几乎没有限制,极大增加了寻址的灵活性;
利用偏移量寄存器和比特翻转偏移量寄存器提供的两个偏移量,能够实现三种寻址方式的自由切换,减少切换时带来的额外的指令开销。
通过地址计算模块中的多个加法器的并行计算,并根据加法器的输出端的正负状态,使得在循环寻址时需要进行的地址越界的判断和地址的计算能够同时完成;在比特翻转寻址时仅需经过两次加法和一次比特翻转逻辑就能计算得到更新地址,比不引入offset和BRoffset两个偏移量时减少了一次加法运算和一次比特翻转运算。
对于所持之的三种寻址方式,本发明都能够在一个时钟周期内完成地址的计算,且具有极小的电路延迟,满足了高性能信号处理器对于高运算速度的要求。
附图说明
图1是本发明所实现的循环寻址的示例图。
图2是本发明所实现的比特翻转寻址的示例图。
图3是本发明所提出的寻址模块的系统框图。
图4是本发明所提出的寻址寄存器堆的结构框图。
图5是本发明所提出的寻址模块中的地址计算模块的电路结构图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图3所示,本实施例包括:一个地址计算单元1110和一个寻址寄存器堆1120;其中:
地址计算单元1110,包含至少一个地址计算模块1111、1112,输出数字信号处理器用来访存的一路或多路地址。地址计算单元1110从寻址寄存器堆1120接收控制信号、当前地址,并将更新地址与输出至寻址寄存器堆1120。
寻址寄存器堆1120,包含寻址寄存器1121和控制寄存器1122,实现存放访存地址和与寻址有关的数据和控制字。其中:
寻址寄存器1121,包含当前地址寄存器,实现输出当前地址,并保存计算得到的更新地址;基地址寄存器,实现保存并输出基地址;步长寄存器,实现保存并输出步长;范围寄存器,实现保存并输出范围;偏移量寄存器,实现输出偏移量,并保存计算得到的新偏移量;比特翻转偏移量寄存器,实现输出比特翻转偏移量,并保存计算得到的新比特翻转偏移量;
控制寄存器1122,包含寻址模式寄存器,实现保存并输出寻址模式控制信号。
寻址寄存器堆1120将地址、数据和控制信号输出至地址计算单元1110,同时从地址计算单元1110接收计算得到的更新地址、新偏移量和新比特翻转偏移量,存储至寻址寄存器1121。
地址计算模块1111,包含五个加法器、两个保留进位加法器、两个比特翻转逻辑和若干个多路选择器;其中:
第一加法器,实现在顺序寻址或循环寻址时生成候选的更新地址,它的两个输入端分别是当前地址和步长。第一加法器的输出端连接到第一多路选择器的一个输入端;
第二加法器,实现在循环寻址时生成候选的更新地址,它的两个输入端分别连接到第一保留进位加法器的两个输出端。第二加法器的输出端连接到第一多路选择器的一个输入端;
第三加法器,实现生成候选的新偏移量和候选的新比特翻转偏移量,它的两个输入端分别是步长和第二多路选择器的输出端。第三加法器的输出端分别连接到第一比特翻转逻辑的输入端、第三多路选择器的一个输入端、第四多路选择器的一个输入端和第五多路选择器的一个输入端;
第四加法器,实现生成候选的新偏移量,它的两个输入端分别连接到第二保留进位加法器的两个输入端。第四加法器的输出端分别连接到第三多路选择器的一个输入端和第四多路选择器的一个输入端;
第五加法器,实现在比特翻转寻址时生成候选的更新地址,它的两个输入端分别是基地址和第一比特翻转逻辑的输出端。第五加法器的输出端连接到第五多路选择器的一个输入端;
第一保留进位加法器,实现在循环寻址时将三个输入端的数据相加得到两个输出数据,它的三个输入端分别是当前地址、步长和范围。第一保留进位加法器的两个输出端分别连接到第二加法器的两个输入端;
第二保留进位加法器,实现在循环寻址时将三个输入端的数据相加得到两个输出数据,它的三个输入端分别是步长、范围和偏移量。第二保留进位加法器的两个输出端分别连接到第四加法器的两个输入端;
第一比特翻转逻辑,实现在比特翻转逻辑时生成候选的新偏移量,翻转的位宽由范围决定。第一比特翻转逻辑的输入端连接到第三加法器的输出端,它的输出端分别连接到第三多路选择器的一个输入端和第五加法器的一个输入端;
第二比特翻转逻辑,实现在顺序寻址或循环寻址时生成候选的新比特翻转偏移量,翻转的位宽由范围决定。第二比特翻转逻辑的输入端连接到第四多路选择器的输出端,它的输出端连接到第五多路选择器的一个输入端;
第一多路选择器,根据寻址模式、第三加法器的输出端的正负状态和第四加法器的输出端的正负状态选通三个输入端,实现生成更新地址。第一多路选择器的三个输入端分别连接到第一加法器的输出端、第二加法器的输出端和第五加法器的输出端,它的输出端连接到更新地址;
第二多路选择器,根据寻址模式选通两个输入端,实现生成第三加法器的输入数据。第二多路选择器的两个输入端分别连接到偏移量和比特翻转偏移量,它的输出端连接到第三加法器的一个输入端;
第三多路选择器,根据寻址模式、第三加法器的输出端的正负状态和第四加法器的输出端的正负状态选通三个输入端,实现生成新偏移量。第三多路选择器的三个输入端分别连接到第三加法器的输出端、第一比特翻转逻辑的输出端和第四加法器的输出端,它的输出端连接到新偏移量;
第四多路选择器,根据寻址模式、第三加法器的输出端的正负状态和第四加法器的输出端的正负状态选通两个输入端,实现生成第二比特翻转逻辑的输入数据。第四多路选择器的两个输入端分别连接到第三加法器的输出端和第四加法器的输出端,它的输出端连接到第二比特翻转逻辑的输入端;
第五多路选择器,根据寻址模式选通两个输入端,实现生成新比特翻转偏移量。第五多路选择器的两个输入端分别连接到第三加法器的输出端和第二比特翻转逻辑的输出端,它的输出端连接到新比特翻转偏移量。
本实施例所述装置包括以下三种寻址方式,具体步骤为:
1)顺序寻址:
进行顺序寻址时,第一多路选择器选通第一加法器的输出端,第二多路选择器选通偏移量,多路选择3选通第三加法器的输出端,第四多路选择器选通第三加法器的输出端,第五多路选择器选通第二比特翻转逻辑的输出端。所以更新地址为第一加法器的输出,即next_addr=addr+/-inc;新偏移量为第三加法器的输出,即next_offset=offset+/-inc新比特翻转偏移量为第二比特翻转逻辑的输出,即next_BRoffset=BR(offset+/-inc)。寻址寄存器堆将保存这些计算结果,并在下次计算地址时为地址计算模块提供当前地址、偏移量和比特翻转偏移量等数据。
常规的数字信号处理运算要求处理器能够以地址递增或递减的方式访问内存区域,该寻址模式称为顺序寻址。设当前地址为addr,地址的改变步长为inc,偏移量为offset,生成的更新地址为next_addr。表1所示为处理器进行顺序寻址时地址的生成方式。
表1顺序寻址时地址的生成方式
2)循环寻址:
进行循环寻址时,第二多路选择器选通偏移量,第五多路选择器选通第二比特翻转逻辑的输出端。其他多路选择器的选通情况由寻址方式和部分加法器的输出端的正负状态决定。
当寻址模式为循环寻址加步长时,第四加法器的输出为offset+inc-range,若该输出为负,则说明当前地址加步长仍在循环寻址区域内,此时第一多路选择器选通第一加法器的输出端,所以next_addr=addr+inc;第三多路选择器选通第三加法器的输出端,所以next_offset=offset+inc;第四多路选择器选通第三加法器的输出端。所以next_BRoffset=BR(offset+inc)。
若第四加法器的输出为非负,则说明当前地址加步长已经超过了循环寻址区域的上限,此时第一多路选择器选通第二加法器的输出端,所以next_addr=addr+inc-range;第三多路选择器选通第四加法器的输出端,所以next_offset=offset+inc-range;第四多路选择器选通第四加法器的输出端,所以next_BRoffset=BR(offset+inc-range)。
(1)循环寻址减步长
当寻址模式为循环寻址减步长时,第三加法器的输出为offset-inc,若该输出为非负,则说明当前地址减步长仍在循环区域内,此时第一多路选择器选通第一加法器输出端,所以next_addr=addr-inc;第三多路选择器选通第三加法器的输出端,所以next_offset=offset-inc;第四多路选择器选通第三加法器的输出端,所以next_BRoffset=BR(offset-inc)。
若第三加法器的输出为负,则说明当前地址减步长已经超过了循环寻址区域的下限,此时第一多路选择器选通第二加法器的输出端,所以next_addr=addr-inc+range;第三多路选择器选通第四加法器的输出端,所以next_offset=offset-inc+range;第四多路选择器选通第四加法器的输出端,所以next_BRoffset=BR(offset-inc+range)。
卷积运算、FIR滤波等数字信号处理运算要求处理器能够循环访问一片连续的内存区域,该寻址模式称为循环寻址。循环寻址的寻址区域由基地址和范围决定,设地址的改变步长为inc,当前地址为addr,偏移量为offset即当前地址减去基地址,生成的更新地址为next_addr,新偏移量为next_offset。表2所示为处理器进行循环寻址时地址的生成方式。
表2循环寻址时地址的生成方式
以下给出循环寻址的一个示例:
假设基地址为0x22,范围为0x10,步长为0x4,当前地址为0x28,寻址方式为循环寻址加步长。寻址过程如图1所示,具体描述如下:
(1)当前地址0x28加步长0x4未超过循环寻址区域,
next_addr=addr+inc=0x28+0x4=0x2c
next_offset=offset+inc=0x6+0x4=0xa
(2)当前地址0x2c加步长0x4未超过循环寻址区域,
next_addr=addr+inc=0x2c+0x4=0x30
next_offset=offset+inc=0xa+0x4=0xe
(3)当前地址0x30加步长0x4超过循环寻址区域,
next_addr=addr+inc-range=0x30+0x4-0x10=0x24
next_offset=offset+inc-range=0xe+0x4-0x10=0x2
(4)当前地址0x24加步长0x4未超过循环寻址区域,
next_addr=addr+inc=0x24+0x4=0x28
next_offset=offset+inc=0x2+0x4=0x6
3)比特翻转寻址:
进行比特翻转寻址时,第一多路选择器选通第五加法器的输出端,第二多路选择器选通比特翻转偏移量,第三多路选择器选通第一比特翻转逻辑的输出端,第四多路选择器任意选通,第五多路选择器选通第三加法器的输出端。
第三加法器的输出为BRoffset+/-inc更新地址为第五加法器的输出,所以next_addr=base_addr+BR(BRoffset+/-inc);新偏移量为第一比特翻转逻辑的输出,所以next_offset=BR(BRoffset+/-inc);新比特翻转偏移量为第三加法器的输出,所以next_BRoffset=BRoffset+/-inc。
快速傅立叶变换FFT等数字信号处理运算要求处理器能够以比特翻转顺序访问内存。通过比特翻转对输入信号的高低位进行互换即最低位与最高位互换,次低位与次高位互换,以此类推,进行比特翻转的位宽由范围决定,表3描述了根据范围选取比特翻转操作的运算位宽。
表3比特翻转操作的运算位宽
范围 | 比特翻转操作的输出 |
0b00000100 | 输入信号的低2位进行比特翻转 |
0b00001000 | 输入信号的低3位进行比特翻转 |
0b00010000 | 输入信号的低4位进行比特翻转 |
... | 以此类推 |
为了说明比特翻转操作的运算方式,以范围取0b1000为例,表4描述了比特翻转操作的运算结果,比特翻转操作记为BR()。
表4当范围取0b1000时BR()的运算结果
输入 | 输出 |
0b000 | BR(0b000)=0b000=0x0 |
0b001 | BR(0b001)=0b100=0x4 |
0b010 | BR(0b010)=0b010=0x2 |
0b011 | BR(0b011)=0b110=0x6 |
0b100 | BR(0b100)=0b001=0x1 |
0b101 | BR(0b101)=0b101=0x5 |
0b110 | BR(0b110)=0b011=0x3 |
0b111 | BR(0b111)=0b111=0x7 |
表5所示为比特翻转寻址时地址的生成方式,得到更新地址需要进行两次加法运算和两次比特翻转操作。
表5比特翻转寻址时地址的生成方式
为了简化运算步骤,这里引入两个新的变量,分别为比特翻转偏移量和新比特翻转偏移量。在顺序寻址和循环寻址时,next_BRoffset是对next_offset进行比特翻转操作,即next_BRoffset=BR(next_offset);在比特翻转寻址时,next_BRoffset=BRoffset+/-inc。
利用BRoffset和next_BRoffset,在比特翻转寻址时可以减少一次比特翻转操作。表6所示为引进BRoffset和next_BRoffset后比特翻转寻址时地址的生成方式。
表6引进BRoffset和next_BRoffset后比特翻转寻址时地址的生成方式
以下给出比特翻转寻址的一个示例:
假设基地址为0x64,范围为0x8即对偏移量的低三位进行比特翻转操作,步长为0x1,当前地址为0x64,寻址方式为比特翻转寻址加步长,当前的偏移量为0x0,当前的比特翻转偏移量为0x0。寻址过程如图2所示,具体描述如下:
(1)当前比特翻转偏移量0x0加步长0x1得到新比特翻转偏移量0x1,再进行比特翻转操作得到新偏移量0x4,将其与基地址0x64相加得到更新地址0x68
next_BRoffset=BRoffset+inc=0x0+0x1=0x1
next_offset=BR(next_BRoffset)=0x4
next_addr=base_addr+next_offset=0x64+0x4=0x68
(2)当前比特翻转偏移量0x1加步长0x1得到新比特翻转偏移量0x2,再进行比特翻转操作得到新偏移量0x2,将其与基地址0x64相加得到更新地址0x66
next_BRoffset=BRoffset+inc=0x1+0x1=0x2
next_offset=BR(next_BRoffset)=0x2
next_addr=base_addr+next_offset=0x64+0x2=0x66
(3)当前比特翻转偏移量0x2加步长0x1得到新比特翻转偏移量0x3,再进行比特翻转操作得到新偏移量0x6,将其与基地址0x64相加得到更新地址0x6a
next_BRoffset=BRoffset+inc=0x2+0x1=0x3
next_offset=BR(next_BRoffset)=0x6
next_addr=base_addr+next_offset=0x64+0x6=0x6a
(4)当前比特翻转偏移量0x3加步长0x1得到新比特翻转偏移量0x4,再进行比特翻转操作得到新偏移量0x1,将其与基地址0x64相加得到更新地址0x65
next_BRoffset=BRoffset+inc=0x3+0x1=0x4
next_offset=BR(next_BRoffset)=0x1
next_addr=base_addr+next_offset=0x64+0x1=0x65。
Claims (6)
1.一种实现数字信号处理器的寻址模块结构,包括:地址计算单元和与之相连的寻址寄存器堆,其特征在于:地址计算单元输出更新地址至寻址寄存器堆并接收当前地址及控制信号。
2.根据权利要求1所述的实现数字信号处理器的寻址模块结构,其特征是,所述的地址计算单元由若干个与寻址寄存器堆相连的地址计算模块组成,该地址计算模块输出数字信号处理器用来访存的一路或多路地址,其中:地址计算单元从寻址寄存器堆接收控制信号和当前地址,并将更新地址与输出至寻址寄存器堆。
3.根据权利要求1或2所述的实现数字信号处理器的寻址模块结构,其特征是,所述的寻址寄存器堆由寻址寄存器和控制寄存器组成。
4.根据权利要求3所述的实现数字信号处理器的寻址模块结构,其特征是,所述的寻址寄存器由当前地址寄存器、基地址寄存器、步长寄存器、范围寄存器、偏移量寄存器和比特翻转偏移量寄存器组成,其中:当前地址寄存器实现输出地址并保存计算得到的更新地址,基地址寄存器实现保存并输出基地址,步长寄存器实现保存并输出步长,范围寄存器实现保存并输出范围,偏移量寄存器实现输出偏移量并保存计算得到的新偏移量,比特翻转偏移量寄存器实现输出比特翻转偏移量并保存计算得到的新比特翻转偏移量;控制寄存器为寻址模式寄存器,实现保存并输出寻址模式控制信号。
5.根据权利要求1或2所述的实现数字信号处理器的寻址模块结构,其特征是,所述的寻址寄存器堆将地址、数据和控制信号输出至地址计算单元,同时从地址计算单元接收计算得到的更新地址、新偏移量和新比特翻转偏移量,存储至寻址寄存器。
6.根据权利要求2所述的实现数字信号处理器的寻址模块结构,其特征是,所述的地址计算模块包括:五个加法器、两个保留进位加法器、两个比特翻转逻辑和若干个多路选择器,其中:第一加法器实现在顺序寻址或循环寻址时生成候选的更新地址,其两个输入端分别接收寻址寄存器堆输出的当前地址和步长且输出端与第一多路选择器的第一输入端相连;第二加法器实现在循环寻址时生成候选的更新地址,其两个输入端分别连接到第一保留进位加法器的两个输出端且输出端与第一多路选择器的第二输入端相连;第三加法器实现生成候选的新偏移量和候选的新比特翻转偏移量,其第一输入端接收寻址寄存器堆输出的步长,第二输入端与第二多路选择器的输出端相连且输出端分别与第一比特翻转逻辑的输入端、第三多路选择器的第一输入端、第四多路选择器的第一输入端和第五多路选择器的第一输入端相连;第四加法器实现生成候选的新偏移量,其两个输入端分别与第二保留进位加法器的两个输出端相连且输出端分别与第三多路选择器的第二输入端和第四多路选择器的第二输入端相连;第五加法器实现在比特翻转寻址时生成候选的更新地址,其第一输入端接收寻址寄存器堆输出的基地址,第二输入端与第一比特翻转逻辑的输出端相连且输出端与第一多路选择器的第三输入端;第一保留进位加法器以及第二保留进位加法器均实现在循环寻址时将三个输入端的数据相加得到两个输出数据,其输入端分别接收寻址寄存器堆输出的当前地址、步长和范围;第一比特翻转逻辑实现在比特翻转逻辑时生成候选的新偏移量,其输出端与第三多路选择器的第三输入端相连;第二比特翻转逻辑实现在顺序寻址或循环寻址时生成候选的新比特翻转偏移量,其输入端与第四多路选择器的输出端相连,输出端与第五多路选择器第二输入端相连;第一多路选择器实现生成更新地址;第二多路选择器实现生成第三加法器的输入数据,其两个输入端分别接收寻址寄存器堆输出的偏移量和比特翻转偏移量;第三多路选择器实现生成新偏移量;第四多路选择器实现生成第二比特翻转逻辑的输入数据;第五多路选择器实现生成新比特翻转偏移量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110068802 CN102163141B (zh) | 2011-03-22 | 2011-03-22 | 实现数字信号处理器的寻址模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110068802 CN102163141B (zh) | 2011-03-22 | 2011-03-22 | 实现数字信号处理器的寻址模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102163141A true CN102163141A (zh) | 2011-08-24 |
CN102163141B CN102163141B (zh) | 2013-11-06 |
Family
ID=44464384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110068802 Expired - Fee Related CN102163141B (zh) | 2011-03-22 | 2011-03-22 | 实现数字信号处理器的寻址模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102163141B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019097347A1 (en) * | 2017-11-14 | 2019-05-23 | International Business Machines Corporation | Configuration state registers grouped based on functional affinity |
CN109992255A (zh) * | 2019-03-07 | 2019-07-09 | 中科亿海微电子科技(苏州)有限公司 | 具有进位链结构的双输出查找表及可编程逻辑单元 |
US10496437B2 (en) | 2017-11-14 | 2019-12-03 | International Business Machines Corporation | Context switch by changing memory pointers |
US10552070B2 (en) | 2017-11-14 | 2020-02-04 | International Business Machines Corporation | Separation of memory-based configuration state registers based on groups |
US10558366B2 (en) | 2017-11-14 | 2020-02-11 | International Business Machines Corporation | Automatic pinning of units of memory |
US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US10635602B2 (en) | 2017-11-14 | 2020-04-28 | International Business Machines Corporation | Address translation prior to receiving a storage reference using the address to be translated |
US10642757B2 (en) | 2017-11-14 | 2020-05-05 | International Business Machines Corporation | Single call to perform pin and unpin operations |
US10664181B2 (en) | 2017-11-14 | 2020-05-26 | International Business Machines Corporation | Protecting in-memory configuration state registers |
US10698686B2 (en) | 2017-11-14 | 2020-06-30 | International Business Machines Corporation | Configurable architectural placement control |
US10761983B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Memory based configuration state registers |
US10901738B2 (en) | 2017-11-14 | 2021-01-26 | International Business Machines Corporation | Bulk store and load operations of configuration state registers |
CN117314730A (zh) * | 2023-11-28 | 2023-12-29 | 进迭时空(杭州)科技有限公司 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623621A (en) * | 1990-11-02 | 1997-04-22 | Analog Devices, Inc. | Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer |
JP2003131868A (ja) * | 2001-10-25 | 2003-05-09 | Fujitsu Ltd | プロセッサ |
CN1437112A (zh) * | 2002-02-07 | 2003-08-20 | 旺宏电子股份有限公司 | 具有有效使用存储器的循环寻址的方法及系统 |
US6647484B1 (en) * | 2000-09-19 | 2003-11-11 | 3 Dsp Corporation | Transpose address mode in general purpose DSP processor |
-
2011
- 2011-03-22 CN CN 201110068802 patent/CN102163141B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623621A (en) * | 1990-11-02 | 1997-04-22 | Analog Devices, Inc. | Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer |
US6647484B1 (en) * | 2000-09-19 | 2003-11-11 | 3 Dsp Corporation | Transpose address mode in general purpose DSP processor |
JP2003131868A (ja) * | 2001-10-25 | 2003-05-09 | Fujitsu Ltd | プロセッサ |
CN1437112A (zh) * | 2002-02-07 | 2003-08-20 | 旺宏电子股份有限公司 | 具有有效使用存储器的循环寻址的方法及系统 |
Non-Patent Citations (1)
Title |
---|
段来仓: "DSP处理器循环寻址和位翻转寻址的设计", 《微电子学与计算机》, no. 1, 31 January 2003 (2003-01-31), pages 11 - 13 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761983B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Memory based configuration state registers |
US10496437B2 (en) | 2017-11-14 | 2019-12-03 | International Business Machines Corporation | Context switch by changing memory pointers |
GB2581938A (en) * | 2017-11-14 | 2020-09-02 | Ibm | Configuration state registers grouped based on functional affinity |
GB2581938B (en) * | 2017-11-14 | 2020-12-30 | Ibm | Configuration state registers grouped based on functional affinity |
US10558366B2 (en) | 2017-11-14 | 2020-02-11 | International Business Machines Corporation | Automatic pinning of units of memory |
US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US10635602B2 (en) | 2017-11-14 | 2020-04-28 | International Business Machines Corporation | Address translation prior to receiving a storage reference using the address to be translated |
US10642757B2 (en) | 2017-11-14 | 2020-05-05 | International Business Machines Corporation | Single call to perform pin and unpin operations |
US10664181B2 (en) | 2017-11-14 | 2020-05-26 | International Business Machines Corporation | Protecting in-memory configuration state registers |
CN111344789A (zh) * | 2017-11-14 | 2020-06-26 | 国际商业机器公司 | 基于功能亲和度分组的配置状态寄存器 |
US10698686B2 (en) | 2017-11-14 | 2020-06-30 | International Business Machines Corporation | Configurable architectural placement control |
US10761751B2 (en) | 2017-11-14 | 2020-09-01 | International Business Machines Corporation | Configuration state registers grouped based on functional affinity |
WO2019097347A1 (en) * | 2017-11-14 | 2019-05-23 | International Business Machines Corporation | Configuration state registers grouped based on functional affinity |
CN111344789B (zh) * | 2017-11-14 | 2023-09-05 | 国际商业机器公司 | 基于功能亲和度分组的配置状态寄存器 |
US10552070B2 (en) | 2017-11-14 | 2020-02-04 | International Business Machines Corporation | Separation of memory-based configuration state registers based on groups |
US10901738B2 (en) | 2017-11-14 | 2021-01-26 | International Business Machines Corporation | Bulk store and load operations of configuration state registers |
US10976931B2 (en) | 2017-11-14 | 2021-04-13 | International Business Machines Corporation | Automatic pinning of units of memory |
US11093145B2 (en) | 2017-11-14 | 2021-08-17 | International Business Machines Corporation | Protecting in-memory configuration state registers |
US11099782B2 (en) | 2017-11-14 | 2021-08-24 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US11106490B2 (en) | 2017-11-14 | 2021-08-31 | International Business Machines Corporation | Context switch by changing memory pointers |
US11287981B2 (en) | 2017-11-14 | 2022-03-29 | International Business Machines Corporation | Automatic pinning of units of memory |
US11579806B2 (en) | 2017-11-14 | 2023-02-14 | International Business Machines Corporation | Portions of configuration state registers in-memory |
CN109992255B (zh) * | 2019-03-07 | 2022-06-24 | 中科亿海微电子科技(苏州)有限公司 | 具有进位链结构的双输出查找表及可编程逻辑单元 |
CN109992255A (zh) * | 2019-03-07 | 2019-07-09 | 中科亿海微电子科技(苏州)有限公司 | 具有进位链结构的双输出查找表及可编程逻辑单元 |
CN117314730A (zh) * | 2023-11-28 | 2023-12-29 | 进迭时空(杭州)科技有限公司 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
CN117314730B (zh) * | 2023-11-28 | 2024-03-15 | 进迭时空(杭州)科技有限公司 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102163141B (zh) | 2013-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102163141B (zh) | 实现数字信号处理器的寻址模块 | |
CN107220023B (zh) | 一种嵌入式可配置fifo存储器 | |
CN105912501B (zh) | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统 | |
CN108052347B (zh) | 一种执行指令选择的装置、方法及指令映射方法 | |
Norollah et al. | RTHS: A low-cost high-performance real-time hardware sorter, using a multidimensional sorting algorithm | |
CN102508803A (zh) | 一种矩阵转置存储控制器 | |
Shen et al. | An efficient network-on-chip router for dataflow architecture | |
RU2015103934A (ru) | Процессор компьютера и система без арифметико-логического блока | |
CN102306141A (zh) | 一种描述动态可重构阵列配置信息的方法 | |
CN114297097A (zh) | 一种众核可定义分布式共享存储结构 | |
Han et al. | Compiling control-intensive loops for CGRAs with state-based full predication | |
WO2016024508A1 (ja) | マルチプロセッサ装置 | |
CN103336681B (zh) | 针对采用变长指令集的流水线结构处理器的取指方法 | |
CN106843803A (zh) | 一种基于归并树的全排序加速器及应用 | |
CN112074810B (zh) | 并行处理设备 | |
CN102129495B (zh) | 一种降低可重构算子阵列结构功耗的方法 | |
CN101021830A (zh) | 一种流处理器中多核扩展的方法 | |
CN112486904B (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 | |
CN104317554A (zh) | 用于simd处理器的寄存器文件数据读写装置和方法 | |
TWI617987B (zh) | 實現線速互連結構的方法、電腦系統、與非暫時性電腦可讀取記憶體 | |
Chiu et al. | Efficient particle-pair filtering for acceleration of molecular dynamics simulation | |
US11023241B2 (en) | Systems and methods for selectively bypassing address-generation hardware in processor instruction pipelines | |
Qu et al. | The research of FPGA-based loop optimization pipeline scheduling technology | |
Zhu et al. | Research on low power scheduling of heterogeneous multi core mission based on genetic algorithm | |
JP6256088B2 (ja) | ベクトルプロセッサ、情報処理装置および追い越し制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131106 Termination date: 20180322 |
|
CF01 | Termination of patent right due to non-payment of annual fee |