数字信号末尾1变0的方法、电路、芯片、介质及设备与流程

文档序号:34307936发布日期:2023-05-31 19:40阅读:59来源:国知局
数字信号末尾1变0的方法、电路、芯片、介质及设备与流程

本技术涉及集成电路,特别地,涉及数字信号末尾1变0的方法、电路、芯片、介质及设备。


背景技术:

1、在数字计算机中,算术逻辑单元(alu)是执行算术和逻辑功能的强大组合电路,在现代cpu和gpu处理器中已含有功能强大和复杂的alu。绝大部分计算机指令都是由alu执行的。alu从寄存器中取出数据。数据经过处理将运算结果存入alu输出寄存器中。其他部件负责在寄存器与内存间传送数据。控制单元控制着alu,通过控制电路来告诉alu该执行什么操作。大部分alu都可以完成以下运算:整数算术运算(加、减,有时还包括乘和除,不过成本较高)、位逻辑运算(与、或、非、异或)、移位运算(将一个字向左或向右移位或浮动特定位,而无符号延伸),移位可被认为是乘以2或除以2。

2、工程师可设计能完成任何运算的alu,不论运算有多复杂;问题在于运算越复杂,alu成本越高,在处理器中占用的空间越大,消耗的电能越多。于是,通过单独的电路实现某种特定的运算功能,应用在计算机芯片中,解放alu,提高指令的处理速度。


技术实现思路

1、本技术的目的在于提供数字信号末尾1变0的方法、电路、芯片、介质及设备,通过本技术单独的对输入二进制数字信号的右边最后一个1或者最右边的连续的几个1变成0的操作,减少了alu的复杂程度,降低成本,减少在处理器中占用的空间,降低电能的消耗。

2、本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。

3、根据本技术实施例的一个方面,提供了一种数字信号末尾1变0的控制方法,所述控制方法包括:获取输入二进制数字信号,将所述输入二进制数字信号中的单个电信号值作为一个运算值,并从所述输入二进制数字信号的倒数第一位电信号值作为第一运算值开始计算;根据所述第一运算值计算获得第一输出值,将所述第一输出值作为输出二进制数字信号的倒数第一位电信号值,以输入二进制数字信号的逆向顺序将输入二进制数字信号的倒数第二位电信号值作为第二运算值,根据第一输出值的计算方式进行连续计算,直至计算出所述输入二进制数字信号的正数第一位电信号值对应的输出值时获得全部输出二进制数字信号,第一输出值的计算方式为当运算值为1时,则输出值为0,当运算值为0时,则输出值为0,且后续的输出值均等于对应的运算值,以得到将输入二进制数字信号倒数的一个或连续多个1变为0的输出二进制数字信号。

4、在一些实施例中,在根据所述第一运算值计算获得第一输出值,将所述第一输出值作为输出二进制数字信号的倒数第一位电信号值,以输入二进制数字信号的逆向顺序将输入二进制数字信号的倒数第二位电信号值作为第二运算值,根据第一输出值的计算方式进行连续计算,直至计算出所述输入二进制数字信号的正数第一位电信号值对应的输出值时获得全部输出二进制数字信号,第一输出值的计算方式为当运算值为1时,则输出值为0,当运算值为0时,则输出值为0,且后续的输出值均等于对应的运算值,以得到将输入二进制数字信号倒数的一个或连续多个1变为0的输出二进制数字信号中,所述控制方法包括:获取第一进位值,根据所述第一进位值和第一运算值计算获得第一输出值;将第一进位值和第一运算值进行与操作,以得到第二进位值;基于第一输出值的计算方式,根据所述第二运算值和第二进位值计算获得第二输出值,并基于第一输出值和第二进位值的计算方式,连续计算至所述输入二进制数字信号的正数第一位电信号值对应的输出值时获得全部输出二进制数字信号。

5、在一些实施例中,将所述第一进位值设置为1,在所述获取第一进位值,根据所述第一进位值和第一运算值计算获得第一输出值中,所述控制方法包括:将所述第一进位值取反;将取反的第一进位值和第一运算值进行与操作,以得到第一输出值。

6、在一些实施例中,在所述获取第一进位值,根据所述第一进位值和第一运算值计算获得第一输出值中,所述控制方法还包括:将所述第一进位值与所述第一运算值进行异或操作;将异或操作的结果与第一运算值进行与操作,以得到第一输出值。

7、根据本技术实施例的一个方面,提供了一种数字信号末尾1变0的控制电路,采用如上所述的控制方法进行控制,所述控制电路包括多个控制子电路,所述控制子电路包括:第一与门,所述第一与门的第一输入端接收第一运算值,所述第一与门的第二输入端接收第一进位值,所述第一与门的输出端输出第二进位值,并传输至下一个控制子电路;输出控制模块,用于接收所述第一进位值和第一运算值,根据所述第一进位值和第一运算值计算获得第一输出值。

8、在一些实施例中,所述输出控制模块包括:第一非门,所述第一非门的输入端接收所述第一进位值;第二与门,所述第二与门的第一输入端接收所述第一非门的输出值,所述第二与门的第二输入端接收所述第一运算值,所述第二与门的输出端输出第一输出值。

9、在一些实施例中,所述输出控制模块还包括:异或门,所述异或门的第一输入端接收所述第一运算值,所述异或门的第二输入端接收所述第一进位值;第三与门,所述第三与门的第一输入端接收所述第一运算值,所述第三与门的第二输入端接收所述异或门的输出值,所述第三与门的输出端输出第一输出值。

10、根据本技术实施例的一个方面,提供了一种芯片,所述芯片包括如上所述的控制电路。

11、根据本技术实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的控制方法。

12、根据本技术实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储所述处理器的可执行指令,当所述可执行指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的控制方法。

13、由以上本技术的技术方案,与现有技术相比,其显著的有益效果在于:计算机使用alu执行运算,需调用位逻辑运算、整数算数运算,使用多个模块,采用本技术实现运算时,电路简单,电路只用到基本的门电路,实现成本更低,减少在处理器中占用的空间,降低电能的消耗。同时可以根据需要运算的输入二进制数字信号的位数实现不同运算位数的控制电路的设计,满足不同运算位数的需求。本技术单独的对输入二进制数字信号的右边最后一个1或者最右边的连续的几个1变成0的操作,减少了alu的复杂程度,降低成本,减少在处理器中占用的空间,降低电能的消耗。本技术去掉了alu中冗余的部分、无需调用计算单元逻辑单元,简化了电路,仅用一些门级电路,使指令的处理速度提高。

14、本技术可应用于如下场景:

15、1.在二进制数字信号中,本技术可以清除掉二进制数字信号表示中的最后一个或连续多个1。这个特性可以用来解决很多位运算问题,比如计算二进制数字信号数中1的个数。

16、2.判断一个数是否为2的幂次方,如果一个数是2的幂次方,那么它的二进制数字信号表示中只有一个1,其他位都是0。利用本技术清除掉最后一个或连续多个1的特性,我们可以判断一个数是否是2的幂次方。

17、3.判断一个无符号整数的二进制数字信号表示中有多少个1。

18、4.交换两个整数的值。

19、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1