专用集成电路的双模操作制造技术

技术编号:32767682 阅读:20 留言:0更新日期:2022-03-23 19:20
一种用于操作包括多个区块(202a

【技术实现步骤摘要】
【国外来华专利技术】专用集成电路的双模操作
[0001]优先权要求
[0002]本申请要求2019年8月14日提交的美国专利申请序列号62/886,481的优先权,其全部内容通过引用结合于此。

技术介绍

[0003]神经网络是机器学习模型,其采用一层或多层模型来为接收的输入生成输出,例如分类。一些神经网络除了输出层之外,还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即网络的下一隐藏层或输出层)的输入。网络的每一层根据相应的参数的集合的当前值从接收的输入生成输出。
[0004]一些神经网络包括一个或多个卷积神经网络层。每个卷积神经网络层都有相关联的核的集合。核可以表示为权重输入的矩阵结构。每个卷积层还可以处理激活输入的集合。激活输入的集合也可以表示为矩阵结构。
[0005]一些现有系统在软件中为给定的卷积层执行计算。例如,软件可以将该层的每个核应用于激活输入的集合。也就是说,对于每个核,软件可以将可以多维表示的核覆盖在可以多维表示的激活输入的第一部分上。然后,软件可以根据覆盖的元素计算点积。点积可以对应于单个激活输入,例如,在覆盖的多维空间中具有左上角位置的激活输入元素。例如,使用滑动窗口,软件然后可以移动核以覆盖激活输入的第二部分,并计算对应于另一激活输入的另一点积。软件可以重复执行这个过程,直到每个激活输入都有对应的点积。在一些实施方式中,点积被输入到激活函数,该激活函数生成激活值。激活值在被发送到神经网络的后续层之前,可以被组合,例如池化(pool)。

技术实现思路

[0006]我们在这里描述集成电路,诸如专用集成电路(ASIC),其可以基于用于执行给定计算的集成电路的配置以两种模式之一操作。集成电路包括区块(tile)的阵列。在一种模式中,在给定计算中涉及的每个区块与每个其他区块同时(例如,相同的时钟周期)接收用于处理的输入数据。在另一种模式中,故意将延迟引入区块的子集的操作中,使得数据处理的时序在区块的子集之间被错开。例如,集成电路在第二情况下的操作可以通过使集成电路的功耗和电流改变率保持在集成电路的设计约束内,使集成电路对攻击具有鲁棒性。
[0007]在一个方面,一种用于操作包括多个区块的集成电路芯片的方法包括确定用于计算的执行的集成电路的区块的配置。该方法包括,当区块的配置满足第一标准时,在第一模式中操作集成电路,包括在集成电路的每个区块处同时接收用于计算的相应输入数据。该方法包括,当区块的配置满足第二标准时,在第二模式中操作集成电路,包括:在第一时间,在集成电路的第一组区块的每个区块处同时接收用于计算的相应第一输入数据;在第一时间,将用于计算的相应第二输入数据存储在多个延迟寄存器的每一个中,每个延迟寄存器与集成电路的第二组区块中的一个区块相对应;在第二时间,从延迟寄存器释放第二输入数据,并在第二组区块的每个区块处接收释放的相应第二输入数据。
[0008]实施例可以包括以下特征中的两个或更多个的一个或任意组合。
[0009]确定用于计算的执行的区块的配置包括确定可操作用于执行计算的区块的数量和百分比中的一个或多个。第一标准包括可操作用于执行计算的区块的数量或百分比小于阈值数量或百分比,第二标准包括可操作用于执行计算的区块的数量或百分比大于阈值数量或百分比。
[0010]确定用于计算的执行的区块的配置包括确定可操作用于执行计算的区块的列的数量。第一标准包括可操作用于执行计算的区块的列的数量或百分比小于阈值数量或百分比,第二标准包括可操作用于执行计算的区块的列的数量或百分比大于阈值数量或百分比。
[0011]该方法包括确定区块的配置是否满足第一标准或第二标准。
[0012]在第二模式中操作集成电路包括操作复用器以启用延迟寄存器。在第一模式中操作集成电路包括操作复用器以禁用延迟寄存器。
[0013]第一时间是第一时钟周期,并且第二时间是下一时钟周期。
[0014]在第一模式中同时接收相应输入数据包括在每个区块处接收输入数据的向量。
[0015]在第一模式中操作集成电路包括操作集成电路的区块中的每一个来处理相应输入数据。
[0016]在第二模式中操作集成电路包括:操作第一组的每个区块来处理相应第一输入数据;以及操作第二组的每个区块来处理从延迟寄存器释放的相应第二输入数据。
[0017]该方法包括从编译器接收第一准则和第二准则的指示。
[0018]在一个方面,集成电路包括多个延迟寄存器,每个延迟寄存器连接到对应的第一总线线路;多个区块,区块的第一组的每个区块连接到对应的第二总线线路,区块的第二组的每个区块连接到第一总线线路中的对应的一条;以及控制器,被配置为确定用于计算的执行的第一组区块和第二组区块的配置。当区块的配置满足第一标准时,控制器被配置为控制集成电路在第一模式中操作,在第一模式中,经由第一总线线路和第二总线线路在多个区块的每一个处同时接收用于计算的相应输入数据。当区块的配置满足第二标准时,控制器被配置为控制集成电路在第二模式中操作,在第二模式中,在第一时间,在第一组区块的每个区块处同时接收用于计算的相应第一输入数据;在第一时间,将用于计算的第二输入数据存储在延迟寄存器中的每一个中;并且在第二时间,从延迟寄存器释放第二输入数据,并且在第二组区块的每个区块处接收相应第二输入数据。
[0019]实施例可以包括以下特征中的两个或更多个的一个或任意组合。
[0020]集成电路包括连接到每个第二总线线路的复用器。
[0021]区块以二维阵列布置。
[0022]集成电路包括专用集成电路(ASIC)。
[0023]每个区块包括:多个计算单元;耦合到计算单元的存储器;和可控总线线路,其被配置为向区块输送数据或从区块输送数据。
[0024]区块中的至少之一被配置为充当控制器。
[0025]集成电路包括通信接口。
[0026]集成电路(诸如专用集成电路(ASIC))在第一同时模式或第二交错模式中的操作可以具有一个或多个以下优点。集成电路可以以对攻击鲁棒的方式操作,并且也可以以有
效的方式工作以便在适当的情况下快速处理。操作模式的选择是自动的,并且可以动态地进行,例如,在每次计算的基础上选择模式。
[0027]本专利技术的一个或多个实施例的细节在附图和下面的描述中阐述。从说明书、附图和权利要求中,其他特征和优点将变得显而易见。
附图说明
[0028]图1是示出专用逻辑电路示例的示意图。
[0029]图2A和图2B是示出区块的阵列的第一操作模式和第二操作模式的示意图。
[0030]图3是区块阵列的示意图。
[0031]图4是流程图。
具体实施方式
[0032]我们在这里描述集成电路,诸如专用集成电路(ASIC),其可以基于用于执行给定计算的集成电路的配置以两种模式之一操作。集成电路包括区块的阵列。在一种模式中,在给定计算中涉及的每个区块与每个其他区块同时(例如,相同的时钟周期)接收用于处理的输入数据。在另一种模式中,故意将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于操作包括多个区块的集成电路芯片的方法,所述方法包括:确定用于计算的执行的集成电路的区块的配置;当所述区块的所述配置满足第一标准时,在第一模式中操作所述集成电路,包括:在所述集成电路的所述区块中的每一个处同时接收用于所述计算的相应输入数据;和当所述区块的所述配置满足第二标准时,在第二模式中操作所述集成电路,包括:在第一时间,在所述集成电路的第一组区块的每个区块处同时接收用于所述计算的相应第一输入数据;在所述第一时间,将用于所述计算的相应第二输入数据存储在多个延迟寄存器的每一个中,每个延迟寄存器与所述集成电路的第二组区块中的区块相对应;在第二时间,从所述延迟寄存器释放所述第二输入数据,并在所述第二组区块的每个区块处接收释放的相应第二输入数据。2.根据权利要求1所述的方法,其中确定用于所述计算的执行的所述区块的配置包括确定可操作用于执行所述计算的区块的数量和百分比中的一个或多个。3.根据权利要求2所述的方法,其中所述第一标准包括可操作用于执行所述计算的区块的数量或百分比小于阈值数量或百分比,以及其中所述第二标准包括可操作用于执行所述计算的区块的数量或百分比大于阈值数量或百分比。4.根据权利要求1所述的方法,其中确定用于所述计算的执行的所述区块的配置包括确定可操作用于执行所述计算的区块的列的数量。5.根据权利要求4所述的方法,其中所述第一标准包括可操作用于执行所述计算的区块的列的数量或百分比小于阈值数量或百分比,以及其中所述第二标准包括可操作用于执行所述计算的区块的列的数量或百分比大于阈值数量或百分比。6.根据权利要求1所述的方法,包括确定所述区块的所述配置是否满足所述第一标准或所述第二标准。7.根据权利要求1所述的方法,其中在第二模式中操作所述集成电路包括操作复用器以启用所述延迟寄存器。8.根据权利要求7所述的方法,其中在第一模式中操作所述集成电路包括操作所述复用器以禁用所述延迟寄存器。9.根据权利要求1所述的方法,其中所述第一时间是第一时钟周期,并且所述第二时间是下一时钟周期。10.根据权利要求1所述的方法,其中在所述第一模式中同时接收相应输入数据包括在每个区...

【专利技术属性】
技术研发人员:R波普
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1