【技术实现步骤摘要】
【国外来华专利技术】推理引擎电路架构
[0001]相关申请的交叉引用
[0002]本申请要求专利技术人Aliasger Zaidy等人于2020年3月29日提交的标题为“推理引擎电路架构(Inference Engine Circuit Architecture)”的第16/833,610号美国专利申请的权益和优先权,所述美国专利申请与本文共同转让,并且所述美国专利申请特此以全文引用的方式整体并入本文中,其全部效力和效果与本文中所全文阐述的相同。
[0003]本专利技术大体上涉及计算电路系统,且更具体地说,涉及一种能够实行逐矩阵乘法运算(matrix
‑
by
‑
matrix multiplication)的电子电路架构,所述电子电路架构可用于实施卷积神经网络,用于例如人工智能、机器学习、和图像识别等应用程序。
技术介绍
[0004]神经网络运算的核心是大量乘法运算。卷积神经网络(“CNN”)是具有多个互连的阶层式层的前馈神经网络,所述前馈神经网络通常用于例如人工智能、机器学习和图像识别等多种应用程序。CNN层的输入和输出通常是三维(“3D”)的。例如,典型的CNN可以使用具有红色通道、绿色通道和蓝色通道的图像输入,所述通道中的每一者是单独的二维(2D)输入特征图。对这些输入特征图中的每一者实行二维卷积以产生三个输出,然后逐像素以相加方式组合所述输出以产生多个输出图,然后将所述输出图作为输入馈送到下一CNN层,直到产生最终结果为止。一组此类输入数据,如输入特征图,称为输入“映射”。接着将 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种加速电路架构,其包括:第一缓冲器电路,其存储映射数据;第一数据网络,其耦合到所述第一缓冲器电路;第二缓冲器电路,其存储内核数据;第二串行数据网络,其耦合到所述第二缓冲器电路;第一多个乘法和累加电路,其布置在第一阵列中并且通过所述第一数据网络耦合到所述第一缓冲器电路且通过所述第二串行数据网络耦合到所述第二缓冲器电路,所述第一多个乘法和累加电路中的每个乘法和累加电路包括:乘法器电路,其用以将映射数据和内核数据相乘以生成乘积;以及第一加法器电路,其耦合到所述乘法器;移位寄存器,其耦合到所述第一多个乘法和累加电路;第一控制多路复用器,其适用于响应于第一模式控制字而提供所选择输出,所述所选择输出包括偏置参数或者第一或下一累加和;以及第二加法器电路,其耦合到所述移位寄存器和所述第一控制多路复用器,所述第二加法器电路适用于将所述乘积与所述偏置参数或所述第一累加和相加以生成第二或下一累加和。2.根据权利要求1所述的加速电路架构,其中响应于第一模式控制字指定独立模式,所述第一控制多路复用器提供所述偏置参数作为所述所选择输出。3.根据权利要求1所述的加速电路架构,其中响应于第一模式控制字指定协作模式,所述第一控制多路复用器提供所述偏置参数作为所述所选择输出用于第一周期且提供所述第一或下一累加和作为所述所选择输出用于多个后续周期。4.根据权利要求1所述的加速电路架构,其中响应于第一模式控制字指定组合式独立和协作模式,所述第一控制多路复用器提供所述偏置参数作为所述所选择输出用于第一周期且提供所述第一或下一累加和作为所述所选择输出用于第一多个后续周期;并且在所述第一多个后续周期之后,所述第一控制多路复用器提供所述偏置参数作为所述所选择输出用于下一周期且提供所述第一或下一累加和作为所述所选择输出用于第二多个后续周期。5.根据权利要求1所述的加速电路架构,其中所述第二串行数据网络将第一内核数据提供到第一多个乘法和累加电路,接着循序将所述第一内核数据提供到第二多个乘法和累加电路。6.根据权利要求1所述的加速电路架构,其进一步包括:映射缓冲器仲裁器电路,其耦合到所述第一缓冲器电路和所述第一数据网络,所述映射缓冲器仲裁器电路适用于确定访问所述第一缓冲器电路时的冲突,并且响应于所述冲突而实施用于访问所述第一缓冲器电路的优先级协议。7.根据权利要求6所述的加速电路架构,其中所述映射缓冲器仲裁器电路进一步适用于接收用于所述第一缓冲器电路中的所选择映射数据的地址,并且作为响应,获得并提供所述所选择映射数据。8.根据权利要求1所述的加速电路架构,其进一步包括:张量解码器电路,其耦合到所述第一数据网络,所述张量解码器电路适用于生成并输出地址序列,所述地址序列从基地址开始并使所述基地址递增直到输出地址等于所述基地
址加上张量长度。9.根据权利要求8所述的加速电路架构,其中所述张量解码器电路进一步包括:操作数收集器,其耦合到所述第一数据网络,所述操作数收集器适用于将所述输出地址传送到映射缓冲器仲裁器电路或所述第二缓冲器电路,获得对应于所述输出地址的数据,并将所获得数据传送到所述第一多个乘法和累加电路。10.根据权利要求1所述的加速电路架构,其进一步包括:模式控制电路,其适用于提供或生成所述第一模式控制字。11.根据权利要求1所述的加速电路架构,其进一步包括:MAX电路,其包括多个比较器,所述多个比较器适用于确定多个第二或下一累加和的最大值。12.根据权利要求1所述的加速电路架构,其进一步包括:多个第二控制多路复用器,所述多个第二控制多路复用器中的每个第二控制多路复用器耦合到所述第一多个乘法和累加电路中的乘法和累加电路的第一加法器电路,所述多个第二控制多路复用器中的每个第二控制多路复用器适用于响应于第二模式控制字而提供所选择输出,所述所选择输出包括偏置参数或第一累加和。13.一种加速电路架构,其包括:第一缓冲器电路,其存储映射数据;第一数据网络,其耦合到所述第一缓冲器电路;多个第二缓冲器电路,其存储内核数据,所述多个第二缓冲器电路中的每个第二缓冲器电路存储与所述多个第二缓冲器电路中的另一第二缓冲器电路不同的内核数据;多个第二串行数据网络,所述多个第二串行数据网络中的每个第二串行数据网络耦合到所述多个第二缓冲器电路中的对应第二缓冲器电路;以及多个向量
‑
向量加速电路,其布置在多个阵列中,所述多个阵列中的所选择阵列中的所述多个向量
‑
向量加速电路中的每个向量
‑
向量加速电路通过所述第一数据网络耦合到所述第一缓冲器电路,并且所述多个向量
‑
向量加速电路中的每个向量
‑
向量加速电路通过所述多个第二串行数据网络中的对应第二串行数据网络耦合到所述多个第二缓冲器电路中的第二缓冲器电路,所述多个向量
‑
向量加速电路中的每个向量
‑
向量加速电路包括:多个乘法和累加电路,所述多个乘法和累加电路中的每个乘法和累加电路包括:乘法器电路,其用以将映射数据和内核数据相乘以生成乘积;以及第一加法器电路,其耦合到所述乘法器;移位寄存器,其耦合到所述多个乘法和累加电路;第一控制多路复用器,其适用于响应于第一模式控制字而提供所选择输出,所述所选择输出包括偏置参数或者第一或下一累加和;以及第二加法器电路,其耦合到所述移位寄存器和所述第一控制多路复用器,所述第二加法器电路适用于将所述乘积与所述偏置参数或所述第一累加和相加以生成第二或下一累加和。14.根据权利要求13所述的加速电路架构,其中响应于第一模式控制字指定独立模式,所述第一控制多路复用器提供所述偏置参数作为所述所选择输出。15.根据权利要求13所述的加速电路架构,其中响应于第一模式控制字指定协作模式,
所述第一控制多路复用器提供所述偏置参数作为所述所选择输出用于第一周期且提供所述第一或下一累加和作为所述所选择输出用于多个后续周期。16.根据权利要求13所述的加速电路架构,其中响应于第一模式控制字指定组合式独立和协作模式,所述第一控制多路复用器提供所述偏置参数作为所述所选择输出用于第一周期且提供所述第一或下一累加和作为所述所选择输出用于第一多个后续周期;并且在所述第一多个后续周期之后,所述第一控制多路复用器提供所述偏置参数作为所述所选择输出用于下一周期且提供所述第一或下一累加和作为所述所选择输出用于第二多个后续周期。17.根据权利要求13所述的加速电路架构...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。