CN100336014C - 并行粘接位计算部件设计方法 - Google Patents
并行粘接位计算部件设计方法 Download PDFInfo
- Publication number
- CN100336014C CN100336014C CNB200410023184XA CN200410023184A CN100336014C CN 100336014 C CN100336014 C CN 100336014C CN B200410023184X A CNB200410023184X A CN B200410023184XA CN 200410023184 A CN200410023184 A CN 200410023184A CN 100336014 C CN100336014 C CN 100336014C
- Authority
- CN
- China
- Prior art keywords
- logic
- value
- bit
- input
- service
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种并行粘接位计算部件设计方法,要解决的技术问题是采用一种并行计算粘接位的方法设计粘接位计算部件,使两个操作数的求和与计算粘接位并发执行,减少粘接位计算的延时。技术方案是首先对两个加数的舍入位右侧的m位进行预处理,得到进位传播值T和零值Z;然后对预处理的结果T和Z进行转换,得到转换结果f,对转换的结果的求“或”即得出粘接位的值;粘接位计算部件由预处理逻辑、转换逻辑、或逻辑组成,预处理逻辑由m个“异或”门和m个“或非”门组成,转换逻辑由m-1个“异或非”门组成。采用本发明的粘接位计算部件来实现粘接位计算比传统技术中的粘接位计算部件进行粘接位计算减少了log2m-2级逻辑延时。
Description
技术领域:本发明涉及微处理器算术部件的舍入处理方法,尤其是粘接位(sticky bit)计算部件的设计方法。
背景技术:在微处理器算术部件设计中,舍入的处理是一个重要的问题。为了保证计算的高精度和计算机各部分的兼容性,所设计的算术部件必须符合IEEE-754-1985标准。该标准包含了对舍入处理的规定,它要求算术部件要支持四种舍入方式:最近舍入、负无穷大舍入、正无穷大舍入、零舍入,其中最近舍入是缺省的舍入方式。在最近舍入、负无穷大舍入、正无穷大舍入方式中,舍入处理需要计算粘接位。粘接位的值是操作数无穷精度和的舍入位右侧所有位的“或”。
在浮点乘法和加法中都涉及到粘接位计算的问题。传统的粘接位计算主要是根据粘接位的定义,也就是首先对两个操作数“求和”,再对和的舍入位石边的所有位求“或”。IBM POWER2的乘加部件的设计就采用了这种方法。两个操作数的“求和”采用典型的并行进位加法器实现时,它的逻辑级数与位数的关系是
t表示逻辑级数,n表示加法器的位数。当位数n很大时,加法器的逻辑级数会很大,导致“求和”的延时很大,因此采用这种方法设计的粘接位计算部件延时很大。
在Standford大学的技术报告CSL-TR-89-397中,乘法舍入处理时粘接位的计算采用了另外一种方法,它是在乘法部分积求和的同时计算粘接位。但这种方法只适用乘法计算粘接位,不能用于浮点加法,且计算粘接位所需的硬件较多,设计开销大。
发明内容:本发明要解决的技术问题是采用一种并行计算粘接位的方法设计粘接位计算部件,使两个操作数的求和与计算粘接位并发执行,减少粘接位计算的延时。本发明的技术方案是:
粘接位的值是操作数无穷精度和的舍入位右侧的所有位的“或”。舍入位右侧的所有位中只要有一个1,则粘接位的值为1;当舍入位右侧的所有位都是0时,粘接位的值才为0。只要知道操作数无穷精度和的舍入位右侧所有位中是否包含1即可。
假设两个加数op1和op2都是k位,本发明首先对两个加数的舍入位右侧的m位(只有这些位才与粘接位有关)进行预处理,得到进位传播值T和零值Z;然后对预处理的结果T和Z进行转换,得到转换结果f。转换结果中的任何一位是1,表示加法结果的对应位或右侧相邻位中必有一个为1;转换的结果中只要有一个1,则表示加法结果中的舍入位右侧的位中有1,即粘接位的值为1,因此对转换的结果的求“或”就可以求出粘接位的值。具体方法是:
1.对a和b的预处理按照公式(1)进行,a为op1的舍入位右侧的m位,b为op2的舍入位右侧的m位:
即a和b所有对应位相“异或”得到T,a和b所有对应位相“或非”得到Z,0≤i≤m-1,i=0对应最高位。
2.对于预处理的结果按照公式(2)进行转换:
i=0对应最高位,每一位的T值与其右侧相邻位的Z值求“异或非”得到转换结果f。
3.对转换结果求“或”:对f的所有位求“或”。
本发明粘接位计算部件由预处理逻辑、转换逻辑、或逻辑组成。若用op1和op2表示参加求和与舍入的两个操作数,a,b表示输入到粘接位计算部件的两个加数op1和op2的低m位,a,b首先输入到预处理逻辑进行预处理,得到向量T和Z,然后将向量T和Z输入到转换逻辑进行转换得到标识向量f,它标识出了结果中可能为1的位置,最后标识向量f送到或逻辑,得到粘接位sticky的值。
本发明的预处理逻辑由m个“异或”门和m个“或非”门组成。a的每一位都与b的对应位同时输入到“异或”门和“或非”门,即a0和b0输入到第一个“或非”门得到Z0,同时a0和b0输入到第一个“异或”门得到T0,......ai和bi输入到第i+1个“或非”门得到Zi,同时ai和bi输入到第i+1个“异或”门得到Ti......am-1和bm-1输入到第m个“或非门”得到Zm-1,同时am-1和bm-1输入到第m个“异或”门得到Tm-1。a和b的对应位经过“或非”逻辑得到Z;a和b对应的位经过“异或”逻辑得到T。
本发明转换逻辑由m-1个“异或非”门组成。从预处理逻辑输出的两个矢量Z、T,每位的T值与其右侧相邻位的Z值输入到一个“异或非”门,即T0和Z1输入到第一个“异或非”门,从第一个“异或非”门输出f0,......,Ti和Zi+1输入到第i+1个“异或非”门,从第i+1个“异或非”门输出fi、......Tm-2和Zm-1输入到第m-1个“异或非”门,从第m-1个“异或非”门输出fm-2。从预处理出来的T和Z经过转换逻辑得到一个m-1位的矢量f。
转换逻辑输出的矢量f,经过一个或逻辑求或就得到粘接位的值。这里的或逻辑与传统的方法中的或逻辑是一样的,一般采用树形结构。
使用本发明能达到以下有益效果:
1.本发明的预处理逻辑的最长延时路径由一个“异或门”或者一个“或非”门组成,它只相当于1级逻辑延时;转换逻辑的最长延时路径由一个“异或非”门组成,它也只相当于1级逻辑延时;“或”逻辑如果采用典型的树形结构实现,它的延时相当于
级延时;因此本发明的粘接位计算单元的总的延时相当于
级逻辑延时。传统的粘接位计算,首先经过一个加法器,它的延时为
级逻辑,且m越大,延时越大;然后是或逻辑,它的延时为
级逻辑,传统方法粘接位计算单元的总的延时为
级逻辑延时,因此采用本发明的粘接位计算部件来实现粘接位计算比传统技术中的粘接位计算部件进行粘接位计算减少了
级逻辑延时,m越大,本发明提高粘接位计算速度的优越性越明显。
2.本发明适用于微处理器设计中所有包含求和与舍入的模块,如加法器、乘加部件、乘法器等等,通用性很强。
附图说明:
图1是微处理器中的舍入部件逻辑图;
图2是采用传统方法实现粘接位计算部件的逻辑图;
图3是本发明的粘接位计算部件逻辑图;
图4是本发明的预处理逻辑图;
图5是本发明的转换逻辑图。
具体实施方式:图1是微处理器舍入部件逻辑图,虚线内是粘接位计算部件。舍入部件由双加器,舍入控制逻辑,粘接位计算部件组成。op1和op2为k位,表示参加求和与舍入的两个操作数。它们的位宽是k位,两个操作数的高n位输入到双加器,中间的1位输入到舍入控制逻辑,低m位输入到粘接位计算部件,m+n+l=k,n+l=p+1,p为结果精度的位数。双加器同时计算出两个加数高n位的和sum、sum+1;粘接位计算部件计算出粘接位sticky的值,并把它输出给舍入控制逻辑;舍入控制逻辑根据输入的sticky的值计算出进位信号carry来控制选择器,当carry为1时表示有进位,选择sum+1作为结果高n位,当carry为0时表示没有进位,选择sum作为结果的高n位。结果的低p-n位由舍入控制逻辑产生。
图2是采用传统的方法实现微处理器中的粘接位计算部件的逻辑图,它由一个m位的加法器和一个m位的“或”逻辑组成。a,b表示输入到粘接位计算部件的两个加数op1和op2的低m位,它们首先经过一个m位加法器求和,然后加法的结果输入到m位的“或”逻辑,求出粘接位的值sticky。传统的粘接位计算部件的延时是加法器的延时与“或”逻辑延时的和,加法器如果采用并行的前向树结构实现,它的延时为
级逻辑延时,“或”逻辑如果采用树形结构实现,它的延时为
级逻辑延时,因此整个粘接位计算部件的延时
级逻辑的延时,延时很大。
图3是采用本发明实现微处理器中粘接位计算部件的逻辑图,它由预处理逻辑、转换逻辑、或逻辑组成。a,b表示输入到粘接位计算部件的两个加数op1和op2的低m位,它们首先输入到预处理逻辑进行预处理,得到向量T和Z,然后将向量T和Z输入到转换逻辑进行转换得到标识向量f,它标识出了结果中可能为1的位置,最后标识向量f送到或逻辑,得到粘接位sticky的值。
图4是本发明的预处理逻辑,它由m个“异或”门和m个“或非”门组成。a的每一位与b的对应位同时输入到“异或”门和“或非”门,即a0和b0输入到第一个“或非”门得到Z0,同时a0和b0输入到第一个“异或”门得到T0,......ai和bi输入到第i+1个“或非”门得到Zi,同时ai和bi输入到第i+1个“异或”门得到Ti......am-1和bm-1输入到第m个“或非门”得到Zm-1,同时am-1和bm-1输入到第m个“异或”门得到Tm-1。a和b的对应的位经过“或非”逻辑得到Z;a和b对应的位经过“异或”逻辑得到T。
图5是本发明的转换逻辑,它由m-1个“异或非”门组成。从预处理输出的两个矢量Z、T,每位的T值与其右侧相邻位的Z值输入到一个“异或非”门,即T0和Z1输入到第一个“异或非”门,从第一个“异或非”门输出f0,......,Ti和Zi+1输入到第i+1个“异或非”门,从第i+1个“异或非”门输出fi、......Tm-2和Zm-1输入到第m-1个“异或非”门,从第m-1个“异或非”门输出fm-2。从预处理出来的T和Z经过转换逻辑得到一个m-1位的矢量f。转换逻辑输出的矢量f,经过一个或逻辑求“或”就得到了粘接位的值。这里的或逻辑与传统的方法中的或逻辑是一样的,一般采用树形结构。
Claims (1)
1.一种并行粘接位计算部件设计方法,采用它设计的粘接位计算部件包括一个或逻辑,其特征在于该粘接位计算部件还包括预处理逻辑和转换逻辑,预处理逻辑对两个加数op1和op2的舍入位右侧的m位进行预处理,得到进位传播值T和零值Z,m是一个正整数;转换逻辑对预处理的结果T和Z进行转换,得到转换结果f;或逻辑对转换的结果f的所有位求“或”即得出粘接位的值;其中:
预处理逻辑进行预处理的方法是:假设a为加数op1的舍入位右侧的m位,b为加数op2的舍入位右侧的m位,预处理逻辑对a和b的预处理按照公式
进行,其中0≤i≤m-1,i=0对应最高位,a、b所有对应位相“异或”得到T,a、b所有对应位相“或非”得到Z;相应的,预处理逻辑的设计方法是:预处理逻辑由m个“异或”门和m个“或非”门组成,a的每一位都与b的对应位同时输入到“异或”门和“或非”门,即ai和bi输入到第i+1个“或非”门得到Zi,同时ai和bi输入到第i+1个“异或”门得到Ti,a和b的对应位经过“或非”逻辑得到Z;a和b对应的位经过“异或”逻辑得到T;
转换逻辑对T和Z进行转换的方法是:对于预处理的结果按照公式 进行转换,每一位的T值与其右侧相邻位的Z值求“异或非”得到转换结果f,其中0≤i≤m-2,i=0对应最高位;相应的,转换逻辑的设计方法是:转换逻辑由m-1个“异或非”门组成,从预处理逻辑输出的两个矢量Z、T,每位的T值与其右侧相邻位的Z值输入到一个“异或非”门,即Ti和Zi+1输入到第i+1个“异或非”门,从第i+1个“异或非”门输出fi,从预处理出来的T和Z经过转换逻辑得到一个m-1位的矢量f。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410023184XA CN100336014C (zh) | 2004-05-12 | 2004-05-12 | 并行粘接位计算部件设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410023184XA CN100336014C (zh) | 2004-05-12 | 2004-05-12 | 并行粘接位计算部件设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1570846A CN1570846A (zh) | 2005-01-26 |
CN100336014C true CN100336014C (zh) | 2007-09-05 |
Family
ID=34480275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410023184XA Expired - Fee Related CN100336014C (zh) | 2004-05-12 | 2004-05-12 | 并行粘接位计算部件设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100336014C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004627B (zh) * | 2010-11-01 | 2012-11-21 | 深圳市海思半导体有限公司 | 乘法舍入实现方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241787A (ja) * | 1991-12-30 | 1993-09-21 | Internatl Business Mach Corp <Ibm> | 算術演算におけるスティッキイ・ビット値の判別装置 |
EP0610779A1 (en) * | 1993-02-10 | 1994-08-17 | Digital Equipment Corporation | Generating sticky bit in floating point operation using parallel two-way propagation of group enables |
US5430668A (en) * | 1994-03-07 | 1995-07-04 | Nec Corporation | Floating point multiplier capable of easily performing a failure detection test |
US5694350A (en) * | 1995-06-30 | 1997-12-02 | Digital Equipment Corporation | Rounding adder for floating point processor |
-
2004
- 2004-05-12 CN CNB200410023184XA patent/CN100336014C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241787A (ja) * | 1991-12-30 | 1993-09-21 | Internatl Business Mach Corp <Ibm> | 算術演算におけるスティッキイ・ビット値の判別装置 |
EP0610779A1 (en) * | 1993-02-10 | 1994-08-17 | Digital Equipment Corporation | Generating sticky bit in floating point operation using parallel two-way propagation of group enables |
US5430668A (en) * | 1994-03-07 | 1995-07-04 | Nec Corporation | Floating point multiplier capable of easily performing a failure detection test |
US5694350A (en) * | 1995-06-30 | 1997-12-02 | Digital Equipment Corporation | Rounding adder for floating point processor |
Non-Patent Citations (3)
Title |
---|
Design of the IBM RISC System/6000 floating-pointexecutionunit R.K.Montoye,E.Hokenek,S.L.Runyon,IBM Journal of Research and Development,Vol.34 No.1 1990 * |
一种可配置的桶式移位器的设计 许琪,王健,沈绪榜,计算机研究与发展,第39卷第10期 2002 * |
利用BS产生浮点运算附加位的两种方法 蒋安平,沈绪榜,小型微型计算机系统,第18卷第3期 1997 * |
Also Published As
Publication number | Publication date |
---|---|
CN1570846A (zh) | 2005-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5148386A (en) | Adder-subtracter for signed absolute values | |
Zimmermann | Non-heuristic optimization and synthesis of parallel-prefix adders | |
KR900002169A (ko) | 부동 소수점 연산장치 | |
US9146707B2 (en) | Generating a fast 3x multiplicand term for radix-8 booth multiplication | |
KR20090071823A (ko) | 다기능 연산장치 및 방법 | |
KR960002061A (ko) | 부동소수점수를 위한 산술연산장치 | |
Scrofano et al. | Computing Lennard-Jones Potentials and Forces with Reconfigurable Hardware. | |
Malík | High throughput floating point exponential function implemented in FPGA | |
Schulte et al. | Hardware design and arithmetic algorithms for a variable-precision, interval arithmetic coprocessor | |
CN100336014C (zh) | 并行粘接位计算部件设计方法 | |
US7337202B2 (en) | Shift-and-negate unit within a fused multiply-adder circuit | |
EP3610367B1 (en) | Energy-efficient variable power adder and methods of use thereof | |
CN116627379A (zh) | 可重构的支持多精度浮点或定点运算的方法及系统 | |
US8131795B2 (en) | High speed adder design for a multiply-add based floating point unit | |
Ghosh et al. | FPGA based implementation of a double precision IEEE floating-point adder | |
JPH0346024A (ja) | 浮動小数点演算器 | |
Takagi et al. | A hardware algorithm for computing sine and cosine using redundant binary representation | |
JPH096595A (ja) | 演算結果の表示方法 | |
Yehia et al. | A redundant decimal floating-point adder | |
CN112860218A (zh) | 用于fp16浮点数据和int8整型数据运算的混合精度运算器 | |
Pande et al. | Design and implementation of floating point divide-add fused architecture | |
RU2562411C1 (ru) | Устройство для вычисления модуля комплексного числа | |
Singh et al. | Energy Efficient Vedic Multiplier | |
Hung et al. | Design of a hardware accelerator for real-time moment computation: a wavefront away approach | |
Begum et al. | V.,“Design and Verification of Low Power and Area Effcient Kogge-Stone Carry Select Adder” |
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |