本公开案大体而言关于使用不同协议连接来自不同生态系统的小芯片的封装级路由网络。更具体地说,本公开案描述具有可编程互连网桥的可扩充式封装级网络(nopk)及用于在2d、2.5d及3d拓扑中的小芯片之间路由流量的路由网络。
背景技术:
1、小芯片是模块化集成电路,所述模块化集成电路特定地经设计以与其他相似的模块化小芯片一起形成更大、更复杂的处理系统。如此允许在设计中将功能块分为不同的小芯片,以在设计过程中提供更大的灵活性及模块性。与传统单片集成电路(integratedcircuit;ic)设计相比,基于小芯片的设计使用连接在一起的较小的独立染料。具体地说,每一小芯片可经设计以执行诸如处理核心、图形处理单元、数学共处理器、硬件加速器等单独的功能。基于小芯片的设计亦降低制造成本,因为可将较大的晶粒分为较小的小芯片以改善产率及分级。由于成本增加及摩尔定律减缓,因此传统单片芯片开发的吸引力亦变得下降,因为小芯片更便宜并且上市时间制造更快。相对新的基于小芯片的生态系统的出现开始通过将预测试的小芯片晶粒集成为较大的封装,实现一种设计复杂系统的替代方式。
2、传统单片ic设计(例如单芯片系统(system-on-a-chip;soc))通常使用芯片上组构(fabric)的网络实现不同功能块之间的通信。然而,当集成现成的小芯片时,此方法无效。由于单片ic在自概念至生产是一起设计的,因此集成组构总是经特别设计以容纳一组特定的小芯片,所述小芯片以已知的拓扑布置且具有已知的功能。目前用于连接基于小芯片的架构的解决方案需要将各个小芯片及通信框架一起协同设计。目前不存在用于现成小芯片配置的有效、可扩充式或通用的互连解决方案。
技术实现思路
1、在一些实施方式中,一种用于连接多个小芯片的封装级网络(network-on-package;nopk)可包括:多个接口网桥,经配置以将多个小芯片使用的多个协议转换为公共协议;路由网络,经配置以使用公共协议在多个接口网桥之间路由流量;及控制器,经配置以基于连接至nopk的多个小芯片的类型将多个接口网桥及路由网络编程。
2、在一些实施方式中,一种在多个小芯片之间路由流量的方法可包括:将多个接口网桥及路由网络编程,以连接多个小芯片;在多个接口网桥自多个小芯片接收流量,其中多个小芯片使用多个协议;在多个接口网桥将流量转换为公共协议;及使用公共协议通过路由网络在多个接口网桥之间路由流量。
3、在一些实施方式中,一种系统可包括:第一多个小芯片,布置于第一中介层上;第二多个小芯片,布置于第二中介层上;及封装,包含在第三中介层上的路由网络。第三中介层可在第一中介层与第二中介层之间。第一中介层可通过第一组互连连接至第三中介层。第二中介层可通过第二组互连连接至第三中介层。路由网络可以是可编程的,以在第一多个小芯片与第二多个小芯片之间路由流量。
4、在任何实施方式中,可按任何组合且无限制地实施以下特征的任一个或所有。nopk亦可包括位于路由网络的线路之间的空间中的多个分布式静态随机存取存储器(static random access memory;sram)模块,其中可将分布式sram模块配置为高速缓存或软件管理的缓冲器。在将nopk实体连接至多个小芯片之后,控制器可为可编程的。控制器可包括遥测引擎,所述遥测引擎监测通过路由网络路由的流量,并读取多个小芯片的性能缓存器。nopk亦可包括存储器控制器,该存储器控制器经配置以通信耦接至nopk外部的存储器装置。控制器可为可编程的,以在与nopk接口连接时设定用于多个小芯片的动态电压及频率缩放(dynamic voltage and frequency scaling;dvfs)值。控制器可经进一步配置以编程路由网络,以优先处理多个小芯片中第一对小芯片之间的流量。可在专用小芯片晶粒上实施nopk。多个小芯片可包括来自不同制造商的处理器。多个协议可包括由多个小芯片使用的多个不同的总线通信协议。公共协议可包括由多个小芯片使用的多个协议中的一个。公共协议可包括不由多个小芯片使用的通用封包协议。当多个小芯片中小芯片的数量小于小芯片的阈值数量时,可停用路由网络的一部分。所述组互连可包括垂直互连,所述垂直互连实体地分隔第一中介层、第二中介层及第三中介层。所述组互连可包括硅穿孔(through-silicon via;tsv)。第一多个小芯片可通过第一中介层相互通信,第二多个小芯片可通过第二中介层相互通信,且第一多个小芯片可通过包含路由网络的封装与第二多个小芯片通信。第三中介层可包括有机、玻璃或硅中介基板。第一多个小芯片可使用第一功率量,第二多个小芯片可使用小于第一功率量的第二功率量,且系统进一步包含耦接至第一多个小芯片的散热器。
5、附图简单说明
6、可参考说明书的剩余部分及图进一步理解各个实施方式的性质及优点,其中在若干图中使用相同的元件符号指相似的部件。在一些情况下,子标记与元件符号相关以表示多个相似部件中的一个。当提及元件符号而未说明现有子标记时,意为提及所有这类多个相似的部件。
7、图1图示根据一些实施方式的基于小芯片的设计。
8、图2a图示根据一些实施方式的nopk的简化方块图。
9、图2b图示根据一些实施方式的使用可配置存储器阶层的nopk的实施方式。
10、图3a图示根据一些实施方式的在垂直互连配置中使用nopk的基于小芯片的设计。
11、图3b图示根据一些实施方式的在垂直互连配置中使用nopk的基于小芯片的设计的3d图。
12、图4图示根据一些实施方式的具有使用2d设计的nopk的基于小芯片的系统。
13、图5图示根据一些实施方式的基于小芯片的系统,使用tsv以将小芯片连接至nopk200。
14、图6图示根据一些实施方式的使用nopk在多个小芯片之间路由流量的方法的流程图。
15、图7图示其中可实施各个实施方式的示例性计算机系统及处理器。
1.一种用于连接多个小芯片的封装级网络(nopk),所述nopk包含:
2.如权利要求1所述的nopk,所述nopk进一步包含位于所述路由网络的线路之间的空间中的多个分布式静态随机存取存储器(sram)模块,其中所述分布式sram模块可配置为高速缓存或软件管理的缓冲器。
3.如权利要求1所述的nopk,其中在将所述nopk实体连接至所述多个小芯片之后,所述控制器为可编程的。
4.如权利要求1所述的nopk,其中所述控制器包含遥测引擎,所述遥测引擎监测通过所述路由网络路由的所述流量,并读取所述多个小芯片的性能缓存器。
5.如权利要求1所述的nopk,所述nopk进一步包含经配置以通信耦接至所述nopk外部的存储器装置的存储器控制器。
6.如权利要求1所述的nopk,其中所述控制器为可编程的,以在与所述nopk接口连接时设定用于所述多个小芯片的动态电压及频率缩放(dvfs)值。
7.如权利要求1所述的nopk,其中所述控制器进一步经配置以编程所述路由网络,以优先处理所述多个小芯片中的第一对小芯片之间的流量。
8.如权利要求1所述的nopk,其中在专用小芯片晶粒中实施所述nopk。
9.一种在多个小芯片之间路由流量的方法,所述方法包含:
10.如权利要求9所述的方法,其中所述多个小芯片包含来自不同制造商的处理器。
11.如权利要求9所述的方法,其中所述多个协议包含由所述多个小芯片使用的多个不同的总线通信协议。
12.如权利要求9所述的方法,其中所述公共协议包含由所述多个小芯片使用的所述多个协议中的一个。
13.如权利要求9所述的方法,其中所述公共协议包含不由所述多个小芯片使用的通用封包协议。
14.如权利要求9所述的方法,所述方法进一步包含:当所述多个小芯片中小芯片的数量小于小芯片的阈值数量时,停用所述路由网络的一部分。
15.一种系统,包含:
16.如权利要求15所述的系统,其中所述组互连包括垂直互连,所述垂直互连实体地分隔所述第一中介层、所述第二中介层及所述第三中介层。
17.如权利要求15所述的系统,其中所述组互连包含硅穿孔(tsv)。
18.如权利要求15所述的系统,其中所述第一多个小芯片通过所述第一中介层相互通信,所述第二多个小芯片通过所述第二中介层相互通信,且所述第一多个小芯片通过包含所述路由网络的所述封装与所述第二多个小芯片通信。
19.如权利要求15所述的系统,其中所述第三中介层包含有机、玻璃或硅中介基板。
20.如权利要求15所述的系统,其中: