低功率加法器电路的制作方法
- 国知局
- 2024-09-14 14:37:27
本说明书涉及用于执行数学计算的硬件电路。
背景技术:
1、计算电路能够包括用于将诸如整数和浮点数的数值输入相加的多个加法器电路。生产加法器电路并将其集成到现有计算电路中可能是昂贵的,而且未针对某些应用高效地调整一些加法器电路的尺寸。这些电路能够消耗电路管芯的相当大的面积,但是不管它们的大尺寸都在计算吞吐量方面没有优势。对于某些计算应用过大尺寸的加法器电路可能导致功耗和利用率低下。
2、硬件电路能够用于实现神经网络。具有多个层的神经网络能够用于通过使用包括多个加法器电路的计算电路来计算推理。硬件电路的计算电路系统也能够表示用于针对给定层执行神经网络计算的计算单元。例如,给定一个输入,所述神经网络能够通过使用在所述硬件电路的计算单元中的多个加法器中的一个或多个加法器来执行点积运算而针对所述输入来计算推理。
技术实现思路
1、本文描述一种用于将多个输入相加的专用硬件电路。该硬件电路包括第一加法器部分,该第一加法器部分接收第一输入和第二输入并且响应于将所述输入相加而生成第一和。该电路也包括第二加法器部分,该第二加法器部分能够接收第一输入和第二输入并且使用所述输入来生成第二和。该硬件电路的输入处理器接收第一输入和第二输入,确定在第一输入与第二输入之间的关系是否满足条件集,并且基于所确定的在第一输入与第二输入之间的关系来选择加法器电路的低功率模式或加法器电路的高功率模式。
2、所述电路被配置成利用所述输入的某些符号和指数属性,使得与高功率模式比,低功率模式被更频繁地选择用于将所述输入相加并处于高得多的比率。高功率模式仅偶尔在满足特定条件集时才被选择。因此,当在第一输入与第二输入之间的关系满足条件集时将第一输入和第二输入路由到第二加法器部分,否则所述输入处理器选择加法器电路的低功率模式。
3、本说明书中描述的主题的一个方面能够实施为一种用于将多个输入相加的加法器电路。所述加法器电路包括:输入处理器,该输入处理器被配置成:接收第一输入和第二输入;确定在第一输入与第二输入之间的关系是否满足条件集;当在第一输入与第二输入之间的关系满足所述条件集时,选择所述加法器电路的高功率模式并且将第一输入和第二输入路由到第一高功率加法器部分;以及当在第一输入与第二输入之间的关系不满足所述条件集时,选择所述加法器电路的低功率模式并且将第一输入和第二输入路由到第二低功率加法器部分。
4、这些和其它实施方式能够各自任选地包括以下特征中的一个或多个。例如,在一些实施方式中,第一高功率加法器部分被配置成接收第一输入和第二输入并且生成第一输入和第二输入的第一和;以及第二低功率加法器部分被配置成接收第一输入和第二输入并且生成第一输入和第二输入的第二和。
5、在一些实施方式中,所述加法器电路还包括:选择复用器,该选择复用器被配置成:当输入处理器选择加法器电路的低功率模式时,将所述第一和作为加法器电路的输出来传递;而当输入处理器选择加法器电路的高功率模式时,将所述第二和作为加法器电路的输出来传递。
6、在一些实施方式中,当低功率模式被选择时,加法器电路仅使用第二低功率加法器部分来将第一输入和第二输入相加;以及当高功率模式被选择时,加法器电路在将第一输入和第二输入相加时切换所述第一高功率加法器部分和第二低功率加法器部分两者。
7、在一些实施方式中,当低功率模式被选择并且加法器电路仅使用第二低功率加法器部分来将第一输入和第二输入相加时,所述加法器电路消耗比当高功率模式被选择时低的功率,因为与切换第一高功率加法器部分和第二低功率加法器部分两者以将第一输入和第二输入相加相比,仅使用第二低功率加法器部分来将第一输入和第二输入相加需要更少的电路切换。
8、在一些实施方式中,输入处理器还被配置成:基于所确定的在第一输入与第二输入之间的关系来生成第一参数信号,该第一参数信号指示加法器电路的所选模式。
9、在一些实施方式中,加法器电路还包括:模式检测器,该模式检测器被配置成:检测加法器电路的特定模式;并且基于检测到的加法器电路的模式来生成控制信号以控制第二低功率加法器部分。
10、在一些实施方式中,加法器电路还包括在输入处理器处包括的输入路由引擎,该输入路由引擎被配置成:在输入处理器确定在第一输入与第二输入之间的关系是否满足所述条件集之前,确定所述第一输入在幅值上比第二输入大;并且响应于确定第一输入在幅值上比第二输入大,将第一输入从被路由到所述加法器电路的用于接收两个输入中的较小者的第二输入端口转换为被路由到所述加法器电路的用于接收两个输入中的较大者的第一输入端口。
11、在一些实施方式中,所述条件集响应于输入处理器确定以下各项而被满足:第一输入的符号与第二输入的符号不相同;以及在第一输入的指数值与第二输入的指数值之间的计算差小于或等于1。
12、在一些实施方式中,输入处理器还被配置成:确定第一输入的符号是否与第二输入的符号不同;并且响应于确定第一输入的符号与第二输入的符号不同,使用第二低功率加法器部分来对第一输入或第二输入执行补码运算。
13、在一些实施方式中,加法器电路还包括:零输入生成器,该零输入生成器被配置成:响应于确定在第一输入与第二输入之间的关系不满足所述条件集而向所述第一高功率加法器部分提供多个零输入。
14、在一些实施方式中,第二低功率加法器部分:(i)沿着所述加法器电路的第二数据路径定位;(ii)沿着所述加法器电路的第二数据路径耦合到输入处理器;并且(iii)沿着所述加法器电路的第二数据路径耦合到选择复用器。
15、在一些实施方式中,第一高功率加法器部分:(i)沿着所述加法器电路的第一数据路径定位;(ii)沿着所述加法器电路的第一数据路径耦合到输入处理器;并且(iii)沿着所述加法器电路的第一数据路径耦合到选择复用器。
16、本说明书中描述的主题的一个方面能够实施为一种用于使用加法器电路来将输入相加的方法。所述方法包括:由加法器电路的输入处理器接收第一输入和第二输入;由输入处理器确定在第一输入与第二输入之间的关系不满足条件集;使用输入处理器并基于所确定的在第一输入与第二输入之间的关系来选择用于将所述输入相加的加法器电路的低功率模式;由输入处理器并基于加法器电路的所选模式来将第一输入和第二输入提供给加法器电路的与低功率模式相对应的第一低功率加法器部分;以及由第一低功率加法器部分使用在第一输入与第二输入之间的关系不满足所述条件集时所选择的加法器电路的低功率模式来生成第一输入和第二输入的第一和。
17、这些和其它实施方式能够各自任选地包括以下特征中的一个或多个。例如,在一些实施方式中,该方法还包括:当输入处理器选择加法器电路的低功率模式时,由加法器电路的选择复用器将所述第一和作为加法器电路的输出来传递;而当输入处理器选择加法器电路的高功率模式时,由选择复用器将第二和作为加法器电路的输出来传递。
18、在一些实施方式中,当低功率模式被选择时,加法器电路仅使用第一低功率加法器部分来将第一输入和第二输入相加;以及当加法器电路的高功率模式被选择时,加法器电路在将第一输入和第二输入相加时切换第一低功率加法器部分和第二高功率加法器部分两者。
19、在一些实施方式中,选择低功率模式并且仅使用第一低功率加法器部分来将第一输入和第二输入相加,与当高功率模式被选择并且加法器电路在将第一输入和第二输入相加时切换第一低功率加法器部分和第二高功率加法器部分两者时相比,使加法器电路消耗更少的功率。
20、在一些实施方式中,该方法还包括:由输入处理器基于所确定的在第一输入与第二输入之间的关系来生成第一参数信号,该第一参数信号指示加法器电路的所选模式。
21、在一些实施方式中,该方法还包括:由加法器电路的模式检测器检测加法器电路的特定模式;以及由模式检测器基于检测到的加法器电路的模式来生成控制信号以控制第一低功率加法器部分。
22、在一些实施方式中,该方法还包括:在输入处理器确定在第一输入与第二输入之间的关系是否满足所述条件集之前,使用在输入处理器处包括的输入路由引擎来确定第一输入在幅值上比第二输入大;以及响应于确定第一输入在幅值上比第二输入大,使用输入路由引擎来将第一输入从被路由到加法器电路的用于接收两个输入中的较小者的第二输入端口转换为被路由到加法器电路的用于接收两个输入中的较大者的第一输入端口。
23、在一些实施方式中,所述条件集响应于输入处理器确定以下各项而被满足:第一输入的符号与第二输入的符号相同;以及在第一输入的指数值与第二输入的指数值之间的计算差不小于或等于1。
24、在一些实施方式中,该方法还包括:使用输入处理器来确定第一输入的符号是否与第二输入的符号不同;以及响应于确定第一输入的符号与第二输入的符号不同,使用第一低功率加法器部分来对第一输入或第二输入执行补码运算。
25、在一些实施方式中,该方法还包括:由第二高功率加法器部分使用在输入处理器确定第一输入与第二输入之间的关系满足条件集时所选择的加法器电路的高功率模式来生成第一输入和第二输入的第二和。
26、这个和其它方面的其它实施方式包括被配置成执行所述方法的动作的对应系统、装置和计算机程序,所述计算机程序被编码在计算机存储装置(例如,非暂时性机器可读存储介质)上。能够借助于安装在计算系统上的软件、固件、硬件或它们的组合如此配置一个或多个计算机或硬件电路的计算系统,使得该软件、固件、硬件或它们的组合在操作中使所述系统执行所述动作。能够借助于具有当由数据处理装置执行时使该装置执行所述动作的指令如此配置一个或多个计算机程序。
27、能够在特定实施例中实现本说明书中描述的主题以实现以下优点中的一个或多个。所描述的技术能够用于实现用于将多个输入相加同时与用于将输入相加的常规电路比需要更少的功率的专用硬件电路。本文中描述的硬件电路的组件能够形成基于双路径硬件配置将多个输入(例如,浮点输入)高效地相加的低功率加法器电路。
28、当低功率模式被选择时,所述电路的第一数据路径用于将所述输入相加,以及当高功率模式被选择时,所述电路的第二数据路径用于将所述输入相加。硬件加法器电路被配置为使得低功率模式被选择成与高功率模式相比以明显更高的比率即更加频繁地将所述输入相加。相对于用于将输入相加的常规电路,所述加法器电路的这个特征导致在所述电路处的功耗降低,即,因为大多数加法是在与常规加法器电路相比消耗少得多的功率的低功率模式下完成的。
29、能够将所述专用硬件电路配置为低功率浮点加法器电路。能够基于至少拆分数据路径配置来优化这种低功率加法器电路以用于按降低的功率要求将两个浮点输入相加,所述拆分数据路径利用低功率模式的第一数据路径来生成将两个浮点输入相加的和。在一些实施方式中,所述浮点输入各自是32位浮点输入(标准精度)或使用降低精度浮点格式的16位浮点输入。
30、在下面的附图和描述中阐述本说明书中描述的主题的一个或多个实施方式的细节。根据说明书、附图和权利要求书,主题的其它潜在特征、方面和优点将变得显而易见。
本文地址:https://www.jishuxx.com/zhuanli/20240914/295120.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。