用于为网络处理器中的处理器核心预取并处理作业的方法和装置的制造方法

文档序号:10475874阅读:222来源:国知局
用于为网络处理器中的处理器核心预取并处理作业的方法和装置的制造方法
【专利摘要】公开了一种实现用于为网络处理器中的处理器核心预取并处理作业的方法和系统,包括:由请求者请求预取作业;确定可以为请求者预取作业;搜索该作业以进行预取;并且将找到的作业预取到与请求者相关联的一个或多个预取作业时隙中的一个时隙中。
【专利说明】
用于为网络处理器中的处理器核心预取并处理作业的方法和装置
技术领域
[0001]本公开内容涉及网络处理器。更具体地,本发明针对为网络处理器中的处理器核心预取并处理作业。
【背景技术】
[0002]网络处理器是专门化处理器,常常以集成电路的形式来实现,集成电路具有被专门设计用于处理通过网络接收到的或传输的分组数据的特征组。使用例如根据开放系统互联(OSI)参考模型设计的协议来传输这种分组数据。OSI定义七个网络协议层(L1-7)。物理层(LI)表示实际接口,将设备连接到传输介质的电学接口和物理接口。数据链路层(L2)执行数据帧。网络层(L3)将数据格式化成分组。传输层(L4)处理端到端传输。会话层(L5)管理在各设备之间的通信,例如无论通信是半双工的还是全双工的。表示层(L6)管理数据格式化和表示,例如语法、控制代码、特殊图形和字符集。应用层(L7)允许例如通过文件传输、电子邮件和本领域普通技术人员已知的其他通信的在各用户之间的通信。
[0003]网络处理器可以针对上层网络协议(例如L4-L7)调度作业(即分组处理操作)并对作业进行排队并且被专门用于计算密集型任务,例如计算在分组中的整个有效载荷上的校验和管理TCP分段缓冲,并且一直在每次连接的基础上维持多个计时器,允许执行对接收到的分组中的上层网络协议的处理从而以线速转发分组。线速是通过其发送和接收数据的网络的数据传输率。通过处理协议从而以线速来转发分组,网络服务处理器不会减慢网络数据传输率。
[0004]为了改进网络处理器效率,经由调度模块来调度多个核心以执行处理。这种网络处理器的示例可以在美国专利n0.7,895,431中找到,其中调度模块被公开为分组作业排序模块。
[0005]然而,随着多个处理器核心的增大的频率,在与调度模块通信中花费的时间量变成对性能的阻碍。具体地,在处理器请求作业与得到该作业之间的延时可以很长,从而导致很长的延时。
[0006]因此,在本领域中需要一种提供对上述问题以及额外的优点的解决方案的方法和
目.ο

【发明内容】

[0007]在本公开内容的一个方面中,公开了用于为网络处理器中的处理器核心预取并处理作业的方法和实现该方法的装置。在从属权利要求中公开了额外的方面。
【附图说明】
[0008]本文描述的前述方面将通过参考下面的描述在结合附图理解时变得更显而易见,其中:
[0009]图1描绘了根据本公开内容的方面的网络处理器的概念结构;
[0010]图2a描绘了根据本公开内容的方面的使得能够进行为网络处理器中的处理器核心预取并处理作业的过程的流程图的第一部分;以及
[0011]图2b描绘了根据本公开内容的方面的使得能够进行为网络处理器中的处理器核心预取并处理作业的过程的流程图的第二部分。
[0012]任何未引用的箭头或双箭头线指示在所描绘的实体之间的可能的信息流。附图标记中的符号“X”指示附图的元件的实例。
【具体实施方式】
[0013]除非另行限定,否则本文使用的所有术语(包括技术和科学术语)具有如本发明所属的本领域普通技术人员通常理解的相同的意义。将进一步理解,诸如在常用词典中定义的术语应当被解释为具有与它们在相关领域和本公开内容的背景下的意义一致的意义。
[0014]如本文中使用的,单数形式的“一”、“一个”和“所述”旨在还包括复数形式,除非上下文另行清楚指示。还将理解,术语“包括(comprise)”、“包括(comprises)”和/或“包括(comprising)”当在本说明书中使用时详细列举陈述的特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个多个其他特征、整数、步骤、操作、元件、部件和/或其组的存在或增加。术语“和/或”包括相关联的列出的项中的一个或多个的任何和全部组合。
[0015]各种公开的方面可以参考一个或多个示例性配置来说明。如本文中所使用的,术语“示例性”是指“用作示例、实例或图示”,并且不一定应当被理解为超过本文公开的其他配置的优选或优点。
[0016]在本文中将参考附图描述本发明的各个方面,除非明确指出,否则附图是本发明的概念配置的示意性图示。提供了本公开内容的各个方面以使得本领域普通技术人员能够实践本发明。对在本公开内容中呈现的各个方面的修改对于本领域普通技术人员而言将变得显而易见,并且本文公开的概念可以被扩展到其他应用。
[0017]图1描绘了网络处理器100的概念结构。在物理接口单元102处通过网络(未示出)接收分组。物理接口单元102将分组提供给网络处理器接口 104。
[0018]网络处理器接口104通过检查包含在所接收的分组中的L2网络协议头中的各个字段来执行对所接收的分组的L2网络协议预处理。在网络处理器接口 104已经执行了 L2网络协议处理之后,将分组转发到分组输入单元106。
[0019]分组输入单元106执行对包含在所接收的分组中的L3和L4网络协议头的预处理,例如针对传输控制协议(TCP)/用户数据报协议(UDP)的校验和检查。分组输入单元106将分组数据写入到L2级缓存108和/或存储器112。缓存是被实施为用于临时存储可能被再次使用的数据的存储器块的部件,使得能够更快地服务针对该数据的未来请求。如果所请求的数据被包含在缓存(缓存命中)中,则该请求能够通过简单地读取缓存来服务,这是比较快的。否则(缓存未命中),数据必须从其原始存储位置被重新计算或提取,这是比较慢的。存储器112可以包括用于在临时或暂时的基础上存储指令和/或数据的(一个或多个)任何物理设备。预见到本领域技术人员已知的任何类型的存储器。在一方面中,存储器112在网络处理器100的外部,并且经由存储器控制器110来存取。分组输入单元106支持可编程缓冲大小并且能够将分组数据跨多个缓冲分布以支持大的分组大小。
[0020]在分组数据上需要的任何额外的作业(即额外的分组处理的另一操作)由运行在一个或多个处理器核心114上的软件实体来执行。尽管仅仅示出了两个处理器核心114_1、114_2,本领域普通技术人员将理解预见到其他数量的核心,包括单个核心。一个或多个处理器核心114中的每个通信耦合到L2缓存108。
[0021]作业由调度、同步和排序(SSO)单元116调度。一般地,作业是要执行在某种数据上的软件例程或处理程序。关于SSO单元116,作业是到存储器的指针,其中该存储器包含特定布局。在一方面中,存储器包括缓存108和/或存储器112。在一方面中,布局包括存储要由运行在处理器核心114中的一个或多个上的软件实体处理的、由运行在每个处理器核心114上的分组输入单元106或软件实体初始地创建的数据和/或指令的作业队列条目。在一方面中,作业队列条目还可以包括针对作业的元数据。在另一方面中,元数据可以被存储在作业队列122中。在一方面中,元数据可以包括分组指示符、标签和标签类型。
[0022]本领域技术人员将认识到,SSO单元116包括除了图1中明确描绘和描述的硬件单元之外的额外的硬件单元和相关联的文本。因此,对由SSO单元116执行的步骤或动作取决于SSO单元116的特定实现方式而由这种额外的硬件单元中的一个执行。
[0023]组120包括一个或多个作业队列121的汇集。尽管仅仅描绘了两个组,本领域普通技术人员将理解预见到其他数量的组。每个组121与至少一个处理器核心114相关联。当前,当运行在处理器核心114上的软件实体或处理器核心114本身请求作业时,不需要对不与处理器核心114相关联的组121进行判优,从而改进性能。尽管软件实体和处理器核心两者都可以为请求者,但是为了避免不必要的重复,在本公开内容的剩余部分中仅仅叙述了软件实体。
[0024]因为作业队列的数量与本公开内容的主体无关,所以为简单起见仅仅示出了单个作业队列,即准入队列;然而,除了准入队列121之外,组120还可以包括其他队列,例如被取消调度的队列、冲突的队列。这种队列的作用被公开在于2014年2月3日提交的WilsonP.Snyder II等人的题目为 “A METHOD AND AN APPARATUS FOR WORK PACKET QUEUING,SCHEDULING,AND ORDERING WITH CONFLICT QUEUING” 的共同待审的专利申请n0.14/170,955 中。
[0025]准入队列121可以包括至少一个条目,其包括作业以及任选的还包括标签和标签类型以使得能够将作业调度给一个或多个处理器核心114;因此允许在不同的处理器核心114上执行不同的作业。借助于示例,能够通过定义从其处理器核心114将接收作业的分组来将分组处理从一个处理器核心流水线输送到另一个处理器核心。
[0026]标签由SSO单元116用于根据由处理器核心114选择的标签和标签类型来对所调度的作业进行排序、调度和同步。标签允许针对相同流(从源到目的地)的作业被排序并被同步。标签类型选择如何对作业进行同步和排序。存在三种不同的标签类型。保证是经排序的,即保证作业排序,但不保证基元性。这种标签类型可以在分组处理的消除分段阶段期间被使用,使得针对相同分组流的分段被排序。保证是基元(atomic)的,即保证作业排序和基元性,换言之,当两个作业项具有相同的标签时,作业必须按顺序被处理,其中较早的作业在较晚的作业能够开始之前完成。这种标签类型可以被用于IPSec处理以提供在使用相同IPSec隧道的各分组之间的同步。因此,IPSec解密利用基元标签类型来执行。不保证未打上标签,即在处理器核心之中的作业排序,并且标签与该标签类型不相关。这种标签可以被用于处理不同的分组流,其将可能具有不同的标签,所以将很可能未相对于彼此被排序和同步,并且能够在不同的处理器核心114上完全并行地来运行。
[0027]作业队列条目可以通过存储器112中的硬件单元(例如分组输入单元116)来创建。添加作业请求可以之后经由添加作业队列118被提交给SSO单元116。备选地,作业队列条目可以被创建并且添加作业请求可以由在处理器核心114处运行的软件实体来提交。在一方面中,作业队列条目被创建并且添加作业请求在每个分组到达后经由添加作业实体118来提交。在其他方面中,作业队列条目可以在完成发送分组、完成对来自分组的数据的压缩/解压缩和/或本领域普通技术人员已知的其他事件后被创建。
[0028]在接收到添加作业请求后,SSO单元116将作业、与作业相关联的标签和标签类型添加到与由添加作业请求指示的组120相对应的准入队列121中。在一方面中,准入队列121可以充溢到缓存108和/或存储器112。
[0029]运行在处理器核心114上的软件实体可以经由作业时隙结构126从SSO单元116请求作业。作业时隙结构126包括存储器。如前述所公开的,作业请求指示与处理器核心114相关联的一个或多个组;因此,仅仅那些组需要在其中被判优。响应于请求,得到作业判优器122在与请求处理器核心114相关联的具有准入队列121中的一个中的作业的各组120之中进行判优,评价在准入队列121的顶部的作业的标签,选择准入队列121中的一个并将该作业提供到与如前述详细公开的请求处理器核心114相对应的作业时隙结构126中。额外地,得到作业判优器122将与作业相关联的标签和标签类型提供给存储器,其是与存储器以及网络处理器100的其他元件接口连接的标签链管理器的部分。预见到本领域技术人员已知的任何类型的存储器。在一方面中,存储器包括内容可寻址存储器(CAM)。标签链管理器124因此通过保持跟踪与被提供到作业时隙结构126中的作业相对应的标签来协助SSO单元116说明归因于排序或基元要求而不能够被并行处理的作业;因此,知道每个处理器核心114正在进行什么作业。
[0030]作业时隙结构126中的每个包括至少两个作业时隙126X X。作业时隙结构126_1中的作业时隙中的一个,例如作业时隙126_1_1可以包含当前在对应的处理器核心114_1中挂起的作业;作业时隙中的另一个,例如作业时隙126_1_2可以包含被预取以用于处理的在当前挂起的作业之后开始的作业,即在处理器核心114_1处完成作业时隙126_1_2中的作业。因此,处理器核心114_1可以在完成当前挂起的作业的处理之后立即开始处理所预取的作业;因此避免或消除延时。尽管仅仅示出了一个所预取的作业时隙,本领域技术人员将理解预见到多于一个所预取的作业时隙。
[0031]参考图2,描绘了根据本公开内容的方面的使得能够进行为网络处理器中的处理器核心预取并处理作业的过程的流程图的第一部分。为了澄清在概念结构的某些元件之间的关系和在使得能够进行图1中描绘的为网络处理器中的处理器核心预取并处理作业的过程的结构的元件之中的信息流,在图2的描述中对图1的结构元件的引用采用了括号。
[0032]在步骤202中,运行在处理器核心(114)中的一个上的软件实体准备好获得作业以进行处理。运行在例如处理器核心(114_1)上的软件实体发出经由相关联的作业时隙结构(126_1)从SSO单元(116)请求作业的GET_W0RK。如前述所公开的,作业请求指示与处理器核心(114_1)相关联的一个或多个组;因此,仅仅那些组需要在其中被判优。在一方面中,GET_WORK请求由到输入/输出(I/O)地址的加载指令来启动。在另一方面中,GET_W0RK请求由存储指令启动并被返回到由处理器核心(114_1)指定的存储器位置中。该过程在步骤204中继续。在步骤204中,SSO单元(116)通过确定所有所预取的作业时隙(121_1_2)是否包括所预取的作业来确定所预取的作业是否准备好用于处理器核心(114_1)。在一方面中,SSO单元(116)检查所有所预取的作业时隙(126_1_2)的内容。在另一方面中,SSO单元(116)针对所有所预取的作业时隙(126 j_2)检查指示特定所预取的作业时隙(126_1_2)是为空还是不为空的相关联的位。当确定是肯定的,即没有所预取的作业时隙(126 j_2)是空的,因此包括所预取的作业时,该处理在步骤206中继续;否则,该处理在步骤208中继续。
[0033]在步骤206中,SSO单元(116)提供所预取的作业并且当与所预取的作业相关联的标签和标签类型存在时还将来自所预取的作业时隙(126_1_2)的标签和标签类型提供到作业时隙(126_1_1),并且删除所预取的作业并且当与所预取的作业相关联的标签和标签类型存在时还删除来自所预取的作业时隙(126_1_2)的标签和标签类型。该处理在步骤216中继续。
[0034]在步骤216中,作业时隙(126_1_1)将作业提供给处理器。在一方面中,提供对应于将指令加载到输入/输出(I/O)地址。
[0035]在步骤208中,判优器(122)通过确定与处理器核心(114_1)相关联的组(120)中的任何是否具有准入队列(121)中的作业并且可以因此在判优中进行竞投(即参与到判优中)来搜索作业。得到作业判优器(122)在仅仅具有准入队列(120)中的作业的组(120)之中进行判优以选择一个组(120),来自其的作业将被提供给作业时隙(126_1_1)并且最终被提供给运行在处理器核心(114_1)上的软件实体。本领域普通技术人员将理解,可以使用由本领域中已知的判优器(122)采用的任何判优,例如循环制过程。可以由判优器(122)采用的新颖的判优被公开在于2014年2月3日提交的Wilson P.Snyder II等人的题目为“A METHODAND AN APPARATUS FOR WORK REQUEST ARBITRAT1N IN A NETWORK PROCESSOR” 的共同待审的专利申请n0.14/171,108中。该处理在步骤210中继续。
[0036]在步骤210中,SSO单元(116)确定判优器(122)是否找到针对处理器核心(114_1)的作业。当确定是肯定的时,该处理在步骤212中继续;否则,该处理在步骤214中继续。
[0037]在步骤212中,判优器(122)经由SSO单元(116)提供找到的作业,并且的那个与找到的作业相关联的标签和标签类型存在时还将标签和标签类型提供给作业时隙(126
I)。该处理在步骤216中继续。
[0038]在步骤214中,SSO单元(I16)将未找到作业的指示符提供给处理器核心(I 14 j)。在其中到输入/输出(I/o)地址的加载指令被用于GET_W0RK的方面中,指示没有作业的特定数据值被返回到加载指令;否则,标志被设置,处理器核心(114 j)可以在稍后的时间读取该标志。该处理在步骤218中继续。
[0039]在步骤218中,运行在处理器核心(114j)上的软件实体确定是否已经提供了作业。当确定是否定的时,软件实体可以进入低功率模式,执行非作业相关的处理,或者可以发出另一 GET_W0RK请求,如在步骤202中所公开的。非作业相关的处理包括未经由SSO单元(116)处理的任何处理。借助于示例,这种非作业可以包括用户处理、内核处理或本领域普通技术人员已知的其他处理。当确定是肯定的时,该处理在步骤220中继续。
[0040]在步骤220中,运行在处理器核心(114j)上的软件实体处理该作业。这通常涉及使用作业时隙(126_lj)中的作业作为到存储在缓存(108)和/或存储器(112)中的作业队列条目的指针。SSO单元(116)确定地址的范围,其从要从存储在缓存(108)中的数据结构取消引用和读取的或从存储器(112)被加载到缓存(108)中的指针开始。
[0041]当作业队列条目首次被存取时,读取作业队列条目归因于缓存(108)尚未包含指令和/或数据的事实而是缓慢的,并且存取存储器(112)因为存储器(112)可能在物理上远离网络处理器(100)而是缓慢的。然而,预取增大了取消引用的地址的范围指示作业队列条目已经处于缓存(108)中的可能性,这得到比如前述所公开的存储器(112)更快的存取。该处理在步骤222中继续。
[0042]在步骤222中,为了加速下一作业,运行在处理器核心(114j)上的软件实体发出PRE-FETCH_W0RK,经由相关联的作业时隙结构(126_1)请求要被预取到SSO单元(116)的作业,...关于GET_W0RK,处理器核心还可以为请求者。PRE-FETCH_W0RK请求可以在完成当前处理的作业之后被发出。在一方面中,PRE-FETCH_W0RK请求为到I/O地址的存储指令。当在下面的步骤224-238中所公开的预取过程由SSO单元(116)执行时,在处理器核心(114_1)处运行的软件实体可以执行先前作业和/或其他处理,例如处理非作业相关任务,如前述所公开的;因此,改进网络处理器(100)的效率。
[0043]如果在处理器核心(I 14_1)处运行的软件实体在SSO单元(116)完成预取过程之前完成这些其他过程,则软件实体可以发出另一GET_W0RK请求,如在前述步骤202中所公开的。如在流程图和相关文本中所公开的。所请求的作业和所请求的预取作业由SSO单元
(116)处理。该处理在步骤224中继续。
[0044]在步骤224中,SSO单元(116)通过确定所有所预取的作业时隙(121_1_2)是否包括所预取的作业来确定额外的作业是否被接受并且因此是否为处理器核心(114 j)被预取。在一方面中,SSO单元(116)检查所有所预取的作业时隙(126_1_2)的内容。在另一方面中,SSO单元(I 16)针对所有所预取的作业时隙(126_1_2)检查指示特定所预取的作业时隙(126_1_2)是为空还是不为空的相关联的位。当确定是肯定的时,该处理在步骤226中继续;否则,该处理在步骤228中继续。
[0045]在步骤226中,SSO单元(116)完成当前过程。在另一方面中,SSO单元(116)进一步生成错误中断。将中断信号传送给在网络处理器(100)处的软件实体,其记录错误以指示编程缺陷。在任一方面中,该处理在步骤202中继续。
[0046]在步骤228中,判优器(122)通过如在前述步骤208中公开的相同的过程来搜索作业。该处理在步骤230中继续。
[0047]在步骤230中,SSO单元(116)确定判优器(122)是否找到针对处理器核心(114_1)的作业。当确定是否定的时,该处理在步骤231中继续;否则,该处理在步骤232中继续。
[0048]在步骤231中,SSO单元(116)完成当前过程。该处理在步骤202中继续。
[0049]在步骤232中,判优器(122)经由SSO单元(116)将找到的作业提供给预取作业时隙(126_1_2)。在一方面中,预取作业可以包括“标签”。该处理在步骤234中继续。
[°05°]在步骤234中,SSO单元(I 16)确定与找到的作业相关联的标签是否存在。当确定是肯定的时,该处理在步骤236中继续;否则,该处理在步骤238中继续。
[0051]在步骤236中,SSO单元(I 16)将找到的作业的标签与针对为相同的处理器核心(114_1)调度的另一作业的标签进行比较。当所述比较指示所预取的作业是基元的或相对应另一作业被排序时,该处理在步骤238中继续;否则,该处理在步骤231中继续。
[0052]在步骤238中,当已经处理了在所预取的作业之前的所有作业时,运行在处理器核心上的软件实体处理该作业。SSO单元(116)提供所预取的作业并且当与所预取的作业相关联的标签和标签类型存在时还将来自所预取的作业时隙(126_1_2)的标签和标签类型提供到作业时隙(126 j_l),并且删除所预取的作业并且当与所预取的作业相关联的标签和标签类型存在时还删除来自所预取的作业时隙(126_1_2)的标签和标签类型。SSO单元(116)确定地址的范围,其从要从存储在缓存(108)中的数据结构取消引用和读取的或从存储器(112)被加载到缓存(108)中的指针开始。
[0053]在一方面中,地址的范围是物理地址;在另一方面中,地址的范围是虚拟存储器地址,其使用请求GET_W0RK或PRE-FETCHffORK的软件实体的虚拟存储器背景来转化。这在处理器核心(114_1)没有意识到预取时发生。在一方面中,处理器的PRE-FETCH WORK能够选择性地使得能够进行该预取。该处理在步骤202中继续。
[0054]提供了本公开内容的各个方面以使得本领域普通技术人员能够实践本发明。对这些方面的各种修改对于本领域普通技术人员而言将是显而易见的,并且本文公开的概念可以被应用到其他方面而不脱离本发明的精神或范围。因此,本发明不旨在被限于本文示出的方面,而是被给予本文中公开的原理和新颖特征一致的最广范围。
[0055]因此,借助于示例,本领域普通技术人员将理解,流程图不是穷举的,因为某些步骤可以被添加或者不是必要的和/或可以基于特定实现方式来并行地执行。
[0056]结合在本公开内容中对于本领域普通技术人员已知或稍后出现的各个方面描述的各个说明性逻辑块、模块、电路和算法步骤的所有结构和功能等价要件通过引用明确地并入本文并且旨在被权利要求书包含。这种说明性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
[0057]本领域技术人员将理解,信息和信号可以使用各种不同的科技和技术来表示。例如,可以在上述描述中引用的数据、指令、命令、信息、信号、位、符号和芯片可以由电压、电流、电磁波、磁场或粒子、光学场或粒子、或其任何组合。
[0058]此外,本文公开的内容都不旨在专用于公众,无论这种公开内容是否明确记载在权利要求书中。没有权利要求元件要基于35U.S.C.§1 12第六段的规定来理解,除非使用词语“用于...装置”来明确记载元件或者在方法权利要求的情况下使用词语“用于...步骤”来记载元件。
【主权项】
1.一种用于为网络处理器中的处理器核心预取并处理作业的方法,包括: 由请求者请求预取作业; 确定可以为所述请求者预取作业; 搜索作业以进行预取;以及 将所找到的作业提供到与所述请求者相关联的一个或多个预取作业时隙中的一个时隙中。2.根据权利要求1所述的方法,其中由请求者请求预取作业包括: 在完成当前处理的作业之前请求预取作业。3.根据权利要求1所述的方法,其中由请求者请求预取作业包括: 由处理器核心请求预取作业。4.根据权利要求1所述的方法,其中由请求者请求预取作业包括: 由运行在处理器核心上的软件实体请求预取作业。5.根据权利要求1所述的方法,其中确定可以为所述请求者预取作业包括: 确定与所述请求者相关联的所述一个或多个预取作业时隙中的至少一个时隙不包括作业。6.根据权利要求1所述的方法,还包括: 确定所找到的作业是否包括标签;以及 当所述确定是否定时,处理所找到的作业。7.根据权利要求6所述的方法,其中处理所预取的作业包括: 将所预取的作业从所预取的作业时隙提供到作业时隙; 将所预取的作业从所预取的作业时隙中删除。8.根据权利要求6所述的方法,其中处理所预取的作业还包括: 当已经处理了所预取的作业之前的所有作业时,处理所预取的作业。9.根据权利要求6所述的方法,还包括: 当所述确定是肯定时,将所述标签与为相同请求者调度的另一作业的标签进行比较;以及 当所述比较指示所预取的作业是基元的或经排序的时,处理所预取的作业。10.根据权利要求9所述的方法,还包括: 当所述比较指示所预取的作业未被打上标签时请求作业。11.一种用于为网络处理器中的处理器核心预取并处理作业的装置,包括: 请求者,被配置为从调度、同步和排序单元请求作业预取; 所述调度、同步和排序单元被配置为: 确定可以为所述请求者预取作业;以及 将由判优器找到的所找到的作业预取到与所述请求者相关联的一个或多个预取作业时隙中的一个时隙中;以及所述判优器被配置为 当可以为所述请求者预取作业时搜索作业以进行预取。12.根据权利要求11所述的装置,其中所述请求者被进一步配置为:在完成当前处理的作业之前请求作业预取。13.根据权利要求11所述的装置,其中所述请求者包括处理器核心。14.根据权利要求11所述的装置,其中所述请求者包括运行在处理器核心上的软件实体。15.根据权利要求11所述的装置,其中所述调度、同步和排序单元通过被配置为进行以下项来确定可以为所述请求者预取作业: 确定与所述请求者相关联的所述一个或多个预取作业时隙中的至少一个时隙不包括作业。16.根据权利要求11所述的装置,其中所述SSO单元被进一步配置为:确定所预取的作业是否包括标签并且当所述确定是否定时,处理所预取的作业。17.根据权利要求16所述的装置,其中所述调度、同步和排序单元被配置为通过被配置为进行以下各项来处理所预取的作业: 将所预取的作业提供给一作业时隙;以及 将所预取的作业从所预取的作业时隙中删除。18.根据权利要求16所述的装置,其中所述调度、同步和排序单元被配置为当已经处理了在所预取的作业之前的所有作业时,处理所提供的所预取的作业。19.根据权利要求16所述的装置,其中所述调度、同步和排序单元被进一步配置为: 当所述确定是肯定时,将所述标签与为相同请求者调度的另一作业的标签进行比较;以及 当所述比较指示所预取的作业是基元的或经排序的时处理所预取的作业。20.根据权利要求19所述的装置,其中所述请求者被进一步配置为:当所述比较指示所预取的作业未被打上标签时请求作业。
【文档编号】G06F9/46GK105830027SQ201580003167
【公开日】2016年8月3日
【申请日】2015年2月2日
【发明人】W·P·斯奈德二世, R·E·凯斯勒, D·E·德弗, N·D·格迪瓦拉
【申请人】凯为公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1