具处理器件之间流量控制的装置、单芯片系统与方法

文档序号:9202603阅读:412来源:国知局
具处理器件之间流量控制的装置、单芯片系统与方法
【技术领域】
[0001]本申请涉及在各自之间设置有流量控制的处理器件及对应方法。
【背景技术】
[0002]为了处理数据,在许多情况下使用不止一个处理器件。例如,在许多应用中,除了主处理器件(例如,通用处理器)之外,还使用辅助处理器件。辅助处理器件可被设计用于数据处理中的特定任务,例如用于执行特定计算或任何其他特定任务。对于这些特定任务,辅助处理器件可例如是硬接线的且因此非常快。另一方面,在许多情况下,辅助处理器件可能不会像主处理器件一样具有多种功能。
[0003]在某些场景下,当欲处理数据时,首先通过辅助处理器件来处理数据,且如果需要,接着将所述数据转发至主处理器件以进一步处理。然而,由于辅助处理器件工作快,且另外在某些应用中主处理器件也可用于其他任务,因此这可导致主处理器件超负荷、数据队列溢出及/或处理数据时出现高的延迟。根据应用而定,例如高的延迟可能是人们所不期望的,特别是在欲对数据进行实时处理的情况下。

【发明内容】

[0004]本发明包含一种装置,包括:辅助处理器件,用以接收待处理数据,主处理器件,以及从所述主处理器件至所述辅助处理器件的反馈路径,所述主处理器件用以通过所述反馈路径将所述主处理器件的负荷通知所述辅助处理器件,其中所述辅助处理器件用以根据所述主处理器件的所述负荷及所述数据的优先权来选择性地舍弃所接收的数据。
[0005]本发明还包含一种单芯片系统,包括:数据单元处理引擎,用以接收输入数据单元,中央处理器(CPU),以及CPU队列,可操作地耦接于所述数据单元处理引擎与所述CPU之间,以及从所述CPU至所述数据单元处理引擎的反馈路径,所述CPU用以通过所述反馈路径将所述CPU的负荷通知所述数据单元处理引擎,其中所述数据单元处理引擎用以根据所接收数据单元的优先权及从所述CPU接收的所述负荷信息将所述数据单元选择性地转发至所述CPU队列。
[0006]本发明更包含一种方法,包括:在辅助处理器件处接收数据,在所述辅助处理器件处接收主处理器件的负荷,以及根据所接收的所述负荷及所述数据的优先权来选择性地舍弃数据。
【附图说明】
[0007]图1为根据一实施例的装置的方框图;
[0008]图2为根据另一实施例的装置的方框图;
[0009]图3为例示根据一实施例的方法的流程图;以及
[0010]图4为例示根据另一实施例的方法的流程图。
[0011]主要元件标记说明
[0012]10:辅助处理器件
[0013]11:主处理器件
[0014]20:单芯片系统
[0015]21:封包处理引擎
[0016]22:CPU 队列
[0017]23:CPU
[0018]24:分类引擎
[0019]dap:经处理的数据
[0020]dfp:经完全处理的数据
[0021]d1:输入数据
[0022]dpp:经部分处理的数据
[0023]In:负荷通知
[0024]p1:输入封包
[0025]ppp:经部分处理的封包/经过预处理的封包
[0026]30 ?33:步骤
[0027]40 ?46:步骤
【具体实施方式】
[0028]以下,将参照附图来详细描述各种实施例。应注意,这些实施例仅用作例示性例子而不应被视为限制本应用的范围。
[0029]例如,尽管实施例可被描述为包括多个特征或元件,然而在其它实施例中,可省略这些特征或元件中的某些特征或元件,抑或可使用替代的特征或元件来替代。换句话讲,针对实施例所述的特征或元件不应被视为对于实施而言所必需的或必不可少的。在其它实施例中,可存在其它特征或元件。
[0030]除非另外特别注明,否则来自不同实施例的特征可彼此相结合。实施例可实施为硬件、固件(firmware)、软件或其任一组合。各种元件之间的任何親接或连接可被实施为直接连接或耦接(即,不需要中间元件的连接或耦接),抑或被实施为间接连接或耦接(即,以一个或多个中间元件来连接或耦接),只要不显著改变连接或耦接的一般功能(例如用于转发特定种类的数据或特定信息)即可。
[0031]连接或耦接可被实施为基于线材的耦接或无线耦接。
[0032]在某些实施例中,可提供一种包括主处理器件及辅助处理器件的装置。辅助处理器件可接收数据、对所述数据执行某些处理,并可将如此处理过的数据(以下也被称为经过预处理的数据)中的至少一部分转发至主处理器件。主处理器件可将所述主处理器件的负荷(例如,关于主处理器件的处理从辅助处理器件接收的数据的能力)通知辅助处理器件。在高负荷情况下,可舍弃某些数据而非转发至主处理器件。在某些实施例中,可例如根据数据的优先权而直接由辅助处理器件来执行这些舍弃。
[0033]现在转向附图,在图1中,显示例示根据一实施例的装置的方框图。图1所示实施例的装置包括辅助处理器件及主处理器件。在本申请的上下文中,处理器件涉及任何种类的能够处理数据并输出经处理数据的器件。处理器件可以是经过相应编程的可编程器件(如微处理器或微控制器),可包括现场可编程门阵列(field programmablygate array ;FPGA)、抑或可以是硬接线器件,仅举几个例子而言,例如为应用专用集成电路(applicat1n specific integrated circuit ;ASIC)或算数逻辑单元(arithmeticlogical unit ;ALU)。
[0034]辅助处理器件10接收输入数据di并将输入数据di处理成经部分处理的数据dpp。辅助处理器件10可用以快速地执行为处理输入数据di所需的特定任务,即,可包括有限的数据处理功能集合。例如,辅助处理器件10可被硬接线成执行某一处理。然而,在某些实施例中,辅助处理器件10可被限制于这种特定任务,而主处理器件可例如是可编程的以执行不同种类的所需处理。在某些实施例中,主处理器件11可将经部分处理的数据dpp处理成经完全处理的数据dfp。例如,辅助处理器件10所执行的任务可包括可在硬接线时快速执行的特定计算。对于某些数据,在由辅助处理器件10处理后可能不需要由主处理器件11进一步处理,且这类数据可由辅助处理器件10作为经处理的数据dap输出。
[0035]应注意,除了处理从辅助处理器件10接收的数据之外,主处理器件11也可服务于装置中的其它任务,例如可处理除从辅助处理器件10接收的经预处理数据dpp之外的数据、控制其它组件等。
[0036]在实施例中,所述辅助处理器件10可用以非常快速地执行辅助处理器件10被指派的任务。另一方面,所述主处理器件11用途可更为广泛、但处理数据的速度较慢、及/或可被除处理经过预处理的数据dpp以外的其它任务所占用。因此,当输入数据di的速率高且被辅助处理器件10快速处理时,经过预处理的数据dpp量可使主处理器件11超负荷,从而例如可导致高的延迟。
[0037]在图1所示实施例中,主处理器件11通过反馈路径以负荷通知In将主处理器件11的负荷通知辅助处理器件10。例如,负荷通知In可在主处理器件11中存在低负荷、中等负荷或高负荷时通知辅助处理器件10,抑或可例如以某一百分比来表示主处理器件11的负荷。也可使用任何其他负荷量度来建立负荷通知In。
[0038]在实施例中,根据负荷通知In而定,辅助处理器件10可决定舍弃某些数据di并且仅将某些数据作为经过预处理的数据dpp而转发至主处理器件11。例如,在负荷通知In指示主处理器件11具有低负荷的情况下,在某些实施例中可将基于所有输入数据di的所有
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1