CN1773451A - 任意精度运算器、任意精度运算方法和电子设备 - Google Patents

任意精度运算器、任意精度运算方法和电子设备 Download PDF

Info

Publication number
CN1773451A
CN1773451A CNA2005101202798A CN200510120279A CN1773451A CN 1773451 A CN1773451 A CN 1773451A CN A2005101202798 A CNA2005101202798 A CN A2005101202798A CN 200510120279 A CN200510120279 A CN 200510120279A CN 1773451 A CN1773451 A CN 1773451A
Authority
CN
China
Prior art keywords
arbitrary accuracy
input value
computing
operator
arithmetical unit
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
Application number
CNA2005101202798A
Other languages
English (en)
Other versions
CN100375011C (zh
Inventor
唐木信雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1773451A publication Critical patent/CN1773451A/zh
Application granted granted Critical
Publication of CN100375011C publication Critical patent/CN100375011C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3816Accepting numbers of variable word length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3872Precharge of output to prevent leakage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/5016Half or full adders, i.e. basic adder cells for one denomination forming at least one of the output signals directly from the minterms of the input signals, i.e. with a minimum number of gate levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种通过较简单的构成即可实现无论数据的精度如何,均可采用同一计算算法进行运算的任意精度运算器。该任意精度运算器包括主处理部(2),其从低位起、每次N(N为自然数)位地对第1任意精度数值和第2任意精度数值的每个值进行分割,并作为N位长度的第1输入值和第2输入值依次输出。该任意精度运算器还包括N位运算器(1)其实施所供给的第1输入值(X)和第2输入值(Y)的运算,每当运算结束时,向主处理部(2)请求下一N位的运算,并且将通过该运算产生的进位(Carry)添加到下一N位的运算中。

Description

任意精度运算器、任意精度运算方法和电子设备
技术领域
本发明涉及进行加减法运算的运算器,尤其涉及适合于不限于编译程序(compiler)能够处理的精度的任意精度的可变长度数据的运算的任意精度运算器。
背景技术
在过去,在处理器内部进行加减法运算的运算器以对固定长度的整数进行处理为前提。比如,8位CUP(中央运算装置)采用算术四则运算用的8位固定长度的全加器,或可并用于地址生成的16位固定长度的全加器。
另外,在可变长度数据通过软件描述而指定的情况下,软件语言的编译程序按照可通过对固定长度的全加器的反复运算来实现可变长度数据的运算的方式生成命令设定。
构成为:通过这样的编译程序处理,即使如上所述,在使用通过硬件而能处理的字长度被规定的固定长度的全加器的情况下,仍可执行对可变长度数据进行处理的运算。
但是,由于对于每种编程语言,可进行处理的数据的精度(字长度)是确定的,故难于进行超过能处理的精度的运算。即使在可变长度数据能处理的情况下,仍无法实现位数极大的运算。
比如,即使在实施10000位的数字之间的运算的情况下,在过去的计算装置中,超过可通过编译程序提供的计算算法进行运算的精度,无法应对。为了应对该情况,需要根据数值的位数,即,根据所处理的数值的精度,以可进行特别的数值的处理的方式,改变计算算法,但是如果采取这样的措施,则编程复杂化。
当然,通过增加运算器能够暂时处理的固定长度的方式,从而可以进行处理的数据的位数也增加。但是,在该情况下,硬件以较大程度变得复杂。并未解决不得不从某位数起改变计算算法的本质问题。
发明内容
于是,本发明的课题在于,以比较简单的构成实现一种无论数据的精度如何,均可采用同一计算算法进行运算的任意精度运算器。
为了解决上述课题,本发明的任意精度运算器包括主处理部,其从低位起、每次N(N为自然数)位地对第1任意精度数值和第2任意精度数值的每个值进行分割,并作为N位长度的第1输入值和第2输入值依次输出。另外,本发明的任意精度运算器包括N位运算器,其实施所供给的该第1输入值和该第2输入值的运算,每当运算结束时,向该主处理部请求下一N位的运算,并且将通过该运算产生的进位添加到下一N位的运算中。
比如,在主处理部中,实施下述的任意精度运算方法,其中包括:从低位起、每次N(N为自然数)位地对第1任意精度数值和第2任意精度数值的每个值进行分割的步骤;将分割后的该第1任意精度数值作为N位长度的第1输入值、将该第2任意精度数值作为N位长度的第2输入值依次输出的步骤;每当请求下一N位的运算时,允许下一N位的该第1输入值和该第2输入值的输出的步骤;
另外,比如,在N位运算器中,实施下述的任意精度运算方法,其中包括:实施从低位起、每次N(N为自然数)位地将第1任意精度数值进行分割而供给的N位长度的第1输入值,与从低位起、每次N位地将第2任意精度数值进行分割而供给的N位长度的第2输入值的运算的步骤;每当该运算结束时,请求下一N位的运算的步骤;将通过该运算产生的进位添加到下一N位的运算中的步骤。
根据上述构成或步骤,在主处理部中,从低位侧(LSB)起依次将任意精度的、比如非常多的位数的数值分割为设置于该系统中的N位的固定长度的数据,并从低位的N位起发送给N位运算器。在N位运算器中,执行所供给的N位的数值的运算,如果产生进位,则以添加到下一发送的N位的数值中的方式进行保持。另外,每当N位运算结束时,向主处理部,请求下一N位数值的供给。在主处理部中,接受该请求,允许下一N位的输出。根据该构成,依次从低位起每次N位地供给数值,不影响固定长度(N位)或编译程序的处理精度,对精度极高、即位数多的数值的运算也能进行处理。由于硬件仅仅为N位的运算器就足够了,故在硬件结构也极简单的状态下,就可以进行高精度的运算。
本发明的任意精度运算器包括:N位全加器,其对从低位起、每次N(N为自然数)位地将第1任意精度数值进行分割而供给的N位长度的第1输入值,和从低位起、每次N位地将第2任意精度数值进行分割而供给的N位长度的第2输入值进行加法运算;保持电路,其保持为能将通过上述N位全加器的加法运算产生的进位加到下一N位的运算中的最低位的位上。
该构成与N位运算器的构成相对应。在N位全加器中进行加法运算,产生的进位保持于保持电路中。保持于保持电路中的进位与下一N位数值的最低位的位进行加法运算。由此,可通过进位连接每次N位地分割后的数值之间,同时在任何级都可反复进行该处理。
本发明的任意精度运算器包括:产生该第2输入值的逻辑非的逻辑“非”电路;选择电路,其在指示是加法还是减法的算符表示减法的情况下,将逻辑非的第2输入值输出到该N位全加器。
该构成表示N位运算器的构成,其进行动作,以便在进行减法运算的情况下,通过选择电路选择第2输入值的逻辑非,在N位运算器中与第1输入值进行加法运算,结果实施两个输入值的减法运算。
在这里,最好构成为:保持电路在表示算符是减法的情况下,在运算开始后的最初的N位运算时,将值1供给到N位全加器,在其以后的N位运算时,将通过上次的加法运算产生的进位供给到N位全加器。在从第1输入值中减去第2输入值的情况下,正确地对第2输入值的2的补数进行运算,将该2的补数与第1输入值相加。根据该N位运算器用的构成,在算符表示减法的情况下,最初在加法器中加值1,并与作为1的补数表现的第2输入值的逻辑非值相加,其结果是,将第2输入值的2的补数与第1输入值相加。由此,仅仅通过向保持电路输出算符,便可进行正确的减法运算。
另外,本发明也可包括锁存电路,其从同一输入线输入第1输入值和第2输入值,分别对其进行锁存,并将其供给到N位全加器。该构成属于变形例,锁存电路从同一输入线按照时间差,输入第1输入值和第2输入值,并对每个值进行锁存后输出,由此,可限制输入线数量,实现小型(compact)的构成。
此外,锁存电路也可构成为还输入算符,将该算符供给到选择电路后,将第1输入值和第2输入值锁存。是首先对算符进行锁存,切换到加法减法中的另一者后,分别对输入值进行锁存。
本发明包括:分割机构,其为了进行任一精度的运算,从低位起、每次N(N为自然数)位地对第1任意精度数值和第2任意精度数值的每个值进行分割;输出机构,其将分割完的该第1任意精度数值作为N位长度的第1输入值,将该第2任意精度数值作为N位长度的第2输入值,依次输出到N位运算器。
该构成表示主处理部的构成。从低位起、每次N位地将双方的任意精度数值进行分割,输出分别分割完的第1输入值和第2输入值。由于即使输入了任意精度的数值,在固定长度(N位)的运算器中也变形为可照原样运算的形式后输出,故可进行任意精度的运算。
在这里,最好,每当从N位运算器请求下一N位的运算时,输出下一N位的第1输入值和第2输入值。按照该构成,由于接受N位运算的结束后输出下一N位的数值,故也可不根据运算器的速度来改变输入值的输出定时,特别是,由于采用伴随请求的发生而进行输出的信号交换(handshake)形式,故适合于非同步式电路结构。
另外,最好构成为能够输出表示使N位运算器进行加法运算还是减法运算的算符,在最高位的N位的运算结束的情况下,作为该算符,输出表示任意精度运算的结束的识别信息。根据该构成,可通过在N位运算器侧监视算符,而识别任意精度数值的运算结束。
在本发明中,最好输入输出信息中的至少1个以上根据双线编码方式进行编码。根据双线编码方式,不需要另外的时钟就可进行数据的发送接收,电路结构可简化。
此外,最好本发明包括通过信号交换方式而被驱动的非同步式电路结构。本发明的处理是反复进行相同的处理的请求和输出,在通过信号交换而被执行的非同步式的处理中,可最大限度地提高性能。由此,即使任意精度数值的位数增多,也可以高速地进行处理。
还有,本发明也可包括通过全局时钟(global clock)而被驱动的同步式电路结构。是即使根据同步式电路结构也可以确实地实施的构成。
再有,本发明也可为具备本发明的任意精度运算器的电子设备。由于通过具备本发明的任意精度运算器,可以以简单的电路实现高精度的运算,故一般对于需要粗略的运算的装置,有用性高。
附图说明
图1为本发明的任意精度运算器的系统图;
图2为实施方式1的N位运算器的框图;
图3为实施例1的N位运算器的框图;
图4为实施例1的非同步1位全加器的框图;
图5为Null检测电路的电路图;
图6为z_1输出电路的结构图;
图7为z_0输出电路的结构图;
图8为Cout_1输出电路的结构图;
图9为Cout_0输出电路的结构图;
图10为实施例2的1位运算器的框图;
图11为实施例2的N位运算器的时序图;
图12为实施方式2的N位运算器的框图;
图13为实施方式3的电子设备的例子。
图中:1、1b、1c-位运算器;2-主处理部;10-N位全加器;10(0)、10(N-1)、10(n)、10b-非同步1位全加器;11-选择电路;12-逻辑“非”电路;13-保持电路;14-锁存电路;21-分割机构;22-输出机构;100、120、140、160-输出电路;101~113、121~133、141~153、161~173-晶体管;114、134、154、174-反相器;180-检测电路;1000-个人计算机;1001-液晶显示器;1002-键盘;1004-微处理器电路;Carry-进位;Cin-进位输入;Cout-进位输出;D-输入线;In-输入值;Operator-算符;Out-输出值;PC-预充电信号;Vdd-高电位电源;Vss-接地电位;x、x(0)、x(1)、x(N-1)、X1、X2、Xm-第1输入值;X-第1任意精度数值;y、y(0)、y(1)、y(N-1)、Y1、Y2、Ym-第2输入值;Y-第2任意精度数值;z、z(0)、z(1)、z(N-1)、Z-输出值。
具体实施方式
下面参照附图,对本发明的实施形式进行描述。
以下的实施形式为本发明的例示,并不限于其公开内容,本发明可变形为各种形式来采用。
(实施方式1)
本发明的实施方式1涉及采用N位(N为1以上的整数)的固定长度加法器来构成任意精度运算器的实例。
图1表示本发明的任意精度运算器的系统图。如图1所示,本任意精度运算器由主处理部2和N位运算器1构成。
主处理部2构成为:从低位起、每次N位地对第1任意精度数值X和第2任意精度数值Y的每个值进行分割,并作为N位长度的第1输入值(X1、X2、…Xm)和第2输入值(Y1、Y2、…Ym)依次输出。该N位运算器1实施所供给的第1输入值(X1、X2、…Xm)和第2输入值(Y1、Y2、…Ym)的运算。另外,每当运算完毕时,向主处理部2输出请求下一N位的运算的信号PC,并且将通过该运算产生的进位添加于下一N位的运算中。
另外,在本说明书中,以大写字符标记为“X”的情况下表示原始的任意精度数值,在记载为“Xn”(1≤n≤m)时,表示从任意精度数值分割后的、N位长度的各N位块。另外,在以小写字符记载为“xn”(1≤n≤N-1)的情况下表示N位块中的第n位的位数据,记载为“x_1”,“x_0”的情况下表示位数据按照双线编码方式(Dual-rail Encoding)而被编码的、双线的每个数据。
具体来说,主处理部2包括分割机构21和输出机构22。分割机构21从低位起、每次N位地对第1任意精度数值X和第2任意精度数值Y的每个值进行分割,按照N倍数对其进行规格化处理。第1任意精度数值X和第2任意精度数值Y这两者,每次N位地按照同一数m(m为1以上的整数)进行分割。比如,如图2所示,设第1任意精度数值X为P位(N<P≤m×N),第2任意精度数值Y为Q位(P<Q)。在从低位起、每次N位地进行分割的情况下,针对Y,向第m个N位块分配MSB。将第m个的N位中、MSB以上的位数的位设为“0”。然而,由于第1任意精度数值X的位数小于第2任意精度数值Y的位数,故X的MSB设置于中间(比如,第m-2个)的N位块中。与Y相同,将任意精度数值X的第m-2个的MSB以上设为“0”。此外,剩余的第m-1个和第m个的N位块均全部设为“0”。
输出机构22将分割后的第1任意精度数值X作为N位长度的第1输入值(X1、X2、…Xm),将第2任意精度数值Y作为N位长度的第2输入值(Y1、Y2、…Ym),依次输出到N位运算器1。在这里,输出机构22每当从N位运算器1请求下一N位的运算时,输出下一N位的第1输入值和第2输入值。即,输出机构22每当发送作为来自N位运算器1的请求信号的预充电信号PC(Pre Charge)时,输出下一N位块。
另外,主处理部2构成为能够输出表示使N位运算器进行加法运算还是进行减法运算的算符Operator。该算符Operator构成为:在最高位的N位的运算结束的情况下,作为算符Operator,输出表示任意精度运算的结束的识别信息Null。
根据上述主处理部2的构成,由于接受N位运算的结束如图输出下一N位的数值,故也可不根据N位运算器1的处理速度来改变输出机构22的输出定时。特别是,由于为伴随请求的发生而进行输出的信号交换方式,故适合于非同步式电路结构。该结构的具体内容将在后面进行描述。
此外,如果不通过主处理部,则无法得知m个N位块的运算结束的情况,但是根据该主处理部2的构成,通过在N位运算器1中监视算符Operator,从而能识别任意精度数值的运算结束。
图2中表示N位运算器1的结构图。该N位运算器1既可由同步式电路结构构成,也可由非同步式电路结构构成。
图2所示的N位运算器1包括:N位全加器10、选择电路11、逻辑“非”电路12和保持电路13。N位全加器10将从低位起、每次N位地对第1任意精度数值X进行分割后供给的N位长度的第1输入值(X1、X2、…Xm),和从低位起、每次N位地对第2任意精度数值Y进行分割后供给的N位长度的第2输入值(Y1、Y2、…Ym)相加。该加法器为固定长度(N位)的加法器。逻辑“非”电路12生成第2输入值(Y1、Y2、…Ym)的逻辑“非”。即,对第2输入值的1的补数进行运算。选择电路11在指示是加法还是减法的算符Operator表示减法运算的情况下,代替第2输入值,而将从逻辑“非”电路12供给的、逻辑非运算出的第2输入值输入到N位全加器10中。算符Operator指定计算开始和运算方法。比如,在为“0”的情况下表示“加法运算”,在为“1”的情况下表示“减法运算”。选择电路11为所谓的多路转换器(multiplexer),在算符Operator为“0”的情况下,直接输出未进行逻辑非运算的、从主处理部2供给的第2输入值,在算符Operator为“1”的情况下,输出经过逻辑非运算的第2输入值。根据该构成,仅在N位全加器10侧实施加法运算,就可实现加法运算和减法运算。保持电路13作为锁存电路发挥作用,其保持为能将通过N位全加器10的加法运算产生的进位Carry加到下一N位的运算的最低位的位上。最好,在算符Operator中将“1”定义为减法运算的情况下,在最初的N位运算时,将算符的值“0”作为进位输入Cin而添加。减法运算通过将减数的2的补数与被减数相加而实施。在逻辑“非”电路12中,由于生成1的补数,故如果将算符OPerator的“1”与其相加,则可以生成2的补数,可实施正确的减法运算。
另外,在图2的电路中,算符Operator直接到供给选择电路11,但是也可构成为暂时将算符Operator输入到保持电路13,经由该保持电路13,或经由另外的锁存电路,供给到选择电路11。比如,在供给通过后述的双线编码方式而被编码的算符Operator的情况下,算符形成2位的结构,获得4个值(参照表1)。其中,比如,将作为无效代码字的“Null”规定为非运算时的识别符,将作为有效代码字的“0/1”规定为指示运算内容是加法运算还是减法运算的识别符。另外,在算符变为“Null”以外的有效代码字时,对该有效代码字进行锁存,用该有效代码字所表示的运算内容,开始运算。保持该有效代码字,直至接着向算符输出无效代码字“Null”。通过这样的构成,从而可借助算符Operrator的控制,同时指示运算开始和运算内容。保持算符Operrator的电路,与保持进位Carry的保持电路13既可为同一电路,也可为不同的电路。
根据上述N位运算器1的构成,由于具有逻辑“非”电路12,在选择电路11中,可根据算符Operrator的值,选择是直接输出第2输入值,还是对其进行逻辑“非”后输出,故可通过算符Operrator来指定进行加法运算还是减法运算。
另外,根据上述N位运算器1的构成,由于保持电路13构成为将通过前一次的加法而产生的进位Carry供给到N位全加器10,故可通过进位连接每次N位地被分割的输入值,同时在任何级反复进行。由此,与位数无关,可以自由地进行任意精度的数值的加减法运算。
【实施例1】
图3中表示以非同步式电路结构构成N位运算器的实施例。
如图3所示,实施例的N位运算器1,作为N位全加器10,将N个非同步1位全加器10(0)~10(N-1)连接而构成。选择电路11并行地输出N位长度的第2输入值y(0)~y(N-1)。逻辑“非”电路12(0)~12(N-1)针对每位而设定。
非同步1位全加器10(n)、选择电路11、逻辑“非”电路12(n)、保持电路13的全部电路结构包括非同步式电路结构。按照双线编码方式对各电路的各位输入输出进行编码,非同步地进行动作。除了非同步1位全加器10(n)或逻辑“非”电路12(n)分别对按照双线编码方式而被编码的1位数据进行处理以外,基本的动作与图2的情况相同。在本实施例1中,如以普通的同步型电路结构构成各数据线的情况那样,按照通过1根信号线构成的方式给出,但是也可按照双线编码方式进行编码处理。在采用双线编码方式的编码处理的情况下,各信号线按照2根扎束。即,在图中,比如,表述为X(n)的数据线由经过编码的Xn_1和Xn_0的2根构成。
表1表示按照双线编码方式对位b进行编码处理的情况的真值表。
【表1】
Figure A20051012027900141
如表1所示,位数据b通过双线式编码,变换为{b_1,b_0}。位数据b取作为有效代码字的“0”或“1”,与作为无效代码字的“Null”的值。作为有效代码字的“0”变换为{0,1},“1”变换为{1,0},作为无效代码字的“Null”变换为{0,0}。数据的输入输出采用有效代码字而进行,但是,无效代码字“Null”除了表示非运算时以外,还用于数据间的区别。即,如果同一有效代码字连续地输入到非同步1位全加器10中,则由于在接收电路中不能识别数据的到达,故通过交替地传送有效代码字和无效代码字,可识别有效代码字。
比如,4位的数据“1”、“1”、“0”、“1”通过双线编码,分别编码为[1,0]、[1,0]、[0,1]、[1,0]后输入。该编码方式只是例示,其不构成对编码方法的限定,希望为可至少对有效代码字“1”与“0”和无效代码字“Null”进行编码处理的方式。
另外,[1,1]通常是不准许的状态,假设在输入这样的值的情况下,考虑在电路侧排除。在检测时刻停止动作并输出异常发生警报,在误动作的通报和防止错误数据的传播方面是优选的。
如果将这样的双线编码方式的编码处理与非同步式电路结构并用,则可构成即使在位间的数据到达中产生时间差,也允许该情况的电路。即,其原因在于:构成为即使在由于每个位数据的信号线的元件延迟和布线延迟,数据在不同的时间到达的情况下,由于在非同步式电路中,全部的输入仍致地输出,故等待本质上最后的数据的到达而进行动作。
根据表1那样的图表(scheme),对图3所示的各位数据进行编码处理。即,第1输入值X的位数据输入值x(n)通过双线编码,变换为{x_1,x_0}。同样,第2输入值Y的位数据、进位输入Cin(n)、加法运算输出z(n)、进位输出Cout(n)均同样通过双线编码,变换为{y_1,y_0}、{Cin_1,Cin_0}、{z_1,z_0}、{Cout_1,Cout_0}。
表2表示每个的非同步1位全加器10(n)的真值表。
【表2】
              输入          输出
  X   Y   Cin   Z   Cout
  “0”   “0”   “0”   “0”   “0”
  “0”   “0”   “1”   “1”   “0”
  “0”   “1”   “0”   “1”   “0”
  “0”   “1”   “1”   “0”   “1”
  “1”   “0”   “0”   “1”   “0”
  “1”   “0”   “1”   “0”   “1”
  “1”   “1”   “0”   “0”   “1”
  “1”   “1”   “1”   “1”   “1”
在非同步1位全加器10(n)中,输入按照双线编码方式编码过的第1输入值X的位数据输入值x(n)与第2输入值Y的位数据y(n),将将从下1级的非同步1位全加器10(n-1)输入的进位Cout(n-1)作为进位输入Cin(n)而进行加法运算。作为最下级的非同步1位全加器10(0)的进位输入Cin(0),对通过保持电路13保持的、上一N位块的加法运算的最终进位输出,即来自最上级的非同步1位全加器10(N-1)的进位输出Cout(N-1)进行加法运算。在产生的进位为“1”的情况下,将进位Carry编码为{1,0},在产生的进位为“0”的情况下,将进位Carry编码为{0,1}。如果在输入值x(n),y(n),Cin(n)中的任意一个中,“Null”(=[0,0]),则输出z(n)、Cout(n)的值均为“Null”(=[0,0])。在向全部的输入中输入作为有效代码字的“0”或“1”的情况下,非同步1位全加器10(n)在经过一定的延迟时间后,根据表2的真值表,向输出z(n)和Cout(n)输出“0”或“1”。
如果将第1输入值x(n)、第2输入值y(n)和进位输入Cin(n)作为输入值,将和输出z(n)与进位输出Cout(n)作为输出值,则在1位全加法运算中,式(1)及式(2)成立。
z(n)=x(n)(+)y(n)(+)Cin(n)
                                               (1)
Cout(n)=X(n)·Y(n)+Y(n)·Cin(n)+Cin(n)·X(n)
                                               (2)
在这里,(+)表示“按位加”。表2是式(1)和式(2)的真值表,表示输入输出之间的全部组合。
图4中示出非同步1位全加器10(n)的框图,图5中示出Null检测电路的电路图,图6~图9中示出Z_1、Z_0、Cout_1、Cout_0的各自的输出电路的电路图。这些电路只是例示,可进行各种变更而构成。
如图4所示,非同步1位全加器10(n)比如构成为包括:Null检测电路170、Z_1输出电路100、Z_0输出电路120、Cout_1输出电路140、Cout_0输出电路160。各电路包括非同步式电路结构。
图5所示的Null检测电路170在全部的输入值x(n)、y(n)、Cin(n)为“Null”的情况下,向预充电信号PC(Pre-Charge)输出低电平,在其以外的情况下,输出高电平。在非运算时和数据之间的分割区间,全部的输入值为“Null”。如根据图6~图9的电路图而知道的,在各输出电路中,在该预充电状态下输出变为低电平,因此向全部的输出z(n)和Cout(n)输出“Null”。
分别如图示的那样,在图6所示的Z_1输出电路100中连接晶体管101~113,在图7所示的Z_0输出电路120中连接晶体管121~133,在图8所示的Cout_1输出电路140中连接晶体管141~153,在图9所示Cout_0输出电路160中连接晶体管161~173。反相器(inverter)114、134、154、174分别形成使逻辑反转的反相电路。
被输入预充电信号PC的晶体管101、121、141、161由P沟道MOSFET构成,输入预充电信号PC的状态(在输入值全部为“Null”的情况下)输出为低电平,在其以外的情况下,根据各输入值所示的有效代码字(“0”或“1”)来确定输出。其以外的晶体管由N沟道MOSFET构成,在输入值为高电平的情况下导通,在低电平的情况下处于截止状态。由此,级联连接的晶体管,比如图6的Z_1输出电路100中的晶体管102~104在输入值X_1、y_0,Cin_0全部为高电平的情况下,即在输入值X_1、y_0、Cin_0为{1,1,1}的情况下,被施加低电位电源,Z_1变为{1}。通过这种构成,按照表2的真值表规定输出。
另外,希望:以作为P沟道MOSFET从导通变为截止的定时不慢于至少某N沟道MOSFET从截止变为导通的定时的方式考虑,贯通电流不从高电位电源Vdd向接地电位Vss流动。另外,也可根据需要,对N沟道MOSFET的连接关系进行最佳化,削减晶体管的数量。比如,晶体管104和107可由单一的晶体管代替。此外,如从式(2)可以明确的,在输入值x(n)、y(n)为“1“时,与进位输入Cin的值无关,进位输出Cout必定为“1”,由此,也可在x_1与y_1分别为“1”时,以与Cin_0是“1”还是“0”无关,Cout_1变为“1”的方式构成组合电路。另外,作为输出电路,也可采用由多个P沟道MOSFET构成的电路网,来代替N沟道MOSFET的电路网。
表3中表示逻辑“非”电路12(n)的真值表。
【表3】
         输入          输出
  In_1   In_0   Out_1   Out_0
  0   0   0   0
  0   1   1   0
  1   0   0   1
如表3所示,在输入值In为无效代码字的“Null”的情况下,同样以“Null”作为输出值Out,但在输入值In为有效代码字的“0”或“1”的情况下,将其逻辑反转,输出“1”和“0”。
从主处理器2供给的算符Operator也按照双线编码方式进行编码,在加法运算的情况下为“0”,在减法运算的情况下为“1”,在一个任意精度数值X和Y的运算全部结束的非运算期间(运算结束时)输出“Null”。由于选择电路11在算符Operator为作为有效代码字的“0”的情况下,进行加法运算,故选择未经过逻辑“非”电路12(n)的第2输入值y(n)。由于在算符Operator为作为有效代码字的“1”的情况下进行减法运算,故选择经过逻辑“非”电路12(n),按照表3的真值表而被逻辑反转的第2输入值y(n)。另外,选择电路11在算符Operator为“Null”的情况下,使全部输出为“Null”。
【实施例2】
图10表示在本发明的N位运算器中,作为N=1而构成的1位运算器的实施例。
如图10所示,在该1位运算器1b中,仅仅对1位数据进行处理,由此,仅仅按照双线编码方式编码的第1输入值x_1、x_0、第2输入值y_1、y_0和算符Operator、Operator_1、Operator_0变为输入数据。因此,在1位运算器1b中,仅仅设置1个在实施例1中描述的非同步1位全加器10b。该非同步1位全加器10b的结构与在实施例1中描述的相同(参照图4~9),没有特别的变化。即,根据表2的真值表而动作。
逻辑“非”电路12也仅仅设置1个,以便与1位数据相对应。除了仅仅对1位数据进行处理的方面以外,选择电路11的其它方面与实施例1相同。即,选择电路11由算符{Operator_1、Operator_0}来控制。在算符Operator为{0,1}的情况下,第2输入值y不反转就输出,在算符Operator为{1,0}的情况下,输出通过逻辑“非”电路12进行逻辑反转的输入值。在算符Operator为{0,0}的情况下,即在“Null”输入的情况下,输出“Null”。
保持电路13在作为算符Operator,输入作为无效代码字的“Null”的情况下,输出“0”,在输入作为从“Null”起最初输入的有效代码字的“0”的情况下,输出“0”,在输入“1”的情况下,输出“1”。通过将该值“1”和输入值y的逻辑反转叠加,从而可正确地进行减法运算。即,减法运算通过严格地将2的补数表现的值相加而实施。如果算符Operator从“Null”变为有效代码字,则开始运算。在运算开始后立即输入的算符的值代替进位Cin,而添加到同步1位全加器1b中。在算符为表示加法运算的“0”的情况下,对“0”进行进位输入Cin,但是,由于为“0”输入,故不改变加法运算值。然而,在算符为表示减法运算的“1”的情况下,对“1”进行进位输入Cin。该进位输入Cin与通过逻辑“非”电路12生成的第2输入值y的1的补数表现同时进行加法运算。因此,其结果是,等同于在非同步1位全加器10b中,添加2的补数表现的第2输入值y的情况。由此,实施等同于从第1输入值x中减去第2输入值y的情况的运算。
在保持电路13中,另外直接输入非同步1位全加器10b的进位输出Cout_1和Cout_1。在运算开始后,进行将算符Operator添加于进位输入Cin中的最初的1位运算,若输入作为其结果的进位输出Cout,则保持电路13锁存该进位输出Cout。接着,如果为了进行下一位的运算,进位输出Cout暂时变为“Null”,则之后将保存在保持电路13中的上次的运算的进位输出Cout与进位输入Cin进行加法运算。
另外,该保持电路的算符Operator的锁存不是必需的。在允许作为误差的值1的情况下,不对算符Operator的值进行锁存,因此也可构成为在运算开始后,在最初的运算中,进位输入Cin始终为“0”。
即使在主处理部2中,也构成为对应于该1位运算器1b,依次输出1位数据。即,在图1的主处理部2中,设N=1,分割机构21每次1位地对任意精度数值X和Y进行分割,输出机构22每次1位地,从低位起读出任意精度数值X和Y,对应于预充电信号PC,将其输出。
图11表示采用本实施例的1位运算器1b,进行4位精度的加减法运算的情况的时序图。
如图11所示,在该时序图中,采用4相信号交换的图表。即,在运算开始前,主处理部2向全部的输入输出“Null”。在运算开始后,以下的I~IV的顺序针对每位运算,反复进行4次。
(I)向输入值x和y输出该位数据;
(II)在经过规定时间后,由加法器输出,输出值z和进位输出Cout;
(III)在外部获取输出值z,将进位输出Cout取入保持电路13后,然后,向输入值x和y输出“Null”;
(IV)在经过规定时间后,向加法器的输出值z和进位输出Cout,输出“Null”。
在图11中,作为第1输入值x、第2输入值y和算符Operator,给出下述的实例。
输入值x:“1101”=({1,0},{1,0},{0,1},{1,0});
输入值y:“1000”=({1,0},{0,1},{0,1},{0,1});
算符Operator:“0”={0,1}(加法运算)。
从图11的时序图可以判明,在本实施例中,主处理部2每次进行1位运算时,禁止向算符Operator输出“Null”。通过这样构成主处理部2的处理,从而保持电路13在算符Operator从作为无效代码字的“Null”的状态变为有效代码字时,对该有效代码字(在该时序图中,为“0”)仅锁存一次,接着保持该状态,直至向算符输出“Null”。根据该构成,如果在最初向算符输出指定是加法运算还是减法运算的“0”或“1”,则可持续该运算内容,直至位运算结束。另外,可通过向算符Operator输出“Null”,而将位运算结束通知给1位运算器1b。
另外,根据该实施方式1,即使通过N位的反复运算、极端地如实施例描述的那样以1位为单位的反复运算,也能进行任意精度数值的加减法运算。
根据本实施方式1,由于将算符Operator的“Null”输出用作表示任意精度运算的结束的识别信息,故通过在N位运算器侧监视算符,从而可识别任意精度数值的运算结束。
根据本实施方式1,保持电路13在算符Operator表示减法运算时,向N位全加器输出“1”,并与其中一个输入值的逻辑反转进行加法运算,由此,算符Operator除了指示减法运算以外,还包括在减法运算时添加的数值信息。由此,可通过简单的电路实现正确的减法运算。
根据本实施方式1,既可用同步式电路构成,也可用非同步式电路构成。特别是在具有非同步式电路结构的情况下,没有在以全局时钟动作的同步式电路中容易产生的时钟延迟、时钟脉冲相位差(clock skew)、时钟偏差(clock jitter)等问题。
在非同步式电路中,最小功能电路通过事件驱动而被控制,仅仅在判定为需要自主动作的情况,以及在判定为需要外界支配地动作的情况下进行动作。即,各最小功能电路可独立于其它的最小功能电路而并列动作,不必等待到其它的最小功能电路的处理结束。最小功能电路可在执行所希望的处理的准备结束的阶段,进行处理。由此,非同步式电路结构适合于通过反复进行纯加减法运算而能进行任意精度运算的本发明这样的电路。由此,即使任意精度数值的位数增多,也可以高速地进行处理。
(实施方式2)
本发明的实施方式2涉及减少N位运算器的输入线数的构成。
图12中表示实施方式2的N位运算器1c的结构图。
如图12所示,本实施例2的N位运算器1c具备:在图2所描述的实施方式1的N位运算器1的构成中添加了锁存电路14的构成。锁存电路14由同一输入线D输入第1输入值X和第2输入值Y,并对其分别进行锁存,供给到N位全加器10。另外,锁存电路14构成为:还输入算符Operator,将该算符供给到选择电路11后,将第1输入值X和第2输入值Y锁存。算符Operator也可通过输入线D传送。其它的构成与实施方式1的相同。
即,锁存电路14构成为:分别对从同一输入线D按照具有时间差的方式传送来的算符Operator、第1输入值X、第2输入值Y进行锁存,并将其输出到相应的电路。
在主处理部2中,构成为:对应于该N位运算器1c,依次送出算符Operator、第1输入值X、第2输入值Y。在各数据之间,通过输出“Null”,从而可以区分第1输入值、第2输入值的每个值。通过预定数据送出的顺序,从而可以正确地反映每个数据。比如,如果按照第1输入值X、第2输入值Y的顺序送出值,则在主处理部中,根据从“Null”起算符Operator是加法运算还是减法运算,送出“0”或“1”,切换选择电路11。接着,送出“Null”,然后输出第1输入值X。从锁存电路14向N位全加器10输出第1输入值X。接着,送出“Null”后输出“Null”,接着输出第2输入值Y。如果通过算符Operator表示加法运算,则选择电路11选择未进行逻辑非运算的第2输入值,将正逻辑的Y供给到N位全加器10。如果通过算符Operator表示减法运算,则选择电路11选择进行过逻辑非运算的第2输入值Y,向N位全加器10供给负逻辑的Y。
另外,也可构成为包括于输入线D,输出算符。该情况下,算符Operator、第1输入值X、第2输入值Y分别按照时间差,供给到锁存电路14。
根据本实施方式2的构成,不但实现与上述实施方式1相同的效果,而且由于锁存电路从同一输入线,以时间差输入第1输入值和第2输入值,并分别进行锁存后输出,故可限制输入线数量,实现小型的结构。
(实施方式3)
本发明的任意精度运算器可适用于任意的计算机装置,可应用于组装了这种计算机的任意电子设备。
图13中表示作为这种电子设备的一例的笔记本型个人计算机的外观图。该笔记本型个人计算机1000包括液晶显示器1001、键盘1002,在其内部具有微处理电路1004。本发明的任意精度运算器可用作这样的微处理电路1004的运算器。
此外,本发明的任意精度运算器一般可用于需要进行粗略运算的设备,除了用于笔记本型个人计算机装置等计算机以外,比如,还可应用于台式电子计算器、电子记事本、便携式信息终端(PDA)、移动电话、IC卡、智能卡(smart card)等。由于通过设置本发明的任意精度运算器,从而可通过简单的电路来实现高精度的运算,故一般对于需要粗略的运算的装置,有用性较高。

Claims (15)

1.一种任意精度运算器,其特征在于,该任意精度运算器包括:
主处理部,其为了进行任意精度的运算,从低位起,每次N(N为自然数)位地对第1任意精度数值和第2任意精度数值的每个值进行分割后,作为N位长度的第1输入值和第2输入值顺次输出;
N位运算器,其实施所供给的该第1输入值和该第2输入值的运算,每当运算结束时,向上述主处理部请求下一N位的运算,同时将通过该运算中产生的进位添加到下一N位的运算中。
2.一种任意精度运算器,其特征在于,该任意精度运算器包括:
N位全加器,其对从低位起、每次N(N为自然数)位地将第1任意精度数值进行分割后供给的N位长度的第1输入值,和从低位起、每次N位地将第2任意精度数值进行分割后供给的N位长度的第2输入值进行加法运算;
保持电路,其保持为能将通过上述N位全加器的加法运算产生的进位加到下一N位的运算中的最低位的位上。
3.根据权利要求1或2所述的任意精度运算器,其特征在于,该任意精度运算器还包括:
逻辑“非”电路,其产生该第2输入值的逻辑非;
选择电路,其在指示是加法还是减法的算符表示减法的情况下,将进行过逻辑非的第2输入值输出到该N位全加器。
4.根据权利要求3所述的任意精度运算器,其特征在于,上述保持电路在表示上述算符是减法的情况下,在运算开始后的最初的N位运算时,将值1供给到N位全加器,在其以后的N位运算时,将通过上次的加法运算产生的进位供给到上述N位全加器。
5.根据权利要求4所述的任意精度运算器,其特征在于,该任意精度运算器还包括锁存电路,其从同一输入线输入上述第1输入值和上述第2输入值,分别对其进行锁存,并将其供给到上述N位全加器。
6.根据权利要求5所述的任意精度运算器,其特征在于,上述锁存电路还输入上述算符,将该算符供给到上述选择电路后,将上述第1输入值和第2输入值锁存。
7.一种任意精度运算器,其特征在于,该任意精度运算器包括:
分割机构,其为了进行任意精度的运算,从低位起、每次N(N为自然数)位地对第1任意精度数值和第2任意精度数值的每个值进行分割,;
输出机构,其将分割完的该第1任意精度数值作为N位长度的第1输入值,将该第2任意精度数值作为N位长度的第2输入值,依次输出到N位运算器。
8.根据权利要求1或7所述的任意精度运算器,其特征在于,每当从上述N位运算器请求下一N位的运算时,输出下一N位的第1输入值和第2输入值。
9.根据权利要求8所述的任意精度运算器,其特征在于,构成为能够输出表示使上述N位运算器进行加法运算还是减法运算的算符,在最高位的N位的运算结束的情况下,作为该算符,输出表示任意精度运算的结束的识别信息。
10.根据权利要求1~9中任一项所述的任意精度运算器,其特征在于,输入输出信息中的至少1个以上根据双线编码方式进行编码。
11.根据权利要求1~10中任一项所述的任意精度运算器,其特征在于,该任意精度运算器还包括通过信号交换方式而被驱动的非同步式电路结构。
12.根据权利要求1~10中任一项所述的任意精度运算器,其特征在于,该任意精度运算器还包括通过全局时钟而被驱动的同步式电路结构。
13.一种电子设备,其中,该电子设备包括权利要求11或12所述的任意精度运算器。
14.一种任意精度运算方法,其特征在于,该任意精度运算方法包括:
从低位起,每次N(N为自然数)位地对第1任意精度数值和第2任意精度数值的每个值进行分割的步骤;
将分割完的该第1任意精度数值作为N位长度的第1输入值,将该第2输入值作为N位长度的第2输入值,依次将它们输出的步骤;
每当请求下一N位的运算时,允许下一N位的该第1输入值和该第2输入值的输出的步骤。
15.一种任意精度运算方法,其特征在于,该任意精度运算方法包括:
实施从低位起、每次N(N为自然数)位地将第1任意精度数值进行分割后供给的N位长度的第1输入值,和从低位起、每次N位地将第2任意精度数值进行分割后供给的N位长度的第2输入值的运算的步骤;
每当该运算结束时,请求下一N位的运算的步骤;
将通过该运算产生的进位添加到下一N位的运算中的步骤。
CNB2005101202798A 2004-11-12 2005-11-09 任意精度运算器、任意精度运算方法和电子设备 Expired - Fee Related CN100375011C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004328984 2004-11-12
JP2004328984A JP4147423B2 (ja) 2004-11-12 2004-11-12 任意精度演算器、任意精度演算方法、および電子機器

Publications (2)

Publication Number Publication Date
CN1773451A true CN1773451A (zh) 2006-05-17
CN100375011C CN100375011C (zh) 2008-03-12

Family

ID=36387728

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101202798A Expired - Fee Related CN100375011C (zh) 2004-11-12 2005-11-09 任意精度运算器、任意精度运算方法和电子设备

Country Status (5)

Country Link
US (1) US7844654B2 (zh)
JP (1) JP4147423B2 (zh)
KR (1) KR20060051572A (zh)
CN (1) CN100375011C (zh)
TW (1) TWI308717B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4525801B2 (ja) * 2008-06-20 2010-08-18 横浜ゴム株式会社 タイヤ騒音低減装置
JP2010057019A (ja) * 2008-08-29 2010-03-11 Sony Corp 撮像素子及び撮像装置
US20100115232A1 (en) * 2008-10-31 2010-05-06 Johnson Timothy J Large integer support in vector operations
US8095767B2 (en) * 2008-12-30 2012-01-10 Microsoft Corporation Arbitrary precision floating number processing
US9348558B2 (en) * 2013-08-23 2016-05-24 Texas Instruments Deutschland Gmbh Processor with efficient arithmetic units
CN108256645B (zh) * 2018-01-19 2021-02-26 上海兆芯集成电路有限公司 数据位宽可调适的处理器
US11455143B2 (en) * 2020-05-07 2022-09-27 Meta Platforms, Inc. Using a low-bit-width dot product engine to sum high-bit-width numbers
US11275559B2 (en) * 2020-07-02 2022-03-15 Qualcomm Incorproated Circular accumulator for floating point addition

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3290511A (en) * 1960-08-19 1966-12-06 Sperry Rand Corp High speed asynchronous computer
US3751650A (en) * 1971-06-28 1973-08-07 Burroughs Corp Variable length arithmetic unit
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields
US4258419A (en) * 1978-12-29 1981-03-24 Bell Telephone Laboratories, Incorporated Data processing apparatus providing variable operand width operation
DE3040931C1 (de) * 1980-10-30 1982-04-29 Siemens AG, 1000 Berlin und 8000 München Verfahren und Anordnung zur Verknuepfung von Operanden variabler Laenge in Datenverarbeitungsanlagen
US4680701A (en) * 1984-04-11 1987-07-14 Texas Instruments Incorporated Asynchronous high speed processor having high speed memories with domino circuits contained therein
SU1413624A1 (ru) * 1987-03-09 1988-07-30 Предприятие П/Я А-3886 Арифметическое устройство с переменной длиной операндов
US5084834A (en) * 1988-04-18 1992-01-28 General Electric Company Digit-serial linear combining apparatus
JPH02171923A (ja) 1988-12-26 1990-07-03 Toshiba Corp 浮動小数点加減算装置
US5023826A (en) * 1990-01-11 1991-06-11 Bull Hn Information Systems Inc. Apparatus for skipping arithmetic calculations involving leading zeros
US5168571A (en) * 1990-01-24 1992-12-01 International Business Machines Corporation System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
JPH0635669A (ja) 1992-07-21 1994-02-10 Mitsubishi Electric Corp 中央演算処理装置
JPH06332671A (ja) 1993-05-27 1994-12-02 Toshiba Corp 高速加算演算器
DE4334294C1 (de) * 1993-10-08 1995-04-20 Ibm Prozessor für Zeichenketten variabler Länge
US6152613A (en) * 1994-07-08 2000-11-28 California Institute Of Technology Circuit implementations for asynchronous processors
US6643677B2 (en) * 1995-06-05 2003-11-04 Kabushiki Kaisha Toshiba Digital arithmetic integrated circuit
US6055620A (en) 1997-09-18 2000-04-25 Lg Semicon Co., Ltd. Apparatus and method for system control using a self-timed asynchronous control structure
US6044453A (en) 1997-09-18 2000-03-28 Lg Semicon Co., Ltd. User programmable circuit and method for data processing apparatus using a self-timed asynchronous control structure
US6230175B1 (en) * 1997-11-11 2001-05-08 Matsushita Electric Industrial Co., Ltd. Reconfigurable digit-serial arithmetic system having a plurality of digit-serial arithmetic units
CN1099161C (zh) * 1998-01-14 2003-01-15 北京多思科技工业园股份有限公司 数据移位部件
JP2001109613A (ja) 1999-10-05 2001-04-20 Mitsubishi Electric Corp 演算装置
JP2002099447A (ja) * 2000-09-22 2002-04-05 Fujitsu Ltd プロセッサ
JP3912545B2 (ja) * 2004-03-24 2007-05-09 セイコーエプソン株式会社 非同期加算器、非同期プロセッサ、及び電子機器

Also Published As

Publication number Publication date
CN100375011C (zh) 2008-03-12
US20060106903A1 (en) 2006-05-18
TWI308717B (en) 2009-04-11
TW200634616A (en) 2006-10-01
JP2006139566A (ja) 2006-06-01
KR20060051572A (ko) 2006-05-19
US7844654B2 (en) 2010-11-30
JP4147423B2 (ja) 2008-09-10

Similar Documents

Publication Publication Date Title
CN1773451A (zh) 任意精度运算器、任意精度运算方法和电子设备
CN109542399B (zh) 软件开发方法、装置、终端设备及计算机可读存储介质
Chan et al. Inferring phylogenies of evolving sequences without multiple sequence alignment
CN1655118A (zh) 处理器和编译器
Zhang et al. A low-error energy-efficient fixed-width booth multiplier with sign-digit-based conditional probability estimation
CN1820246A (zh) 执行饱和或不执行饱和地累加多操作数的处理器还原单元
CN1842764A (zh) 计算图的计算机辅助并行化
US20160196133A1 (en) Approximate Functional Matching in Electronic Systems
CN1324432C (zh) 降低处理器电力消耗的系统、方法及装置
CN1918560A (zh) 用于并行计算任意算法的可重构开关装置
CN1278931A (zh) 特别适于译码数字音频信号的数字信号处理器
Fu et al. Auto-NBA: Efficient and effective search over the joint space of networks, bitwidths, and accelerators
CN1788251A (zh) 处理安全消息认证控制指令
CN1806225A (zh) 在具有多指令集的数据处理设备内的指令编码
Fang et al. SIFO: secure computational infrastructure using FPGA overlays
CN1108557C (zh) 减少高速算术单元中超前进位加法器级数的结构和方法
CN113574603A (zh) 基因融合的快速检测
CN112463161B (zh) 基于联邦学习的代码注释生成方法、系统及装置
CN1537268A (zh) 信息处理装置及信息处理方法
Marchisio et al. ISMatch: A real-time hardware accelerator for inexact string matching of DNA sequences on FPGA
CN1209702C (zh) 异或进位产生器及使用其的条件选择加法器及方法
Farouk et al. Massively parallelized DNA motif search on FPGA
CN1027324C (zh) 编程支持方法及系统
CN1257612C (zh) 根据初始状态门控时钟脉冲触发的状态机、计数器及方法
CN111724767A (zh) 基于狄利克雷变分自编码器的口语理解方法及相关设备

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080312

Termination date: 20121109