一种计算机体系结构领域的实现数字信号处理器的寻址模块结构,包括:地址计算单元和与之相连的寻址寄存器堆,地址计算单元输出更新地址至寻址寄存器堆并接收当前地址及控制信号,本发明专利技术都能够在一个时钟周期内完成地址的计算,且具有极小的电路延迟,满足了高性能信号处理器对于高运算速度的要求。
【技术实现步骤摘要】
本专利技术涉及的是一种数字信号处理
的装置,具体是一种实现数字信号处理器的寻址模块结构。
技术介绍
在常用的数字信号处理算法中,数据寻址通常有以下三种方式顺序寻址、循环寻址和比特翻转寻址。传统的数字信号处理器仅支持计算简单的顺序寻址,在实现数字信号处理算法时,往往达不到较高性能。另外有一些处理器还支持循环寻址和比特翻转寻址,但是对于地址具有较多限制,如进行循环寻址时设置的缓冲区的起始地址必须是2的幂次, 或进行比特翻转寻址时首地址必须是2的幂次。这些限制大大减弱了寻址的灵活性,并且给内存分配制造了困难,不利于编译器或程序员对算法进行优化。经过对现有技术的检索发现,中国专利申请号200610105063. 9,公开日期2007 年2月21日,记载了一种“倒序/循环地址产生器电路结构”,该技术为了减少倒序数据地址的计算开销,该电路结构对于倒序寻址的首地址进行了限制。倒序输入数据序列的长度或循环缓冲区长度记为LO (L0 = 2η,η是自然数),则倒序寻址首地址最低k0位必须为零, k0满足关系式2k° > LO (k0是自然数)。另外该电路结构对于循环寻址的首地址也进行了限制,循环缓冲区长度记为Li,则循环寻址的首地址的最低kl位必须为零,kl是满足关系式2kl > Ll的最小自然数。鉴于该电路结构对于倒序/循环寻址首地址的限制,其产生的地址不能灵活支持FFT、卷积以及相关等数字信号处理算法,增加了地址分配的复杂度,不便于程序员使用。
技术实现思路
本专利技术针对现有技术存在的上述不足,提供一种实现数字信号处理器的寻址模块结构。本专利技术是通过以下技术方案实现的,本专利技术包括地址计算单元和与之相连的寻址寄存器堆,其中地址计算单元输出更新地址至寻址寄存器堆并接收当前地址及控制信号。所述的地址计算单元由若干个与寻址寄存器堆相连的地址计算模块组成,该地址计算模块输出数字信号处理器用来访存的一路或多路地址,其中地址计算单元从寻址寄存器堆接收控制信号和当前地址,并将更新地址与输出至寻址寄存器堆。所述的寻址寄存器堆由寻址寄存器和控制寄存器组成,其中寻址寄存器将地址、 数据和控制信号输出至地址计算单元,并从地址计算单元接收计算得到的更新地址、新偏移量和新比特翻转偏移量,存储至寻址寄存器,控制寄存器将寻址控制信号输出至地址计算单元并确定各地址计算单元的寻址模式。所述的寻址寄存器由当前地址寄存器、基地址寄存器、步长寄存器、范围寄存器、 偏移量寄存器和比特翻转偏移量寄存器组成,其中当前地址寄存器实现输出地址并保存计算得到的更新地址,基地址寄存器实现保存并输出基地址,步长寄存器实现保存并输出步长,范围寄存器实现保存并输出范围,偏移量寄存器实现输出偏移量并保存计算得到的新偏移量,比特翻转偏移量寄存器实现输出比特翻转偏移量并保存计算得到的新比特翻转偏移量;控制寄存器为寻址模式寄存器,实现保存并输出寻址模式控制信号。所述的地址计算模块包括五个加法器、两个保留进位加法器、两个比特翻转逻辑和若干个多路选择器,其中第一加法器实现在顺序寻址或循环寻址时生成候选的更新地址,其两个输入端分别接收寻址寄存器堆输出的当前地址和步长且输出端与第一多路选择器的第一输入端相连,第二加法器实现在循环寻址时生成候选的更新地址,其两个输入端分别连接到第一保留进位加法器的两个输出端且输出端与第一多路选择器的第二输入端相连;第三加法器实现生成候选的新偏移量和候选的新比特翻转偏移量,其第一输入端接收寻址寄存器堆输出的步长,第二输入端与第二多路选择器的输出端相连且输出端分别与第一比特翻转逻辑的输入端、第三多路选择器的第一输入端、第四多路选择器的第一输入端和第五多路选择器的第一输入端相连;第四加法器实现生成候选的新偏移量,其两个输入端分别与第二保留进位加法器的两个输出端相连且输出端分别与第三多路选择器的第二输入端和第四多路选择器的第二输入端相连;第五加法器实现在比特翻转寻址时生成候选的更新地址,其第一输入端接收寻址寄存器堆输出的基地址,第二输入端与第一比特翻转逻辑的输出端相连且输出端与第一多路选择器的第三输入端;第一保留进位加法器以及第二保留进位加法器均实现在循环寻址时将三个输入端的数据相加得到两个输出数据,其输入端分别接收寻址寄存器堆输出的当前地址、步长和范围。第一比特翻转逻辑实现在比特翻转逻辑时生成候选的新偏移量,其输出端与第三多路选择器的第三输入端相连;第二比特翻转逻辑实现在顺序寻址或循环寻址时生成候选的新比特翻转偏移量, 其输入端与第四多路选择器的输出端相连,输出端与第五多路选择器第二输入端相连;第一多路选择器实现生成更新地址;第二多路选择器实现生成第三加法器的输入数据,其两个输入端分别接收寻址寄存器堆输出的偏移量和比特翻转偏移量;第三多路选择器实现生成新偏移量;第四多路选择器实现生成第二比特翻转逻辑的输入数据;第五多路选择器实现生成新比特翻转偏移量。本专利技术的寻址模块的电路结构,具有以下优点支持顺序寻址、循环寻址和比特翻转寻址,在处理器执行卷积、FFT等数字信号处理算法时能自动生成地址,增加了算法的执行效率;通过设置基地址寄存器和寻址范围寄存器,本专利技术对所支持的三种寻址方式,尤其对于循环寻址和比特翻转寻址的寻址范围几乎没有限制,极大增加了寻址的灵活性;利用偏移量寄存器和比特翻转偏移量寄存器提供的两个偏移量,能够实现三种寻址方式的自由切换,减少切换时带来的额外的指令开销。通过地址计算模块中的多个加法器的并行计算,并根据加法器的输出端的正负状态,使得在循环寻址时需要进行的地址越界的判断和地址的计算能够同时完成;在比特翻转寻址时仅需经过两次加法和一次比特翻转逻辑就能计算得到更新地址,比不引入offset 和BRofTset两个偏移量时减少了一次加法运算和一次比特翻转运算。对于所持之的三种寻址方式,本专利技术都能够在一个时钟周期内完成地址的计算, 且具有极小的电路延迟,满足了高性能信号处理器对于高运算速度的要求。附图说明图1是本专利技术所实现的循环寻址的示例图。图2是本专利技术所实现的比特翻转寻址的示例图。图3是本专利技术所提出的寻址模块的系统框图。图4是本专利技术所提出的寻址寄存器堆的结构框图。图5是本专利技术所提出的寻址模块中的地址计算模块的电路结构图。具体实施例方式下面对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。如图3所示,本实施例包括一个地址计算单元1110和一个寻址寄存器堆1120 ; 其中地址计算单元1110,包含至少一个地址计算模块1111、1112,输出数字信号处理器用来访存的一路或多路地址。地址计算单元1110从寻址寄存器堆1120接收控制信号、 当前地址,并将更新地址与输出至寻址寄存器堆1120。寻址寄存器堆1120,包含寻址寄存器1121和控制寄存器1122,实现存放访存地址和与寻址有关的数据和控制字。其中寻址寄存器1121,包含当前地址寄存器,实现输出当前地址,并保存计算得到的更新地址;基地址寄存器,实现保存并输出基地址;步长寄存器,实现保存并输出步长;范围寄存器,实现保存并输出范围;偏移量寄存器,实现输出偏移量,并保存计算得到的新偏移量;比特翻转偏移本文档来自技高网...
【技术保护点】
1.一种实现数字信号处理器的寻址模块结构,包括:地址计算单元和与之相连的寻址寄存器堆,其特征在于:地址计算单元输出更新地址至寻址寄存器堆并接收当前地址及控制信号。
【技术特征摘要】
【专利技术属性】
技术研发人员:卫振琦,孔吉,刘佩林,
申请(专利权)人:上海交通大学,富士通株式会社,
类型:发明
国别省市:31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。