具有片上互连的混合可编程众核设备制造技术

技术编号:10438336 阅读:120 留言:0更新日期:2014-09-17 14:33
本发明专利技术提供了一种混合可编程逻辑设备,其包括可编程的现场可编程门阵列逻辑构造以及众核分布式处理子系统。该设备在同一设备即同一芯片中集成了可编程逻辑元件的构造和处理器两者。可编程逻辑元件可以被确定大小并且被布置,使得布局和布线工具能够将处理器和逻辑元件作为同构布线构造来寻址。可编程逻辑元件可以向处理器提供硬件加速功能,这些硬件加速功能能够在该设备被构造之后被定义。该设备可以包括调度电路,该调度电路能够在逻辑构造中的水平和垂直连接器上调度数据的传输,以采用异步的方式在可编程逻辑元件与处理器之间传输数据。

【技术实现步骤摘要】
具有片上互连的混合可编程众核设备
本专利技术涉及包含许多可编程处理器、专用功能模块、以及可编程FPGA构造的混合可编程逻辑设备。本专利技术对于网络和分组处理特别有用,尽管它可以在其他应用中使用。
技术介绍
众核(即多核)设备已经提供了一种提高设备性能而不引起提高时钟速度的成本的方式。众核设备可以包括用于硬件特定功能(诸如差错控制编码或者加密)的专用ASIC模块。这些模块通常被称为硬件加速器。
技术实现思路
本专利技术提供一种混合可编程逻辑设备,其包括可编程现场可编程门阵列逻辑构造(例如,可编程逻辑元件)以及众核分布式处理子系统(例如,众核处理器)。注意,术语“混合”指的是在同一设备(即,同一芯片)中集成了可编程逻辑元件的构造和处理器两者的设备。在所提供的架构中,可编程逻辑元件可以提供“后期绑定”的硬件加速功能,意思是被用来形成硬件加速功能的特定功能和逻辑架构能够在该设备被构造之后被定义。例如,可编程逻辑元件可以经由在运行时对混合可编程逻辑设备编程的软件,被分区或者分组为硬件加速器。还注意到,术语“设备”指的是本文中所描述的混合可编程逻辑设备的任何实施例或者实施例的组合。 在某些实施例中,处理器可以被集成到可编程逻辑构造中,而使得处理器的一个或多个物理尺寸(诸如宽度、长度或高度)是可编程逻辑元件的同一物理尺寸(即,对应的长度、宽度或高度)的倍数。这允许了具有不同尺寸的设备的有效率组装,而使处理器与可编程逻辑元件或者其他逻辑模块的比率不同。在某些实施例中,处理器可以是“硬化的”,意思是它们包括固定逻辑元件而不是可编程逻辑元件。这个特征提供了将强大的众核处理器集成到可编程逻辑构造中。在某些实施例中,处理器可以被集成到该构造中而使得处理器被平铺(tiled)在行或列中。注意,术语“被平铺”指的是布置处理器使得它们交错或者散布在可编程逻辑元件之中。例如,处理器可以与可编程逻辑元件一起被连续地布置在二维平面中,使得在连续的处理器之间没有其他的可编程逻辑元件。处理器的这种平铺可以允许用于在设备的处理器、可编程逻辑元件、以及I/O接口之间进行通信的互连网络的有效率构造和供应。 在某些实施例中,混合可编程逻辑设备可以包括数据总线,以将处理器、I/O接口、以及存储器之间的数据移动到芯片上或者移动到芯片外。在某些实施例中,这个数据总线可以是“硬化的”,意思是它包括专用电路组件,而不是能够该设备上被保留用于其他用途的电路组件。这个硬化的数据总线允许了向该设备内部和外部两者的高性能数据传送。在某些实施例中,这个数据总线可以包括水平和垂直连接器。水平和垂直连接器的某些组可以被接线,以向可编程逻辑元件提供数据并且从可编程逻辑元件提供数据,而其他组可以被接线,以向处理器提供数据并且从处理器提供数据。在某些实施例中,两组中的水平和垂直连接器可以处于相同金属层或相同层中。这些相同金属层可以位于设备中的互连栈中的层的上方,该互连栈包含处理器和可编程逻辑元件。在某些实施例中,水平和垂直连接器可以被布局以使得它们的垂直间距(例如,在互连栈中的垂直位置)是可编程逻辑元件、处理器或者两者的一个或多个组的大小的倍数。将用于处理器和可编程逻辑元件两者的水平和垂直连接器放置在相同金属层中,并且确定它们的大小使得它们符合可编程逻辑元件和处理器的大小,允许了布局和布线工具(例如,软件)将处理器和逻辑元件作为同构路由构造来寻址。换句话说,可以采用与向可编程逻辑元件路由数据并且从可编程逻辑元件路由数据的连接器相同的方式,来寻址向处理器路由数据并且从处理器路由数据的连接器的部分。 在某些实施例中,混合可编程逻辑设备可以包括入口 /出口处理模块,该入口 /出口处理模块接收数据(例如,以数据分组的形式),并且将该数据转发给该设备的其他元件。在某些实施例中,该设备可以包括片上网络总线,该片上网络总线专用于把去往和来自该入口 /出口处理模块的数据路由和/或运送至该设备的其他元件。入口 /出口处理模块可以是硬化的ASIC,或者可以是从该设备上的可编程逻辑元件构建的模块。 在某些实施例中,混合可编程逻辑设备可以包括调度电路,该调度电路能够调度逻辑构造中的水平和垂直连接器上的数据传输,该水平和垂直连接器在可编程逻辑元件与处理器之间传输数据。在某些实施例中,这个调度电路可以接收被寻址到这些处理器中的至少一个处理器的中断消息,意思是它们包含指示该数据的有效载荷应该由一个特定处理器或多个特定处理器来处理的信息。在其他实施例中,调度电路可以使用异步通信的其他方法以在可编程逻辑元件与处理器之间发送数据。在某些实施例中,调度电路可以标识这些处理器中的哪些处理器应该处理特定数据(例如,数据的块或分组),并且将该数据分发给所标识的处理器。通过使用中断消息或者其他的异步通信方法,调度电路可以允许处理器、可编程逻辑元件、以及数据总线以不同的时钟速度运行,因此打破网络总线与处理器时钟速度之间的任何定时依赖性。 在某些实施例中,调度电路可以包括程序指令存储器,该程序指令存储器能够在处理器的操作期间被重新编程。每个处理器可以基于所接收的数据分组中的信息来经由该调度电路检测新的操作模式,响应于检测到新的操作模式而停止操作(例如,清除处理器中的任何管线(pipeline)中的所有指令),并且基于从该设备中的其他元件所接收的数据来对该程序指令存储器重新编程。 在某些实施例中,处理器和可编程逻辑可以被划分为分区,以便管理电源。例如,可以计算混合可编程逻辑设备的分区。每个分区可以包括处理器和可编程逻辑元件的子集。可以计算处理器需求的至少一个测量,并且基于这个测量,可以变更分区中的处理器和可编程逻辑元件的电源状态。这个特征可以允许基于去往处理器和可编程逻辑元件的特定组的吞吐量来动态地管理设备的功耗。 【附图说明】 一旦结合附图地考虑对以下的详细描述,本专利技术的以上和其他优点将是明显的,在附图中,相似的参考符号自始至终指代相似的部分,并且其中: 图1A是根据本专利技术的实施例的混合可编程逻辑设备; 图1B是根据本专利技术的实施例的包含与可编程逻辑元件邻近的处理器的混合可编程逻辑设备的展开视图; 图1C是根据本专利技术的实施例的包含处理器与可编程逻辑元件之间的接口的混合可编程逻辑设备的展开视图; 图2A是根据本专利技术的实施例的在混合可编程逻辑设备中的数据总线的说明性视图; 图2B是根据本专利技术的实施例的在混合可编程逻辑设备中的数据总线的另一个说明性视图; 图3是根据本专利技术的实施例的具有硬化的数据总线和入口 /出口的混合可编程逻辑设备; 图4A是根据本专利技术的实施例的具有硬化数据总线和入口 /出口的混合可编程逻辑设备; 图4B是根据本专利技术的实施例的具有硬化数据总线和入口 /出口的混合可编程逻辑设备; 图5是根据本专利技术的又另一个实施例的具有硬化数据总线和入口 /出口的混合可编程逻辑设备; 图6是根据本专利技术的实施例的调度电路; 图7A是根据本专利技术的实施例的被分区的混合可编程逻辑设备的图示; 图7B是根据本专利技术的实施例的用于减少混合可编程逻辑设备的功耗的说明性过程。 【具体实施方式】 在设计众核设备时,对于特定应用而被要求的加速器的类型和数量可能难以预测。为了设计一种本文档来自技高网...

【技术保护点】
一种混合可编程逻辑设备,包括:可编程逻辑元件,所述可编程逻辑元件中的至少一些可编程逻辑元件提供至少一种硬件加速功能;处理器,所述处理器与所述可编程逻辑元件交错并且在物理上确定大小使得所述处理器中的每个处理器的一个物理尺寸等于所述可编程逻辑元件的同一物理尺寸的倍数;以及第一水平和垂直连接器,所述第一水平和垂直连接器向所述可编程逻辑元件提供数据并且从所述可编程逻辑元件提供数据;以及第二水平和垂直连接器,所述第二水平和垂直连接器向所述处理器提供数据并且从所述处理器提供数据。

【技术特征摘要】
2013.03.14 US 13/804,4191.一种混合可编程逻辑设备,包括: 可编程逻辑元件,所述可编程逻辑元件中的至少一些可编程逻辑元件提供至少一种硬件加速功能; 处理器,所述处理器与所述可编程逻辑元件交错并且在物理上确定大小使得所述处理器中的每个处理器的一个物理尺寸等于所述可编程逻辑元件的同一物理尺寸的倍数;以及 第一水平和垂直连接器,所述第一水平和垂直连接器向所述可编程逻辑元件提供数据并且从所述可编程逻辑元件提供数据;以及 第二水平和垂直连接器,所述第二水平和垂直连接器向所述处理器提供数据并且从所述处理器提供数据。2.根据权利要求1所述的设备,其中所述处理器中的每个处理器包括固定逻辑元件。3.根据权利要求1所述的设备,其中所述第一水平和垂直连接器以及所述第二水平和垂直连接器处于所述混合可编程逻辑设备的同一金属层中。4.根据权利要求1所述的设备,其中所述处理器被布置在列或行中的一个列或行中。5.根据权利要求1所述的设备,其中所述物理尺寸是长度、宽度或高度之一。6.根据权利要求1所述的设备,其中所述第一水平和垂直连接器以及所述第二水平和垂直连接器作为同构路由构造可寻址,以向所述处理器和所述可编程逻辑元件提供数据并且从所述处理器和所述可编程逻辑元件提供数据。7.根据权利要求1所述的设备,其中所述第一水平和垂直连接器以及所述第二水平和垂直连接器仅向所述处理器和所述可编程逻辑元件提供数据并且从所述处理器和所述可编程逻辑元件提供数据。8.根据权利要求7所述的设备,进一步包括入口/出口处理模块,所述入口 /出口处理模块接收数据分组并且将所述数据分组路由至所述第一水平和垂直连接器以及所述第二水平和垂直连接器。9.根据权利要求8所述的设备,进一步包括外部存储器,所述外部存储器被配置为直接连接至所述混合可编程逻辑设备,其中所述外部存储器缓冲所接收的数据分组。10.根据权利要求8所述的设备,进一步包括片上网络总线,仅可操作为向所述入口/出口处理模块运送所述数据分组并且从所述入口/出口处理模块运送所述数据分组。11.根据权利要求8所述的设备,其中所述入口/出口处理模块包括:专用ASIC或者一组所述可编程逻辑元件中的至少一项。12.根据权利要求3所述的设备,进一步包括包含所述可编程逻辑元件和所述处理器的第一金属层,其中所述第一金属层与所述同一金属层不同。13.根据权利要求1所述的设备,其中所述可编程逻辑元件改变所述至少一种硬件加速功能。14.一种混合可编程逻辑设备,包括: 以第一时钟速度操作的可编程逻辑元件,其中所述可编程逻辑元件中的至少一些可编程...

【专利技术属性】
技术研发人员:M·D·赫顿A·克里克利斯
申请(专利权)人:阿尔特拉公司
类型:发明
国别省市:美国;US

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

1