一种位域覆盖装置及操作方法

文档序号:9274438阅读:186来源:国知局
一种位域覆盖装置及操作方法
【技术领域】
[0001] 本发明属于数字信号处理领域,尤其涉及一种快速可选符号扩展的位域覆盖装置 及操作方法。
【背景技术】
[0002] 数字信号处理器主要常用于需要大量数据快速处理的特殊领域。现在通信、密码 学、图像处理、生物计算学等学科领域的发展都需求处理器可以进行快速的位域操作。
[0003] 所谓位域操作是相对于处理器中其他面向"字"(Word)的操作,其操作力度是比 特。普通的移位指令,"与"、"或"、"非"指令即是位域操作,但是其操作简单,"字"中的每一 个都进行了相同的操作。现在,在一些要求苛刻的企业和技术应用领域,一些面向高端市场 的通用处理器也引入了一些高级的位域操作指令,例如Intel的Itanium系列处理器。而 在数字信号处理中,高级位域指令则比较常见。零扩展或者符号扩展的位域抽取指令是常 见的高级位域操作指令,而位域覆盖指令作为位域抽取指令的反向操作指令也在一些数字 处理器中出现。
[0004] 当前数字信号处理器中位域覆盖操作的执行方式各有不同,没有位域覆盖指令的 处理器需要多条其他位域操作指令联合使用才能完成;某些处理器的位域指令使用现有的 移位器加法器等运算单元,经过多个周期的实现,特别是实现符号扩展功能时,有的处理器 使用一个32位加法器实现,使得指令实现时间更长(参考ARM专利US7370180B2)。所以较 多的处理器的指令集定义的位域覆盖指令不支持符号扩展,例如ARMCorteX-M3的指令集; 某些支持符号扩展的位域覆盖指令的处理器,该指令也需要多个周期实现。

【发明内容】

[0005] (一)要解决的技术问题
[0006] 本发明针对现有处理器并不能快速响应具有符号扩展功能的位域覆盖操作的问 题,提供了一个快速的位域覆盖装置及操作方法,并具有可选的符号扩展功能。
[0007] (二)技术方案
[0008] 本发明提供一种位域覆盖装置,用于处理器,所述处理器包括前景寄存器及背景 寄存器,其特征在于,位域覆盖装置包括第一译码装置、第二译码装置、移位器、位选择装 置、加法器及选择器组,其中:
[0009] 移位器根据覆盖起始位置,将前景寄存器中的值进行左移,得到前景值;
[0010] 位选择装置根据覆盖长度,选择前景寄存器中需要扩展的符号位,根据覆盖起始 位置选择背景寄存器中的符号位,并从选择的两个符号位中确定最终符号位;
[0011] 第一译码装置对覆盖起始位置进行译码,得到背景位选择信号;
[0012] 加法器计算覆盖长度与覆盖起始位置的和,得到和值;
[0013] 第二译码装置对和值进行译码,得到符号位选择信号;
[0014] 选择器组根据符号扩展使能信号、背景位选择信号及符号位选择信号,对前景值、 所述最终符号位及背景寄存器中的值进行选择,得出结果。
[0015] 本发明还提供一种位域覆盖操作方法,包括:
[0016]S1,根据覆盖起始位置,将前景寄存器中的值进行左移,得到前景值;
[0017]S2,在进行步骤S1的同时,根据覆盖长度,选择前景寄存器中需要扩展的符号位, 根据覆盖起始位置选择背景寄存器中的符号位,并从两个符号位中确定最终符号位;
[0018] S3,在进行步骤S1的同时,对所述覆盖起始位置进行译码,得到背景位选择信号;
[0019]S4,在进行步骤S1的同时,计算覆盖长度与覆盖起始位置的和,并对所述和值进 行译码,得到符号位选择信号;
[0020]S5,根据符号扩展使能信号、所述背景位选择信号及所述符号位选择信号,对所述 前景值、所述最终符号位及背景寄存器中的值进行选择,得出结果。
[0021] (三)有益效果
[0022] 本发明提供的位域覆盖装置及操作方法,借用了处理器中已有的移位模块,减少 了标准单元的使用,减少了面积,降低了功耗;整个逻辑操作是高度并行的,在数字信号处 理器中,可以在一个周期之内执行完毕,这简化了流水线设计,提高了执行效率;使用位选 择器,在移位的同时可并行得到需要扩展的符号位,使用扩展使能信号选择符号位,比不需 要扩展的位域覆盖操作只多了一级"选择器"的延时。
【附图说明】
[0023] 图1是本发明实施例中位域覆盖操作的示例图。
[0024] 图2是本发明实施例中的位域覆盖装置的结构图。
【具体实施方式】
[0025] 本发明提供一种位域覆盖装置,包括第一译码装置、第二译码装置、移位器、位选 择装置、加法器及选择器组,通过移位器得到前景值,通过位选择装置得到最终符号位,通 过第一译码装置得到背景位选择信号,通过加法器及第二译码装置得到符号位选择信号, 选择器组根据符号扩展使能信号、背景位选择信号及符号位选择信号,对前景值、最终符号 位及背景寄存器中的值进行选择,得出结果。
[0026] 在一种实施方式中,移位器根据覆盖起始位置,将前景寄存器中的值进行左移,得 到前景值;位选择装置根据覆盖长度,选择前景寄存器中需要扩展的符号位,根据覆盖起始 位置选择背景寄存器中的符号位,并从选择的两个符号位中确定最终符号位;第一译码装 置对所述覆盖起始位置进行译码,得到背景位选择信号;加法器计算所述覆盖长度与覆盖 起始位置的和,得到和值,第二译码装置对和值进行译码,得到符号位选择信号。
[0027] 在一种实施方式中,第一译码装置包括第一译码器及第一反相器,第一译码器对 覆盖起始位置进行译码后,第一反相器对译码结果进行反向,得到背景位选择信号。
[0028] 在一种实施方式中,位选择装置包括第一位选择器、第二位选择器及符号位选择 器,第一位选择器根据覆盖长度选择前景寄存器中需要扩展的符号位,第二位选择器根据 覆盖起始位置选择背景寄存器中的符号位,符号位选择器根据覆盖长度,从选择的两个符 号位中确定最终符号位。
[0029] 在一种实施方式中,当覆盖长度等于0时,符号位选择器选择第一位选择器输出 的符号位,否则,符号位选择器选择第二位选择器输出的符号位。
[0030] 在一种实施方式中,加法器还输出一个进位值。
[0031] 在一种实施方式中,第二译码装置包括第二译码器、第二反向器及与门,其中,第 二译码器对和值进行译码后,输入到与门的一个输入端,第二反向器对加法器的进位值进 行反向后,输入到与门的另一个输入端,与门对其输入端的输入进行与运算,得到符号位选 择信号。
[0032] 在一种实施方式中,选择器组包括第一选择器、第二选择器及第三选择器,前景值 及背景寄存器中的值分别输入至第一选择器的输入端,所述背景位选择信号输入至第一选 择器的控制端;最终符号位及所述背景寄存器中的值分别输入至所述第二选择器的输入 端,将一个扩展使能信号输入至第二选择器的控制端;第一选择器及第二选择器的输出端 接第三选择器的输入端,符号位选择信号输入至第三选择器的控制端。
[0033] 本发明还提供一种位域覆盖操作方法,包括:
[0034] S1,根据覆盖起始位置,将前景寄存器中的值进行左移,得到前景值;
[0035] S2,在进行步骤S1的同时,根据覆盖长度,选择前景寄存器中需要扩展的符号位, 根据覆盖起始位置选择背景寄存器中的符号位,并从两个符号位中确定最终符号位;
[0036] S3,在进行步骤S1的同时,对所述覆盖起始位置进行译码,得到背景位选择信号;
[0037] S4,在进行步骤S1的同时,计算覆盖长度与覆盖起始位置的和,并对所述和值进 行译码,得到符号位选择信号;
[0038] S5,根据符号扩展使能信号、所述背景位选择信号及所述符号位选择信号,对所述 前景值、所述最终符号位及背景寄存器中的值进行选择,得出结果。
[0039] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明进一步详细说明。
[0040] 图1是本发明一实施例提供的位域覆盖操作的示意图。
[0041] 位域覆盖操作的操作数在处理器中的定义如下:
[0042] 1、背景寄存器Rb和前景寄存器Rf,寄存器位宽与处理器位宽相同,下文中涉及的 寄存器均是处理器位宽N,一般情况下N = 32或64 ;
[0043] 2、覆盖起始位置Pos,位宽为log2N,取值范围N-1至0 ;
[0044] 3、覆盖长度Len,位宽为log2N+l,取值范围N至0 ;
[0045] 4、符号扩展使能E。
[0046] 图1的(a)图是无需符号扩展的位域操作示意图。在前景寄存器Rf中从最低位 开始,取Len位,覆盖到背景寄存器中从Pos位(第Pos+1位,含该位)开始的Len位。当 Pos等于0, Len不为0,则背景寄存器Rb中的最低位也将被覆盖。若P〇s+Len>31,则超出范 围的数值将被舍去。当符号扩展使能时,需要根据结果低Pos+Len位的最高位进行扩展,即 S = Dest [Pos+Len-1]。若Len不等于0,则扩展的符号位是前景寄存器中的第Len位(即 Rf[Len-l]),结果如图1的(b)图所示;若Len等于0,则Pos+Len = Pos,于是当前结果的 Pos+Len位是背景寄存器的第Pos位(即Rb[Pos-l]),结果如图1的(c)图所示。若Len 和Pos都为0,不扩展符号时,结果与背景寄存器相同,符号扩展时,结果是0。
[0047] 图2是本发明一实施例提供的位域覆盖装置的结构图,如图2所示,位域覆盖装置 包括第一译码装置、第二译码装置、移位器201、位选择装置、加法器205及选择器组206,其 中,第一译码装置包括第一译码器204及第一反相器,第二译码装置包括第二译码器207、 第二反向器及与门,选择器组206包括第一选择器2061、第二选择器2062及第三选择器 2063〇
[0048] 位域覆盖
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1