自愈计算阵列制造技术

技术编号:22007124 阅读:38 留言:0更新日期:2019-08-31 07:26
本公开涉及用于诸如人工智能(AI)、机器学习(ML)、数字信号处理(DSP)、图形处理单元(GPU)和其他计算密集型应用的硬件计算阵列(有时称为脉动阵列)。具体而言,本公开涉及高效且廉价地实施此类使用多个集成电路的阵列的新颖且有利的架构创新。本公开中的硬件和方法可允许在面对面或晶片到晶片键合之后测试计算阵列,而无需进行任何预键合测试。在键合后测试中发现的缺陷可完全或部分愈合,从而增加产量并降低成本。

Self-healing Computing Array

【技术实现步骤摘要】
【国外来华专利技术】自愈计算阵列相关申请本专利申请享有于2017年12月20日提交的标题为“自愈计算阵列”的美国临时申请(申请号:15/849,468)以及2016年12月21日提交的标题为“自愈计算阵列架构”的美国临时专利申请(申请号:62/437,554)的优先权和权益,其全文以引用方式并入本文件。
本公开涉及用于诸如人工智能(AI)、机器学习(ML)、数字信号处理(DSP)、图形处理单元(GPU)和其他计算密集型应用的硬件计算阵列(有时称为脉动阵列)。具体而言,本公开涉及高效且廉价地实施此类阵列的新颖且有利的架构创新。专利技术技术近年来,异构计算广泛用于越来越多的应用领域。值得注意的是,在诸如视频显示器和游戏、数字信号处理(DSP)、图像处理、机器学习、大数据、高性能计算、网络分组处理、数据加密等领域的主流计算设备中使用图形处理单元(GPU)和其他专用协处理器。此类协处理器通常用于支持充当系统的主处理器的中央处理单元(CPU)或微处理单元(MPU)的同构集群。许多异构协处理器使用计算阵列来实现,计算阵列是包括同构数据处理单元(DPU)的行和列的并行计算架构。其优点是能够在DPU之间传递部分结果的重复计算,并且在阵列内完全执行该重复计算而无需访问外部资源,诸如高速缓存、主存储器、总线等。这避免了更常规的复杂指令集计算(CISC)或减小的指令集计算(RISC)计算架构中存在的许多瓶颈。图1示出了本领域已知类型的示例性简化的DPU100。DPU100包括多个值输入102、输入复用器104、值存储器106、系数存储器108、乘积和累加电路110以及值输出112。DPU100是诸多以行和列排列的DPU100的阵列(未示出)的一部分。值输入102耦合到阵列中的多个其他DPU100中的多个值输出112。同样地,值输出112耦合到阵列中的其他DPU100中的一个或多个值输入102。复用器104在各种值输入102之间进行选择并将其引至值存储器106,其中其值被储存直到为乘积和累加电路110所需为止。系数存储器108储存待处理的多个系数以及储存在值存储器106中的值。在示例性DPU100中,乘积和累加电路110访问来自值存储器106的值以及来自系数存储器108的系数,将其相乘,然后将结果与先前值-系数对的乘积的总和相加。值存储器106和系数存储器108可(例如)为随机存取存储器(RAM)或先进先出(FIFO)存储器。在采用先进先出的实施方案中,系数存储器108周围的环回连接可用于反复循环通过系数存储器108的相同系数,而新值集将连续通过值存储器106,每次通过一个数据集。然后,来自乘积和累加电路110的结果将通过值输出112转至阵列中的其他DPU100。阵列旨在串联和并联地执行大量的乘积和累加操作。每个DPU100均为相对较小的电路。值和系数的位数以及值存储器106和系数存储器108的深度由应用确定并取决于设计选择。本领域的技术人员知悉,DPU100是非常通用的计算单元,并且诸多可执行类似或其他操作的计算单元(两者均在本领域中是已知的且未被专利技术)可组合于类似的计算阵列。手机、平板电脑、传感器、安保和其他相机、物联网(IOT)和其他电池驱动装置的数据处理装置的缺点使得相当有必要设计出小型、廉价、低功耗的计算阵列。具体而言,希望计算阵列DPU与大小适当的低功耗、廉价的存储器配对。遗憾的是,比如嵌入式静态随机存取存储器(eSRAM)或嵌入式动态随机存取存储器(eDRAM)的单一解决方案具有大量的区域开销成本。使用外部存储器芯片甚至更昂贵,并且外部接口对于独立的、移动的且其他电池驱动装置使用无法接受的功率水平。附图说明图1示出了本领域已知类型的示例性简化的DPU。图2A示出了根据本专利技术的实施方案的示例性DPU。图2B示出了根据本专利技术实施方案的图2A的示例性DPU,其被划分成计算块和存储块。图2C示出了根据本专利技术实施方案的图2A的示例性DPU的阵列。图2D示出了根据本专利技术实施方案的图2B的示例性DPU的阵列,其中存储块被移除。图2E示出了根据本专利技术实施方案的图2B的示例性DPU的阵列,其中存储块位于DPU的其余部分的上方。图2F示出了根据本专利技术实施方案的图2D和图2E的结构的侧视图。图2G示出了根据本专利技术实施方案的图2D和图2E中的结构的侧视图。图3A示出了根据本专利技术的实施方案的示例性DPU。图3B示出了根据本专利技术实施方案的图3A的示例性DPU,其被划分成计算块和存储块。图3C示出了根据本专利技术实施方案的图3A的示例性DPU的阵列。图3D示出了根据本专利技术实施方案的图3A的示例性DPU的阵列,其中存储块被移除。图3E示出了根据本专利技术实施方案的图3D的阵列中储存块位于DPU的位置上方的示例性阵列。图3F分别示出了根据本专利技术实施方案的图3D和图3E的组合结构的侧视图。图3G分别示出了根据本专利技术另一实施方案的图3D和图3E的阵列的组合结构的侧视图。图4A示出了根据本专利技术实施方案的示例性DPU的阵列。图4B示出了根据本专利技术实施方案的示例性DPU的阵列。图4C示出了根据本专利技术实施方案的示例性DPU的阵列。图4D示出了根据本专利技术实施方案的示例性DPU的阵列。具体实施方式本领域的普通技术人员知晓,示例性实施方案和方法的如下附图和描述仅供示例,而不以任何方式进行限制。检查本公开后,将易于向此类技术人员推荐其他实施方案。本公开的某些实施方案在计算阵列的DPU中利用适当设定尺寸的存储器阵列的面对面(F2F)或晶片到晶片(W2W)键合。这可减小DPU的大小,因为存储器可被移除或重定位到另一个集成电路或晶片上,并且解决了功率问题,因为F2F/W2W键合允许更小和更低功率的I/O架构。在一些实施方案中能够还利用阵列自愈合特性,以允许路由围绕或穿过有缺陷的DPU和/或存储器阵列。这改善了阵列完整性,并且允许使用和出售其他不完美的单元。图2A示出了根据本专利技术的实施方案的示例性DPU200。DPU200包括耦合到输入处理电路(IPC)204的多个数据输入导体202,通过数据导体206耦合到输入处理电路204的数据存储器(DM)208,通过数据导体210耦合到DM208的计算引擎(CE)212,耦合到CE212的数据输出导体214,以及通过控制导体217、218和219分别耦合到IPC204、DM208和CE212的控制和测试电路(CTC)216。在本文中,“导体”是指“一条或多条导电信号线的总线”。DPU200的操作与图1中DPU100的操作相似,但更一般化。例如,在一些实施方案中,输入处理电路204可执行与复用器104相似的多路复用功能,但可包含用于处理输入数据以及为DPU200提供测试功能的一些功能的其他电路。同样地,在一些实施方案中,数据存储器208可用于值数据和系数数据,但可也用于根据计算引擎212的功能来存储其他种类的数据。计算引擎212可执行乘积和累加功能,但可也包括启用其他类型计算的硬件或软件。CE212可还在加电、系统复位或飞行时被重新配置,以在不同时间根据设计选择执行不同的计算。控制和测试电路216可协调IPC204、DM208和CE212之间的交互作用。CTC216可在正常阵列处理时间期间以其正常计算模式运行DPU200能够在适当时间控制测试本文档来自技高网...

【技术保护点】
1.一种包括数据处理单元的行和列的计算阵列,每个数据处理单元包括:多个数据输入导体,每个输入数据导体包括一条或多条导电信号线的总线;输入处理电路,所述输入处理电路耦合到所述多个数据输入导体;数据存储器,所述数据存储器耦合到所述输入处理电路;计算引擎,所述计算引擎耦合到所述数据存储器;数据输出导体,所述数据输出导体耦合到所述计算引擎,所述数据输出导体包括一条或多条导电信号线的总线;和控制和测试电路,所述控制和测试电路耦合到所述输入处理电路、所述数据存储器和所述计算引擎,其中每个数据输入导体耦合到另一数据处理单元的所述数据输出导体,并且每个数据输出导体耦合到另一数据处理单元的所述数据输入导体。

【技术特征摘要】
【国外来华专利技术】2016.12.21 US 62/437,5541.一种包括数据处理单元的行和列的计算阵列,每个数据处理单元包括:多个数据输入导体,每个输入数据导体包括一条或多条导电信号线的总线;输入处理电路,所述输入处理电路耦合到所述多个数据输入导体;数据存储器,所述数据存储器耦合到所述输入处理电路;计算引擎,所述计算引擎耦合到所述数据存储器;数据输出导体,所述数据输出导体耦合到所述计算引擎,所述数据输出导体包括一条或多条导电信号线的总线;和控制和测试电路,所述控制和测试电路耦合到所述输入处理电路、所述数据存储器和所述计算引擎,其中每个数据输入导体耦合到另一数据处理单元的所述数据输出导体,并且每个数据输出导体耦合到另一数据处理单元的所述数据输入导体。2.根据权利要求1所述的计算阵列,其中:每个数据处理单元被划分为大致包括数据储存器的存储块以及大致包括数据处理单元的剩余部分的计算块,相同数据处理单元中的每个存储块以及其相关联的计算块来自两个不同的集成电路,并且相同数据处理单元中的每个存储块和计算块通过以下至少一种互连技术耦合在一起:面对面键合、晶片到晶片键合、通过连接硅、介电键合技术、氧化物与氧化物直接键合以及混合键合。3.根据权利要求2所述的计算阵列,其中每个控制和测试电路被配置为:测试其数据处理单元的功能,以及测试耦合到其数据处理单元的其它数据处理单元之间的数据输入导体连接和数据输出导体互连。4.根据权利要求3所述的计算阵列,其中每个控制和测试电路被配置为对其数据处理单元中的计算引擎的计算功能进行编程。5.根据权利要求1所述的计算阵列,每个数据处理单元还包括:多个数据共享导体,所述多个数据共享导体耦合到多个其他数据处理单元的数据共享导体,每个数据共享导体包括一条或多条导电信号线的总线;和数据共享电路,所述数据共享电路耦合到所述数据共享导体、所述数据存储器、所述计算引擎以及所述控制和测试电路,并被配置为:选择性地将所述数据存储器耦合到所述多个数据共享导体,以及选择性地将所述计算引擎耦合到所述数据共享导体。6.根据权利要求5所述的计算阵列,其中:每个数据处理单元被划分为大致包括所述数据储存器的存储块以及大致包括所述数据处理单元的剩余部分的计算块,相同数据处理单元中的每个存储块以及其相关联的计算块来自两个不同的集成电路,并且相同数据处理单元中的每个存储块以及其相关联的计算块通过以下至少一种互连技术耦合在一起:面对面键合、晶片到晶片键合、通过连接硅、介电键合技术、氧化物与氧化物直接键合以及混合键合。7.根据权利要求6所述的计算阵列,其中每个控制和测试电路被配置为:测试与其相关联的数据处理单元的功能,测试耦合到其数据处理单元的其它数据处理单元之间的数据输入导体连接和数据输出导体互连,以及测试耦合到其数据处理单元的其他数据处理单元之间的数据共享互连。8.根据权利要求7所述的计算阵列,其中每个控制和测试电路被配置为对其数据处理单元中的计算引擎的计算功能进行编程。9.根据权利要求6所述的计算阵列,其中每个数据共享电路可被配置为允许相同数据处理单元中的所述计算引擎访问不同数据处理单元的所述数据存储器。10.根据权利要求9所述的计算阵列,其中允许相同数据处理单元中的所述计算引擎作为所述数据共享电路访问不...

【专利技术属性】
技术研发人员:J·A·德拉克鲁斯S·L·泰格D·E·菲施W·C·普兰斯
申请(专利权)人:艾克瑟尔西斯公司
类型:发明
国别省市:美国,US

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

1