向混合可编程多核器件映射网络应用制造技术

技术编号:10434037 阅读:86 留言:0更新日期:2014-09-17 11:44
本发明专利技术的各实施例涉及向混合可编程多核器件映射网络应用。描述了一种混合可编程逻辑,其在接收的数据包上使用可编程逻辑元件以及与可编程逻辑元件交错的处理器执行包处理功能。报头数据可以由可编程逻辑元件调度以用于向与处理器关联的处理线程分配。处理器可以在报头数据上使用由可编程逻辑元件提供的处理线程和硬件加速功能来执行包处理功能。

【技术实现步骤摘要】
向混合可编程多核器件映射网络应用
本专利技术涉及将包处理功能映射到混合可编程逻辑器件上,混合可编程逻辑器件包含许多可编程处理器、专用功能块和可编程FPGA结构。
技术介绍
包处理器可以从物理接口接受入口包,在包上执行分类和过滤操作,并且然后向流量管理器转发包。流量管理器与切换结构对接以将包切换到出口包处理器和物理接口上。虽然没有明确定义的“包处理”功能,但包处理可包括但不限于:MAC捕获和包的组帧(framing)、包解析、将包分类成流、路由统计和计数器的维护、IP转译、IP表查找或者包封装和解封装。包处理器的最终应用可以针对协议栈的OSI传输层、网络层或应用层中的一个或多个层。
技术实现思路
本专利技术提供了一种混合可编程逻辑器件,其包括可编程现场可编程门阵列逻辑结构(例如,可编程逻辑元件)和多核分布式处理子系统(例如,多核处理器)。注意,术语“混合”指的是在相同器件(即,相同芯片)中集成可编程逻辑元件的结构和处理器的器件。在所提供的架构中,可编程逻辑元件可以提供“后期绑定”的硬件加速功能,这意味着可以在制造器件之后定义用于形成硬件加速功能的具体功能和逻辑架构。例如,通过在运行时编程混合可编程逻辑器件的软件,可编程逻辑元件可以被划分或分组为硬件加速器。还注意,术语“器件”指的是在此描述的混合可编程逻辑器件的任何实施例或者组合或者多个实施例。本专利技术处理包含控制数据、报头数据和有效载荷数据的数据包。注意,“报头数据”指的是与包关联的管理信息,比如关于包的源和目的地的信息,包的数据加密或者是与包本身的消息分离的任何其他信息。此外,注意,“有效载荷数据”指的是给予包的消息的实际数据。此外,注意,“控制数据”指的是有效载荷数据的子集,其包括对指示或重新编程混合可重编程逻辑器件功能而言必要的信息。在某些实施例中,混合可编程逻辑器件可以接收包括报头数据和有效载荷数据的数据包。器件可以包括可编程逻辑元件以及在可编程逻辑元件之间瓷砖式平铺的处理器。注意,术语“瓷砖式平铺”指的是排列处理器以使得它们在可编程逻辑元件之间交错或散布。例如,处理器可以在具有可编程逻辑元件的二维平面中被连续地排列以使得在连续的处理器之间没有其他的可编程逻辑元件。报头数据可以由可编程逻辑元件调度以用于向与处理器关联的处理线程分配。处理器可以在报头数据上使用由可编程逻辑元件提供的处理线程和硬件加速功能来执行包处理功能。在某些实施例中,可以按照一种速度接收数据包,而处理器可以按照不同速度操作。调度电路可以在器件的输入和处理器之间以关于时钟速度异步的速率传输报头数据。附图说明当结合附图考虑以下详细描述时,本专利技术的上述和其他优点将显而易见,贯穿附图中,相同的参考符号指的是相同的部件,其中:图1A是根据本专利技术的实施例的具有硬化数据总线和入口/出口的混合可编程逻辑器件;图1B是根据本专利技术的实施例的包含邻接可编程逻辑元件的处理器的混合可编程逻辑器件的扩展视图;图1C是根据本专利技术的实施例的包含在处理器和可编程逻辑元件之间的接口的混合可编程逻辑器件的扩展视图;图2是根据本专利技术的实施例的到混合可编程逻辑器件上的包分类功能的图解映射;图3是根据本专利技术的实施例的包分类功能的调度块的更详细视图;图4是根据本专利技术的实施例的包分类功能的存储器接口的图解视图;图5是根据本专利技术的实施例的调度电路;图6是根据本专利技术的实施例的用于重新配置混合可编程逻辑器件的电路;图7是根据本专利技术的实施例的包分类功能的出口块的更详细的视图;图8是根据本专利技术的实施例的用于向混合可编程逻辑器件中的处理器路由数据包的例示性过程。具体实施方式典型地在专用硬件(比如ASIC功能块)中实现包处理功能。然而,必须灵活编程包处理功能,因为联网协议不断改变。因此,在允许用专用处理器的速度容易地重新配置的器件上实现包处理将是希望的。图1A是根据本专利技术的实施例的混合可编程逻辑器件100。器件100包括可编程逻辑元件130和处理器150的区域。通用输入/输出电路110可以包括在运行时可以由外部软件控制或者编程的一个或多个普通管脚。在某些实施例中,通用输入/输出电路110可以被配置为输入或者输出数据,可以读取或写入数据,可以被用作用于唤醒事件的IRQ,或者可以用于从器件100外围的源传送数据。高速串行接口120可以有助于在数据的外部源(未示出)、可编程逻辑元件130和使用高速收发器块的处理器150之间的信息的传送。例如,高速串行接口120可以与以太网连接对接以接收信息包,用可编程逻辑元件130和处理器150处理这些包,并且将包切换到不同物理接口。在某些实施例中,高速串行接口120可以按照比通用输入/输出电路110高得多的速度传送数据。例如,高速串行接口120可以按照每秒数十千兆比特的速率读取和写入数据,而通用输入/输出电路110可以按照数百兆比特的速率写入数据。在某些实施例中,高速串行接口120可以按照线速率操作,这意味着器件100的总吞吐率(例如,在多个串行信道上每秒100千兆比特),而处理器150和可编程逻辑元件130按照分配的速率操作,这意味着处理线程(以及在那些处理线程期间使用的对应的存储器和硬件加速块)的总吞吐量不逊于用于器件100的目标应用的最小吞吐量。可编程逻辑元件130可以包括逻辑门和存储器的任何组合。在某些实施例中,这些可编程逻辑元件可以被分组为逻辑阵列块(“LAB”),这指的是在由加利福尼亚的圣何塞的Altera公司所提供器件中的可编程逻辑资源的单元。然而,本专利技术适用于来自任何源的可编程逻辑元件。在某些实施例中,可编程逻辑元件可以被分组为硬件加速块。每个硬件加速块可以被指明为在所接收的数据上执行某一类型的硬件事件。在某些实施例中,硬件加速块可以可配置,从而使得该事件被定制到该特定情况。例如,硬件加速块可以接受参数,这些参数进一步定义将在所接收的数据包上执行的硬件事件。例如,用于配置硬件加速块的参数可以由处理器150生成。可以通过数据总线160、水平和竖直连接器167(下面关于图1C描述)或者这两者向硬件加速块传输参数。在某些实施例中,可编程逻辑元件130可以包括任何合适的存储器群集,比如M20K存储器群集。在某些实施例中,硬件加速块被配置为执行专用包处理功能。这些功能可包括使用循环冗余校验或者计算校验和的错误检测、使用多协议标签交换(MPLS)或者VLAN标记的标记掩蔽、使用外部存储器访问的IP查找、加密、数据压缩或者任何其他软件低效的包处理功能。在某些实施例中,在已经制造和部署了器件100之后(例如,在器件100的运行时期间或者通过远程更新过程),可编程逻辑元件130可以可配置成不同硬件加速块。因此,由可编程逻辑元件130组成的硬件加速块可以是后期绑定的,这允许器件100在任何数量的域中的任何数量的应用中是通用的。例如,器件100可以被更新以考虑最新的误差校正、视频和图像处理或者数据管理标准。这不同于商业网络处理单元、流水线处理器以及具有处理器和固定硬件加速块二者的ASIC器件,因为这些器件不允许在部署之后定义硬件加速器。在某些实施例中,可编程逻辑元件130可以基本上类似于由加利福尼亚的圣何塞的Altera公司所售的VFPGA的可编程逻辑元件。然而,应当理解,适合于FPGA或者PLD的任何可编程逻辑元本文档来自技高网...
向混合可编程多核器件映射网络应用

【技术保护点】
一种混合可编程逻辑器件,包括:收发器,所述收发器接收数据包,其中所述数据包包括报头数据和有效载荷数据;可编程逻辑元件,其中所述可编程逻辑元件的第一部分提供硬件加速功能;处理器,所述处理器与可编程逻辑元件交错,其中所述处理器中的每个处理器使用所述硬件加速功能和处理线程来处理接收的所述报头数据,并且所述可编程逻辑元件的第二部分调度报头数据向所述处理线程的分配。

【技术特征摘要】
2013.03.14 US 13/826,0391.一种混合可编程逻辑器件,包括:收发器,所述收发器接收数据包,其中所述数据包包括报头数据和有效载荷数据;包括可编程逻辑元件的可编程逻辑结构,其中所述可编程逻辑元件的第一部分提供硬件加速功能;处理器,所述处理器与可编程逻辑元件交错,其中所述处理器中的每个处理器使用所述硬件加速功能和处理线程来处理接收的所述报头数据,并且所述可编程逻辑元件的第二部分调度报头数据向所述处理线程的分配,其中所述处理器的每个处理线程与由所述处理器中的每个处理器经由由所述处理器中的每个处理器共享的互连接收的唯一地址关联,其中所述处理器中的每个处理器包括存储器接口,所述存储器接口针对与每个相应的处理线程关联的所述唯一地址监视接收的所述报头数据并且在接收的所述报头数据被用所述唯一地址标记时将接收的所述报头数据存储在本地存储器中。2.根据权利要求1所述的器件,还包括本地存储器,所述本地存储器存储所述有效载荷数据,并且其中可编程逻辑的所述第二部分还被配置为:将接收的所述数据包组帧为报头数据和有效载荷数据;将所述有效载荷数据缓冲到所述本地存储器中;确定哪些处理线程可用;以及基于所述确定,向可用处理线程路由所述有效载荷数据。3.根据权利要求1所述的器件,其中可编程逻辑的所述第二部分还被配置为:确定是否不存在可用处理线程;以及响应于所述确定,丢弃接收的所述数据包中的一个或者多个所述数据包。4.根据权利要求1所述的器件,其中所述硬件加速功能包括路由表的维护、有效载荷数据的加密、有效载荷数据的压缩和IP表查找中的一个或者多个。5.根据权利要求1所述的器件,其中所述可编程逻辑元件的第三部分:重新组装经处理的报头数据与关联的有效载荷数据以形成重新组装的包;以及基于接收的所述包的TCP流ID,维护所述重新组装的包的顺序。6.根据权利要求1所述的器件,其中所述存储器接口:从可编程逻辑元件的所述第二部分接收报头数据;以及使用直接存储器访问将接收的所述报头数据存储在所述本地存储器中,其中所述处理器直接从所述本地存储器访问存储的所述报头数据以执行至少一个包处理任务。7.根据权利要求1所述的器件,其中所述存储器接口:在接...

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

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

1