用于处理任意宽度数据的算术逻辑单元及其处理方法技术

技术编号:4128138 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用于处理任意宽度数据的算术逻辑单元及其处理方法,该逻辑单元包括通用算术逻辑单元,还包括:第一移位器A,用于对第一源操作数进行预处理,并将预处理结果输出至通用算术逻辑单元的输入端口A;第二移位器B,用于对第二源操作数进行预处理,并将预处理结果输出至通用算术逻辑单元的输入端口B;第三移位器C,用于通用算术逻辑单元的输出数据进行后处理;通用算术逻辑单元对第一移位器A、第二移位器B的预处理结果执行算术逻辑运算。本发明专利技术可以处理操作数位宽小于通用算术逻辑单元数据宽度的任意操作数。

【技术实现步骤摘要】

本专利技术涉及处理器结构
,特别是涉及一种增强型算术逻辑单元及 其处理任意宽度数据的方法,所述增强型算术逻辑单元可应用于对操作数宽度有特殊需求的处理器设计,包括数字信号处理器(DSP)、图形图像处理器、 多媒体处理器设计等领域。
技术介绍
算术逻辑单元(Arithmetic Logic Unit,简称ALU)是处理器系统数据通 路设计中的核心部件,其功能是通过电路实现对输入数据的算术运算(如加法、 减法)和逻辑运算(如与、或、非)并将运算结果输出。在处理器设计中,所 有处理器的数据通路设计都包括算术逻辑单元;许多设计通过改变或增强 ALU设计,来提高系统性能,降低功耗,加速操作等。 一般地,处理器数据 通路中的ALU部件包含两个源操作数输入端口和一个结果操作数输出端口, 以及一些标志位输出端口。目前许多算术逻辑单元的设计,通过增加移位器来优化其在某一特定方面 的性能,比如有些设计在ALU部件的某一源操作数输入端口前加入移位器, 也有一些在ALU的结果操作数输出端口后加入移位器。日本专利号为 JP62097032的一种专利技术,在ALU的一个输入端口上增加一个移位器。在执行 乘法操作时,该移位器预先对源操作数进行移位,再把结果送给ALU进行算 术逻辑运算。还有一些设计,是在ALU的源操作数某一输入端口和结果操作 数输出端口各增加一个移位器,用来规格化输入输出数据。这类设计对数据的 处理机制如下输入数据先经过移位器的右移操作降低数据表示精度,使ALU 部件的操作变得更简单,然后ALU根据指令操作符处理右移后的操作数,ALU 的操作结果再通过移位器逻辑左移相应位数,保持与源操作数格式的一致。微处理器通常在操作数宽度方面受到限制,即无法对小于通用ALU数据 位宽的任意宽度操作数进行操作。数据位宽为N的ALU能够处理宽度为N的操作数,但无法处理从1到N-1的任意宽度操作数。在数字信号处理器中,通常还需要操作宽度8/16/24的数据。 一些处理器设计会在数据通路中提供至少 两个ALU, 一个用来做16位相关操作, 一个用来做24位相关操作,即便如 此,其支持的位数依然受硬件限制,无法支持任意位宽。目前普遍采用的单指 令多数据流(Single Instruction Multiple Data,简称为SIMD)技术,也只能处理 几种固定位宽的操作数,而引入SIMD需要大规模修改指令系统和结构设计。
技术实现思路
本专利技术所要解决的技术问题在于提供一种用于处理任意宽度数据的算术 逻辑单元及其处理方法,用于克服微处理器操作数宽度的限制,实现对任意宽 度的数据处理,使得微处理器在执行算术逻辑操作时,可以处理操作数位宽小 于通用算术逻辑单元数据宽度的任意操作数。本专利技术的另一目的是提供一种用于处理任意宽度数据的算术逻辑单元,包括通用算术逻辑单元,其特征在于,还包括第一移位器A,其数据输出端口与所述通用算术逻辑单元的输入端口 A相连接,用于根据使能信号、移位位数控制信号对第一源操作数进行预处理,并将预处理结果输出至所述输入端口 A;第二移位器B,其数据输出端口与所述通用算术逻辑单元的输入端口 B相连接,用于根据使能信号、移位位数控制信号、移位类型控制信号对第二源操作数进行预处理,并将预处理结果输出至所述输入端口B;第三移位器c,其数据输入端口与所述通用算术逻辑单元的输出端口 c相连接,用于根据使能信号、移位位数控制信号对所述通用算术逻辑单元的输出数据进行后处理;所述通用算术逻辑单元对所述第一移位器A、所述第二移位器B的预处 理结果执行算术逻辑运算。所述的用于处理任意宽度数据的算术逻辑单元,其中,所述第一移位器A 的移位类型包含逻辑左移。所述的用于处理任意宽度数据的算术逻辑单元,其中,所述第二移位器B 包含通用的移位类型。所述的用于处理任意宽度数据的算术逻辑单元,其中,所述第三移位器C的移位类型包含算术右移。所述的用于处理任意宽度数据的算术逻辑单元,其中,所述第一移位器A 和所述第三移位器C根据所述使能信号控制是否执行移位操作,所述第二移 位器B根据所述使能信号控制是否执行逻辑左移;所述使能信号由预设的控 制信号产生。所述的用于处理任意宽度数据的算术逻辑单元,其中,所述第一移位器A、 所述第二移位器B和所述第三移位器C根据所述移位位数控制信号控制所执 行移位操作的移位位数,所述移位位数控制信号由预设的控制信号产生。所述的用于处理任意宽度数据的算术逻辑单元,其中,所述第二移位器B 根据所述移位类型控制信号控制执行移位操作的类型,所述移位类型控制信号 由预设的控制信号产生。为了实现上述目的,本专利技术还提供了一种用于处理任意宽度数据的方法, 其特征在于,包括步骤一,对指令进行译码,并根据译码结果从数据地址空间取出第一源操 作数、第二源操作数,同时产生使能信号、移位位数控制信号和移位类型控制 信号;步骤二,根据所述使能信号、所述移位位数控制信号对所述第一源操作数 进行预处理,根据所述使能信号、所述移位位数控制信号、所述移位类型控制 信号对所述第二源操作数进行预处理;步骤三,对预处理后的所述第一源操作数、所述第二源操作数执行算术逻 辑运算;步骤四,根据所述使能信号、所述移位位数控制信号对执行算术逻辑运算 后的数据进行后处理,并输出结果。所述的用于处理任意宽度数据的方法,其中,所述指令的指令编码中包含移位位数域、使能位域。所述的用于处理任意宽度数据的方法,其中,所述步骤二中,进一步包括: 当所述使能信号有效时,根据所述移位位数控制信号对所述第一源操作数、所述第二源操作数分别执行相应的位数逻辑左移操作,得到预处理后的所述第一源操作数、所述第二源操作数; 所述步骤四中,进一步包括6当所述使能信号有效时,对执行算术逻辑运算后的数据进行算术右移操 作,并将结果作为最终结果输出。 本专利技术的有益技术效果本专利技术引入增强型算术逻辑单元设计的处理器,可以更好的支持对多种宽 度操作数进行算术逻辑运算的应用。比如数字信号处理器,需要处理各种数据 位宽的操作数。其中对音频的处理多是16位;图像处理的许多计算是8位的,而且不加入饱和处理,就需要进行9位的ALU操作。图像处理还需要对各种 数据宽度的位操作;当然DSP中还有通用的32位算术逻辑运算。整个设计中, 完全可以加入32位处理宽度的增强型算术逻辑单元,来满足处理所有宽度操 作数的需求。增强型算术逻辑单元解决了目前微处理器操作数宽度受限问题, 实现了微处理器在执行算术逻辑操作时,可处理小于其数据位宽的任意宽度数 据的能力。以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的 限定。附图说明图1是本专利技术处理任意宽度数据的增强型算术逻辑单元的结构示意图2是本专利技术处理任意宽度数据的方法流程图3是专利技术实施例中加法运算各操作数的运算二进制数值。具体实施例方式下面结合附图和具体实施方式对本专利技术的技术方案作进一步更详细的描述。如图1所示,是本专利技术处理任意宽度数据的增强型算术逻辑单元的结构示意图。用于处理任意宽度数据的增强型算术逻辑单元2,包括通用算术逻辑单元 203,还包括两个分别与通用算术逻辑单元203的输入端口相连接的移位器A 201和移位器B 202、以及与通用算术逻辑单元203的输出端口相连接的移位 本文档来自技高网
...

【技术保护点】
一种用于处理任意宽度数据的算术逻辑单元,包括通用算术逻辑单元,其特征在于,还包括: 第一移位器A,其数据输出端口与所述通用算术逻辑单元的输入端口A相连接,用于根据使能信号、移位位数控制信号对第一源操作数进行预处理,并将预处理结果输出至 所述输入端口A; 第二移位器B,其数据输出端口与所述通用算术逻辑单元的输入端口B相连接,用于根据使能信号、移位位数控制信号、移位类型控制信号对第二源操作数进行预处理,并将预处理结果输出至所述输入端口B; 第三移位器C,其数据输入 端口与所述通用算术逻辑单元的输出端口C相连接,用于根据使能信号、移位位数控制信号对所述通用算术逻辑单元的输出数据进行后处理; 所述通用算术逻辑单元对所述第一移位器A、所述第二移位器B的预处理结果执行算术逻辑运算。

【技术特征摘要】
CN 2008-8-15 200810118509.01、一种用于处理任意宽度数据的算术逻辑单元,包括通用算术逻辑单元,其特征在于,还包括第一移位器A,其数据输出端口与所述通用算术逻辑单元的输入端口A相连接,用于根据使能信号、移位位数控制信号对第一源操作数进行预处理,并将预处理结果输出至所述输入端口A;第二移位器B,其数据输出端口与所述通用算术逻辑单元的输入端口B相连接,用于根据使能信号、移位位数控制信号、移位类型控制信号对第二源操作数进行预处理,并将预处理结果输出至所述输入端口B;第三移位器C,其数据输入端口与所述通用算术逻辑单元的输出端口C相连接,用于根据使能信号、移位位数控制信号对所述通用算术逻辑单元的输出数据进行后处理;所述通用算术逻辑单元对所述第一移位器A、所述第二移位器B的预处理结果执行算术逻辑运算。2、 根据权利要求i所述的用于处理任意宽度数据的算术逻辑单元,其特 征在于,所述第一移位器A的移位类型包含逻辑左移。3、 根据权利要求1所述的用于处理任意宽度数据的算术逻辑单元,其特 征在于,所述第二移位器B包含通用的移位类型。4、 根据权利要求1所述的用于处理任意宽度数据的算术逻辑单元,其特 征在于,所述第三移位器C的移位类型包含算术右移。5、 根据权利要求2、3或4所述的用于处理任意宽度数据的算术逻辑单元, 其特征在于,所述第一移位器A和所述第三移位器C根据所述使能信号控制 是否执行移位操作,所述第二移位器B根据所述使能信号控制是否执行逻辑 左移;所述使能信号由预设的控制信号产生。6、 根据权利要求2、3或4所述的用于处理任意宽...

【专利技术属性】
技术研发人员:程旭张良佟冬李险峰
申请(专利权)人:北京北大众志微系统科技有限责任公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1