乘法器-累加器处理流水线和处理组件以及操作其的方法技术

技术编号:30149916 阅读:19 留言:0更新日期:2021-09-25 14:56
一种集成电路,包括:多个处理组件,包括第一和第二处理组件,其中每个处理组件包括:第一存储器,用于存储图像数据;以及多个乘法器

【技术实现步骤摘要】
【国外来华专利技术】乘法器

累加器处理流水线和处理组件以及操作其的方法
[0001]相关申请
[0002]该非临时申请要求于2019年4月9日提交的名称为“Multiplier

Accumulator Circuitry and System having Processing Pipeline and Methods of Operating and Using Same”的美国临时申请No.62/831,413的优先权和权益。通过引用将该

413临时申请全部内容合并在此。
[0003]引言
[0004]本文描述和例示了许多专利技术。本专利技术既不限于任何单个方面也不限于其实施例,也不限于这些方面和/或实施例的任何组合和/或置换。重要的是,本专利技术的每个方面和/或其实施例可以单独使用或与本专利技术的其它方面和/或其实施例中的一个或多个组合使用。所有其组合和置换旨在落入本专利技术的范围内。
[0005]在一个方面中,本专利技术涉及一个或多个集成电路,所述一个或多个集成电路具有乘法器

累加器电路系统(以及操作该电路系统的方法),该乘法器

累加器电路系统包括多个乘法器

累加器执行或处理流水线,其中每个流水线包括多个并发(concurrently)发挥作用或操作的乘法器

累加器电路。在此,乘法器

累加器执行或处理流水线经由多个分离的乘法器

累加器电路(在此有时称为“MAC”或“MAC电路”),且在一个实施例中经由便利于乘法和累加运算的流水线处理从而增加乘法器

累加器执行或处理流水线与处理相关数据有关的吞吐量的多个寄存器(包括多个映像寄存器),来并发处理相关数据(例如,图像数据)。
[0006]在一个实施例中,一个或多个集成电路各自包括多个集群(例如,四个),其中每个集群包括多个MAC执行流水线(例如,16个),其中每个MAC执行流水线包括多个分离的乘法器

累加器电路(例如,64个)。在此,多个集群可以形成组件(该组件在图中通常被标识为“X1”或“X1组件”),在一个实施例中,该组件包括存储器、用于互连组件的电路系统(例如,X1组件的(一个或多个)集群的(一个或多个)MAC执行流水线)和/或将组件的电路系统与一个或多个其它X1组件的电路系统互连的的开关互连网络、以及与例如外部存储器(例如,DRAM、MRAM、SRAM和/或闪速存储器)接口的接口电路系统(例如,PHY和/或GPIO电路系统)。
[0007]在一个实施例中,X1组件的多个集群的一个或多个MAC执行流水线可以被配置为经由每个MAC执行流水线的多个分离的乘法器

累加器电路并发处理相关数据(例如,图像数据)。值得注意的是,MAC执行流水线可以是任何尺寸(例如,16、32、64、96或128个乘法器

累加器电路)—其可以是固定的(例如,在制造时)或可配置的(例如,一次性可配置或多次可配置(例如,在通电时和/或原地)。
[0008]在本专利技术的另一方面中,一个或多个集成电路包括多个组件或X1组件(例如,2、4、...),其中每个组件包括多个集群,其中每个集群包括多个MAC执行流水线。例如,在一个实施例中,一个集成电路包括多个组件或X1组件(例如,4个集群),其中每个集群包括多个执行或处理流水线(例如,16、32或64),所述多个执行或处理流水线被配置为并发处理、发挥作用和/或操作,使得相关数据由多个集群的每个执行流水线并发处理,以例如减少相关数据的处理时间和/或增加X1组件的数据吞吐量。
[0009]实际上,在一个实施例中,多个X1组件的集群中的每个的多个执行或处理流水线可以例如以环形配置或架构互连,以并发处理相关数据(例如,图像数据)。在此,多个X1组件(其可以在单个管芯或多个管芯上集成/制造)的一个或多个(或所有)集群的多个MAC执行流水线可以以环形配置或架构互连以并发处理相关数据。例如,每个X1组件的一个或多个(或所有)集群的多个MAC执行流水线被配置为处理图像帧的一个或多个阶段,使得每个X1组件的电路系统处理多个图像帧中的每个图像帧的一个或多个阶段。在另一个实施例中,每个X1组件的一个或多个(或所有)集群的多个MAC执行流水线被配置为处理每个图像帧的每个阶段的一个或多个部分,使得每个X1组件的电路系统被配置为处理多个图像帧中的每个图像帧的每个阶段的一部分。在又一个实施例中,每个X1组件的一个或多个(或所有)集群的多个MAC执行流水线被配置为处理至少一个完整图像帧的所有阶段,使得每个X1组件的电路系统被配置处理至少一个图像帧的所有阶段。这里,每个X1组件被配置为处理一个或多个图像帧的所有阶段,使得每个X1组件的电路系统处理不同的图像帧。
[0010]值得注意的是,本专利技术可以包括多个分离的乘法器

累加器电路和便利于乘法和累加运算的流水线操作的多个寄存器(包括多个映像寄存器)。(参见,例如,分别于2018年8月31日和2019年8月20日提交的名称为“Multiplier

Accumulator Circuit,Logic Tile Architecture for Multiply

Accumulate,and IC including Logic Tile Array”的美国专利申请No.16/545,345和美国临时专利申请No.62/725,306)。此外,每个X1组件的开关互连网络可以采用

306和

345申请中所述和/或所示的NLINX接口连接器和互连网络。实际上,本专利技术可以结合

306和

345申请的专利技术和/或实施例来实施,

306和

345申请的全部内容通过引用合并在此。值得注意的是,

306和

345申请中所述和/或所示的乘法器

累加器电路系统便利于乘法和累加运算的级联,以及重新配置其电路系统和由此执行的操作;以这种方式,多个乘法器

累加器电路可以被配置和/或重新配置为以更快和/或更有效地执行处理和操作的方式来处理数据(例如,图像数据)。
[0011]除此之外,本专利技术还可以结合电路系统和技术来使用或实现乘法器

累加器执行或处理流水线(以及操作这种电路系统的方法),该乘法器

累加器执行或处理流水线具有实现Winograd型处理的电路系统以增加乘法器

累加器电路系统和处理的数据吞吐量—例如,如分别于2020年2月20日和2019年3月25日提交的美国专利申请No.16/796,111和美国临时专利申请No.62/823,161中所述和/或所示的);

111和

161申请的全本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种集成电路,包括:一个或多个处理组件,其中每个处理组件包括:第一存储器,用于存储图像数据;多个乘法器

累加器执行流水线,耦接至所述第一存储器,其中每个乘法器

累加器执行流水线包括多个乘法器

累加器电路,用于在操作中执行乘法和累加运算,其中所述多个乘法器

累加器执行流水线包括:第一乘法器

累加器执行流水线,被配置为(i)从所述第一存储器输入第一数据,(ii)使用所述第一数据和第一组滤波权重执行第一多个乘法和累加运算,以及(iii)将第一处理后数据输出至所述第一存储器,其中所述第一处理后数据被存储在所述第一存储器中,以及第二乘法器

累加器执行流水线,被配置为(i)从所述第一存储器输入第二数据,其中所述第二数据包括所述第一处理后数据,(ii)使用所述第二数据和第二组滤波权重执行第二多个乘法和累加运算,以及(iii)输出第二处理后数据;以及其中,在操作中,所述第一乘法器

累加器执行流水线与所述第二乘法器

累加器执行流水线执行所述第二多个乘法和累加运算并发地执行所述第一多个乘法和累加运算的一部分。2.根据权利要求1所述的集成电路,其中:所述第一处理后数据对应于图像帧的第一阶段,且所述第二处理后数据对应于所述图像帧的第二阶段,其中所述第一阶段和第二阶段是所述图像帧的连续阶段。3.根据权利要求1所述的集成电路,其中:所述第一存储器同时(i)存储所述第一乘法器

累加器执行流水线输出的所述第一处理后数据的第一部分,以及(ii)将所述第二数据的一部分输出至所述第二乘法器

累加器执行流水线,其中所述第二数据的输出至所述第二乘法器

累加器执行流水线的所述一部分包括所述第一处理后数据的第二部分。4.根据权利要求1所述的集成电路,其中:所述第一乘法器

累加器执行流水线和第二乘法器

累加器执行流水线各自包括64个MAC电路。5.根据权利要求1所述的集成电路,还包括:第二存储器,存储所述第一组滤波权重和所述第二组滤波权重,其中所述第二存储器耦接至所述第一乘法器

累加器执行流水线和第二乘法器

累加器执行流水线。6.根据权利要求1所述的集成电路,其中:每个处理组件的所述多个乘法器

累加器执行流水线被组织成多个集群,其中每个集群包括所述多个乘法器

累加器执行流水线的子集。7.根据权利要求6所述的集成电路,其中:每个处理组件的所述多个乘法器

累加器执行流水线被物理上组织成多个集群,且所述第一乘法器

累加器执行流水线和第二乘法器

累加器执行流水线位于相同集群中。8.根据权利要求1所述的集成电路,其中:所述第一乘法器

累加器执行流水线在操作中,(i)在所述第二乘法器

累加器执行流水线从所述第一存储器输入第二数据之前,将所述第一处理后数据的第一部分输出至所述
第一存储器,以及(ii)在所述第二乘法器

累加器执行流水线从所述第一存储器输入第二数据时,将所述第一处理后数据的第二部分输出至所述第一存储器。9.一种集成电路,包括:多个处理组件,其中每个处理组件包括:第一存储器,用于存储图像数据;多个乘法器

累加器执行流水线,耦接至所述第一存储器,其中每个乘法器

累加器执行流水线包括多个乘法器

累加器电路,用于在操作中使用滤波权重和来自所述第一存储器的数据执行乘法和累加运算;其中所述多个处理组件中的第一处理组件被配置为经由所述第一处理组件的多个乘法器

累加器执行流水线处理与第一图像帧的所有阶段相关联的所有数据,以及所述多个处理组件中的第二处理组件被配置为经由所述第二处理组件的多个乘法器

累加器执行流水线处理与第二图像帧的所有阶段相关联的所有数据,其中所述第一图像帧和所述第二图像帧是连续的图像帧。10.根据权利要求9所述的集成电路,其中:每个处理组件的多个乘法器

累加器执行流水线被组织成多个集群,其中每个集群包括多个乘法器

累加器执行流水线的子集。11.根据权利要求9所述的集成电路,其中每个处理组件包括:第二存储器,用于存储所述滤波权重。12.根据权利要求11所述的集成电路,其中每个处理组件包括:多个第三存储器,用于存储滤波权重,其中所述多个乘法器
‑...

【专利技术属性】
技术研发人员:F
申请(专利权)人:弗莱克斯罗技克斯技术公司
类型:发明
国别省市:

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

1