多位移位装置,利用多位移位装置的数据处理器及其方法制造方法及图纸

技术编号:2891537 阅读:187 留言:0更新日期:2012-04-11 18:40
多位移位装置(50)包括乘法器(55)用于正常的乘法操作和执行可编程序的左移和右移以节省电路面积。移位操作期间再变换电路(54)接收移位计数,根据移位方向变换该移位计数以提供一个再变换信号。乘法器(55)接收移位运算数和再变换信号,提供一个第一移位结果。在一个实施例中,输出移位器(57)根据移位方向有选择性地将第一移位结果移位一个固定量以提供一个第二移位结果。第二移位结果包括在共同位的位置内左移和右移的输出。(*该技术在2015年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数据处理系统,具体涉及具有移位能力的运算电路。数据处理器需要各种各样的移位运算实现其指令集。这种移位运算可包括左移位、右移位和循环移位。这些移位可以是算术的或逻辑的,它确定如何处理运算数任一端的位。每个移位或循环操作具有可变的移位量。由移位运算的类型确定哪一位被移位到给定位的位置。一般地,在设计电路中包含一种折衷办法,以实现运算数的移位和循环运算。用于执行运算的电路的集成电路的面积影响以完成运算时钟周期数测量的运算的性能。一种极端情况,桶形移位器执行运算数的全矩阵运算。例如,如果桶形移位器是32位宽,32位的每一位有选择地直接地耦合到其它31位的每一位。对于一个运算哪些位组合在一起由执行运算的长度和方向确定。这种桶形移位器使移位器的性能最大,但是也使用最大的空间。另一种极端情况,简单的移位器每次仅移一位。为了实现较大长度的移位,控制部分必须使用连续地1位移位运算,直到达到规定的长度。这种类型的移位器使用比桶形移位器少得多的面积,但其性能被大大地缩小。由Chas F.Studor和Robert Skruhak专利技术的美国专利No.5099445教导了一种中间移位器。这种移位器执行左和右移位,不仅移一位,而且移任意数目的位,例如4位,在容量和速度之间提供了很好的折衷。但是,在数据处理器设计中面积—速度的折衷仍是一个重要问题。G.Wolrich等人在美国专利4887232号专利技术名称为“在乘法器阵列电路中用于实现移位运算的设备和方法”中公开了一种用于在浮点系统中相加或相减之前调整运算数的移位设备。Wolrich等人使用现存的阵列乘法器,像浮点运算所要求的那样,无需使用如桶形移位器之类的附加移位器迅速地实现非规范化移位。由Wolrich等人公开的设备仅用于非规范化移位而且因此只可编程地实现右移位。但是,需要的是这样的一种移位设备,即既消耗很少的电路面积而又能够实现所有需要的移位运算。据此,本专利技术以一种形式提供一种多位移位装置,它包括第一和第二寄存器;一个再变换电路和一个乘法器。第一寄存器接收第一运算数,第二寄存器接收第二运算数。再变换电路具有一个输入端,耦合到第二寄存器;一个第一控制输入端,用以接收移位方向信号;一个第二控制输入端,用以接收方式信号;以及一个输出端。再变换电路响应该方式信号(方式信号表明乘法运算操作或移位操作)有选择性地分别向其输出端提供第二运算数或一个再变换信号。如移位方向信号所确定的那样,根据第二运算数,对再变换信号解码。该乘法器具有一个第一输入端,与第一寄存器相耦合;一个第二输入端,与再变换电路的输出端相耦合;以及一个输出端,用以提供该乘法器第一与第二输入之积。在乘法运算操作期间,该积是第一与第二运算数之积,在移位操作期间,第一移位的结果等于第一操作数与再变换信号之积。本专利技术以另一种形式提供一种具有多位移位装置的数据处理器,它含有地址和数据通路、一个指令解码器和一个算术逻辑单元。指令解码器耦合到用于取出指令的地址和数据通路,响应多个指令(其中包括移位指令和乘法指令)提供多个控制指令。指令解码器提供一个方式信号,以表明是响应一个移位指令以执行一个移位操作,还是响应一个乘法指令执行乘法运算操作。指令解码器还响应移位指令提供一个移位方向信号。算术逻辑单元与指令解码器相耦合,包括第一和第二寄存器、一个再变换电路和一个乘法器。第一寄存器接收一个第一运算数,第二寄存器接收一个第二运算数。再变换电路具有一个输入端,与第二寄存器相耦合;一个第一控制输入端,用以接收一个移位方向信号;一个第二控制输入端,用以接收方式信号;以及一个输出端。再变换电路响应方式信号(指明乘法运算操作或移位操作)有选择性地分别在其输出端上提供第二运算数或一个再变换信号。如移位方向信号所确定的,根据第二运算数,对再变换信号解码。乘法器具有一个第一输入端,与第一寄存器相耦合,一个第二输入端,与再变换电路的输出端相耦合,以及一个输出端,用以提供该乘法器的第一与第二输入之积。该积在乘法运算操作期间是第一与第二运算数之积,而在移位操作期间第一移位的结果等于第一运算数与再变换信号之积。本专利技术以又一种形式提供一种多位移位的方法。一个待移位的运算数被接收为一个第一运算数,一个移位计数被接收为一个第二运算数。如移位方向信号所确定的,移位计数被再变换以提供一个再变换信号。如移位方向信号所确定的,根据该移位计数,对该再变换信号解码。待移位的运算数提供到乘法器的第一输入端,再变换信号被提供到乘法器的第二输入端。乘法器的输出被提供作为第一移位的结果。通过结合以下附图阅读如下详细描述将会对上述的这些特点和其它特点以及优点更清楚地了解。附图说明图1示出现有技术的一种算术逻辑单元(ALU)的方框图。图2示出本专利技术的内含数据处理器的数据处理系统。图3示出本专利技术的一个实施例的ALU的方框图。图4示出图3的再变换电路的方框图。图5示出本专利技术的第二实施例的ALU的方框图。图6示出图5的修改布斯(Booth)再编码器和MUX的部分逻辑图和部分原理图。图1示出现有技术的算术逻辑单元(ALU)20的方框图。ALU20包括用于存储运算数的寄存器21和22。ALU20包括一个阵列乘法器23,在相乘指令期间它接收这两个运算数。当提供给乘法器23时,这两个运算数被分别标号“MULTIPLIER”和“MULTIPLICAND”(“乘数”和“被乘数”)。阵列乘法器23是一种常规的阵列乘法器,例如修改的Booth乘法器、华莱士(Wallace)树等。在修改的Booth乘法器的情况下,一系列修改的Booth再编码器(未示出)接收三个乘法器位的相应的组并且再编码它们以提供信号至阵列乘法器23的一个阵列。然后被乘数信号被传送到该阵列的复用器,以便根据常规的修改的Booth再编码选择部分乘积,即0、±1和±2倍被乘数。然后相加复用器的输出,提供最后的和,该和是乘数和被乘数的乘积。阵列乘法器23提供该乘积作为输出信号至累加加法器24。累加加法器24有一个输入端,用于接收先前的和,该和加到该乘积并又提供这个和作为至寄存器25的输出。寄存器25是一个读/写寄存器,该寄存器有一个输出被返回连接到累加加法器24的输入端。这样ALU20能够执行乘和累加(MAC)指令。ALU还包括一个桶形移位器26实现移位指令。桶形移位器26有一个连接到寄存器输出端的第一输入端,用于接收标示有“SHIFT OPERAND”(移位运算数)的数量;和一个第二输入端,连接到寄存器22的输出,用于接收标示“SHIFT COUNT”(移位计数)的数量;和一个输出端,用于提供标示“SHIFTED OUTPUT”(移位输出)的数量作为其输出。桶形移位器26还接收其它控制信号(未示出)以确定移位运算的类型。桶形移位器26能移位SHIFT OPERAND的任何位到由移位运算和SHIFT COUNT的类型确定的任何其它位的位置。桶形移位器26仅需要小的传播延迟,该延迟通常是在数据处理器单个时钟周期之内。但是,为了获得这种灵活性,桶形移位器26包括一个大的晶体管阵列,在每个位的位置和每隔一个位的位置之间形成可选择的连接。因为它需要大量的晶体管,桶形移位器26耗用大量集成电路面积,而且耗用大量的功率。希望获得桶形移位器2本文档来自技高网...

【技术保护点】
一种用以执行移位操作和乘法运算操作的装置(50),其特征在于:一个第一寄存器(51),用于接收一个第一运算数,一个第二寄存器(52),用于接收一个第二运算数,一个再变换电路(54),具有一个输入端,与上述第二寄存器(52)相耦合 ,一个第一控制输入端,用以接收移位方向信号,一个第二控制输入端,用以接收方式信号,以及一个输出端,所述的再变换电路(54)响应用以表明乘法运算操作或移位操作的上述方式信号,有选择性地分别地向其输出端提供上述第二运算数或再变换信号;上述的 再变换信号如上述移位方向信号所确定的、根据上述第二运算数来解码;以及所述第一输入和所述相乘方式的所述第二输入;和一个乘法器(55),具有一个第一输入端,耦合到所述第一寄存器(51);一个第二输入端,耦合到所述再变换电路(54)的所述 输出端;和一个输出端;用于提供所述的乘法器(55)的第一与第二输入之积,所述的积在乘法运算操作期间是第一与第二运算数之积,在所述移位操作期间是等于上述第一运算与上述再变换信号之积的一个第一移位结果。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:约瑟夫P格根金基超李
申请(专利权)人:摩托罗拉公司
类型:发明
国别省市:US[美国]

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

1