CN116306706A - 一种计算x|(x+1)的加速电路及计算设备 - Google Patents
一种计算x|(x+1)的加速电路及计算设备 Download PDFInfo
- Publication number
- CN116306706A CN116306706A CN202310246829.9A CN202310246829A CN116306706A CN 116306706 A CN116306706 A CN 116306706A CN 202310246829 A CN202310246829 A CN 202310246829A CN 116306706 A CN116306706 A CN 116306706A
- Authority
- CN
- China
- Prior art keywords
- computing module
- bit
- input
- gate
- output
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 claims description 33
- 230000001133 acceleration Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 9
- 229910002056 binary alloy Inorganic materials 0.000 abstract description 9
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/16—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种计算x|(x+1)的加速电路及计算设备,本发明采用依次串联的第一计算模块B0~Bn‑2和第二计算模块Bn‑1,第二计算模块Bn‑1对应输入二进制的最高位,第一计算模块B0~Bn‑2对应输入二进制的其余位,各计算模块根据输入二进制对应位的数值和上一级计算模块的一路输出,获得输出二进制对应位的数值和下一级计算模块的输入,实现计算x|(x+1)的加速电路,可解放ALU的计算资源,降低计算资源的消耗。
Description
技术领域
本发明涉及一种计算x|(x+1)的加速电路及计算设备,属于计算机领域。
背景技术
随着计算数据的以指数级增长,计算机的算术逻辑单元(ArithmeticlogicalUnit,ALU)需要承担更多的计算压力,耗费更多的计算资源,ALU在计算过程中是对计算对象逐步进行计算,并且将每一步计算的结果保存到寄存器之后,再进行下一步的计算,会使用大量的处理器资源,调用诸多计算模块和逻辑模块,不仅耗费较多时间同时耗费大量资源。
目前,采用加速电路实现ALU的部分计算功能,使得计算机ALU模块只需要进行数据的传输调度和加速器的调用,而不用参与到数据的计算处理当中,可以极大的降低了功耗,从而释放更多的资源。
x|(x+1)计算是为了将输入的二进制数据最右位的0变为1,在编程和计算机科学、电子学、数据结构和算法、加密和安全性等领域中被广泛应用,例如,它在计数器重置、生成下一个排列或组合、数字信号处理、通信、文件处理、伪随机数生成器等方面都很有用。x|(x+1)若采用ALU进行计算,则需要消耗大量的资源,为了释放资源现在急需计算x|(x+1)的加速电路。
发明内容
本发明提供了一种计算x|(x+1)的加速电路及计算设备,解决了背景技术中披露的问题。
为了解决上述技术问题,本发明所采用的技术方案是:
一种计算x|(x+1)的加速电路,包括依次串联的第一计算模块B0~Bn-2和第二计算模块Bn-1;
第一计算模块B0~Bn-2分别与x的0位至n-2位对应;其中,x为输入所述加速电路的n位二进制数;
第一计算模块B0的两路输入分别为A0和1,两路输出分别为A0和1;其中,1作为y的0位数值,A0作为第一计算模块B1的输入,A0为x的0位数值;
第一计算模块Bi的两路输入分别为Ai和两路输出分别为/>和其中,/>作为y的i位数值,/>作为第一计算模块Bi+1的输入,Ai为x的i位数值,y为所述加速电路输出的n位二进制数,i和j均为整数,0<i≤n-2;
第一计算模块包括与门和或门,第一计算模块的两路输入为与门的输入,也是或门的输入,或门的输出作为对应的y位数值,与门的输出作为下一级第一计算模块或第二计算模块的输入。
第二计算模块为或门。
与门为二输入或门。
或门为二输入与门。
一种计算设备,包括中央处理器和所述的加速电路;中央处理器的算术逻辑单元向所述的加速电路输入x,接收所述的加速电路反馈的y。。
本发明所达到的有益效果:本发明采用依次串联的第一计算模块B0~Bn-2和第二计算模块Bn-1,第二计算模块Bn-1对应输入二进制的最高位,第一计算模块B0~Bn-2对应输入二进制的其余位,各计算模块根据输入二进制对应位的数值和上一级计算模块的一路输出,获得输出二进制对应位的数值和下一级计算模块的输入,实现计算x|(x+1)的加速电路,可解放ALU的计算资源,降低计算资源的消耗。
附图说明
图1为加速电路的示意图;
图2为迭代结构。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种计算x|(x+1)的加速电路,包括依次串联的第一计算模块B0~Bn-2和第二计算模块Bn-1。
第一计算模块B0~Bn-2分别与x的0位至n-2位对应,第二计算模块Bn-1与x的n-1位对应;其中,x为输入所述加速电路的n位二进制数。
第一计算模块B0的两路输入分别为A0和1,两路输出分别为A0和1;其中,1作为y的0位数值,A0作为第一计算模块B1的输入,A0为x的0位数值;第一计算模块Bi的两路输入分别为Ai和两路输出分别为/>和/>其中,/>作为y的i位数值,/>作为第一计算模块Bi+1的输入,Ai为x的i位数值,y为所述加速电路输出的n位二进制数,i和j均为整数,0<i≤n-2。
上述电路采用依次串联的第一计算模块B0~Bn-2和第二计算模块Bn-1,第二计算模块Bn-1对应输入二进制的最高位,第一计算模块B0~Bn-2对应输入二进制的其余位,各计算模块根据输入二进制对应位的数值和上一级计算模块的一路输出,获得输出二进制对应位的数值和下一级计算模块的输入,实现计算x|(x+1)的加速电路,可解放ALU的计算资源,降低计算资源的消耗。
x|(x+1)计算是为了将输入的二进制数最右位的0变为1,如输入00001011计算后的结果为00001111,即将2位变为0,由于是按位计算,将x+1视为x与二进制数0(即二进制数00000000)相加再与x进行与运算,将1即(00000001)视为第一个进位数值。利用进位加法器的思想,将每位的计算结果作为更高一位的输入之一。
因此可设计一个迭代结构,如图2所示,或门输入为低一位的进位输出和该位的数据输入,或门输出为该位计算后的输出;与门的输入为低一位的进位输出和该位的数据输入,与门的输出为该位计算后向更高一位的进位输出。
定义当前为i位,图中,Ci-1为前一位的进位输入,Ai为输入二进制数(即x)的i位数值,Ci为计算后向高一位的进位,Yi为每位计算后的输出,即输出二进制数的i位。将x|(x+1)为两部分计算,一部分为或运算,另一部分为加减法运算。在加减法运算中引入加法器计算思想,将x+1视为加法器的输出Si那么根据加法器的计算公式可得:
又C0=A0 Y0=A0+1=1
C1=A1·A0 Y1=A1+A0
基于上述分析,加速电路包括次串联的第一计算模块B0~Bn-2和第二计算模块Bn-1,以8位二进制数为例,那么就包括7个第一计算模块和1个第二计算模块,其中,第一计算模块为上述的迭代结构,包括与门和或门,具体为二输入与门和二输入或门,第一计算模块的两路输入为与门的输入,也是或门的输入,或门的输出作为对应的y位数值,与门的输出作为下一级第一计算模块或第二计算模块的输入;第二计算模块为去除与门后的迭代结构,即仅保留或门。
假设输入二进制数x为00001011,经过上述加速器处理后的结果应为00001111。在加速器中首先计算最低位,即0位,由于最低位输入为1,即A0为1,在A0和1进行或运算之后输出结果Y0也为1,同时在A0和0进行与运算之后输出结果C0为1,并且C0作为Y1计算的输入之一与该位输入A1进行与运算和或运算。当计算到最右面0所在位的时候,由于前面低位输入都是1,所以根据进位公式得进位输入为1,该位的输入0和1进行或运算的情况下会将该位输出变为1,该位输入0在经过与运算之后得到输出进位为0,由于0与任何数值进行或运算的时候不改变数值结果,所以在之后的更高位的计算中将不改变输入的数值。
从上面的例子可以看出,上述加速电路可以实现将输入最右一位的0计算后变成1,其他位置上的输出数值与输入数值相同。
上述加速电路可以使用标准单元库电路元件进行设计,设计流程和结果简便,同时只使用简单的与门和或门设计,设计结果面积小。
基于相同的技术方案,本发明还公开了一种计算设备,包括中央处理器和上述的加速电路;中央处理器的算术逻辑单元向所述的加速电路输入x,接收所述的加速电路反馈的y。
该计算设备的算术逻辑单元调用加速电路,在算术逻辑单元无需进行复杂的逻辑计算,只需要调度该加速器,使用传输数据,极大的解放了ALU的计算资源,降低计算资源的消耗。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种计算x|(x+1)的加速电路,其特征在于,包括依次串联的第一计算模块B0~Bn-2和第二计算模块Bn-1;
第一计算模块B0~Bn-2分别与x的0位至n-2位对应;其中,x为输入所述加速电路的n位二进制数;
第一计算模块B0的两路输入分别为A0和1,两路输出分别为A0和1;其中,1作为y的0位数值,A0作为第一计算模块B1的输入,A0为x的0位数值;
第一计算模块Bi的两路输入分别为Ai和两路输出分别为/>和/>其中,/>作为y的i位数值,/>作为第一计算模块Bi+1的输入,Ai为x的i位数值,y为所述加速电路输出的n位二进制数,i和j均为整数,0<i≤n-2;
2.根据权利要求1所述的计算x|(x+1)的加速电路,其特征在于,第一计算模块包括与门和或门,第一计算模块的两路输入为与门的输入,也是或门的输入,或门的输出作为对应的y位数值,与门的输出作为下一级第一计算模块或第二计算模块的输入。
3.根据权利要求1所述的计算x|(x+1)的加速电路,其特征在于,第二计算模块为或门。
4.根据权利要求2或3所述的计算x|(x+1)的加速电路,其特征在于,与门为二输入或门。
5.根据权利要求2所述的计算x|(x+1)的加速电路,其特征在于,或门为二输入与门。
6.一种计算设备,其特征在于,包括中央处理器和权利要求1~5任一项所述的加速电路;中央处理器的算术逻辑单元向所述的加速电路输入x,接收所述的加速电路反馈的y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246829.9A CN116306706A (zh) | 2023-03-15 | 2023-03-15 | 一种计算x|(x+1)的加速电路及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246829.9A CN116306706A (zh) | 2023-03-15 | 2023-03-15 | 一种计算x|(x+1)的加速电路及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116306706A true CN116306706A (zh) | 2023-06-23 |
Family
ID=86797358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310246829.9A Pending CN116306706A (zh) | 2023-03-15 | 2023-03-15 | 一种计算x|(x+1)的加速电路及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306706A (zh) |
-
2023
- 2023-03-15 CN CN202310246829.9A patent/CN116306706A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6601077B1 (en) | DSP unit for multi-level global accumulation | |
CN115344237B (zh) | 结合Karatsuba和蒙哥马利模乘的数据处理方法 | |
US9495131B2 (en) | Multi-input and binary reproducible, high bandwidth floating point adder in a collective network | |
US20230221924A1 (en) | Apparatus and Method for Processing Floating-Point Numbers | |
CN108256644B (zh) | 微处理器电路以及执行神经网络运算的方法 | |
Gandhi et al. | Comparative analysis for hardware circuit architecture of Wallace tree multiplier | |
US20240126507A1 (en) | Apparatus and method for processing floating-point numbers | |
CN108256638B (zh) | 微处理器电路以及执行神经网络运算的方法 | |
CN111936965A (zh) | 随机舍入逻辑 | |
CN112214200A (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
CN116306706A (zh) | 一种计算x|(x+1)的加速电路及计算设备 | |
WO2023124371A1 (zh) | 数据处理装置、方法、芯片、计算机设备及存储介质 | |
Shirke et al. | Implementation of IEEE 754 compliant single precision floating-point adder unit supporting denormal inputs on Xilinx FPGA | |
CN116306707A (zh) | 一种计算x&(x-1)的加速电路及计算设备 | |
Shriram et al. | Power Efficient Approximate Divider Architecture for Error Resilient Applications | |
CN209895329U (zh) | 乘法器 | |
CN112558920A (zh) | 有/无符号乘累加装置及方法 | |
CN115857873B (zh) | 乘法器、乘法计算方法、处理系统及存储介质 | |
CN112988111B (zh) | 一种单比特乘法器 | |
CN117075842B (zh) | 十进制加法器及十进制运算方法 | |
CN117453178A (zh) | 一种计算x'|(x-1)的专用加速器及加速计算装置 | |
Govindarajan et al. | Borrow select subtractor for low power and area efficiency | |
CN116301718A (zh) | 一种计算x'&(x+1)的专用加速器及加速计算装置 | |
CN100530076C (zh) | 数据饱和管理器及相应方法 | |
CN117195923A (zh) | 一种自适应时钟电路、乘法运算电路及乘法运算的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |