CN102110074A - 多核处理器及流分类控制装置和方法 - Google Patents
多核处理器及流分类控制装置和方法 Download PDFInfo
- Publication number
- CN102110074A CN102110074A CN 201110024120 CN201110024120A CN102110074A CN 102110074 A CN102110074 A CN 102110074A CN 201110024120 CN201110024120 CN 201110024120 CN 201110024120 A CN201110024120 A CN 201110024120A CN 102110074 A CN102110074 A CN 102110074A
- Authority
- CN
- China
- Prior art keywords
- interface
- traffic classification
- message
- module
- system bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多核处理器及流分类控制装置和方法。本发明在外扩网络接口与I/O接口之间增设一流分类控制装置,并利用I/O接口能够访问PCD模块和缓存管理模块所在总线的特点,由流分类控制装置通过I/O接口和系统总线向缓存管理模块申请缓存空间、以便于外扩接口所接收的报文能够写入内存中,再由流分类控制装置通过I/O接口和系统总线向PCD模块发送流分类命令、以使得PCD模块能够为已写入至内存中的外扩接口所接收的报文进行流分类。从而,本发明不需要额外指定的数据核来实现流分类,能够避免数据核的资源浪费、并避免指定的数据核的处理能力所可能形成性能瓶颈,还能够针对外扩接口所接收的报文实现流分类的硬件加速。
Description
技术领域
本发明涉及用于多核处理器的流分类技术,特别涉及可加速实现流分类的一种多核处理器、一种多核处理器的流分类控制装置、以及一种多核处理器的流分类控制方法。
背景技术
多核处理器在转发性能和复杂业务处理方面都有非常良好的表现,因而广泛应用于数据通信领域。
多核处理器在软件架构上一般分为两个平面:CP(Control Plane,控制平面)和DP(Data Plane,数据平面)。其中,CP负责实现各种协议的处理、并向DP下发转发表项等信息,而DP则依据转发表项等信息来实现报文的转发。
为了实现更高的转发行能,DP通常利用多核处理器中的多个数据核并行处理。此时,为了保证多个数据核的并行处理不会导致报文的乱序,需要对报文进行流分类,属于同一条流的报文由同一个数据核处理、以实现自然保序,而属于不同流的报文由于没有先后次序的依赖关系,因而可以分别由不同核处理。
现有技术中通常利用处理器内部的PCD(Parse、Classify,and Distribute,解析、分类、分发)模块来实现,PCD模块通常也可称为流分类模块。图1中示出了PCD模块实现流分类的原理,如图1所示,多核处理器的网络接口顺序接收到的报文1~5(图1中以标记有数字1~5的矩形块表示报文1~5)经过PCD的流分类处理后,属于流1的报文1和报文4顺序由数据核1处理、属于流2的报文2由数据核2处理、属于流3的报文3和报文5则顺序由数据核3处理。
上述原理的具体实现请参见图2。在图2中,多核处理器包括:系统总线、挂接于系统总线的核0~核N(N为大于1的正整数)、挂接于系统总线的内存及内存控制器、挂接于系统总线的缓存管理(Buffer Pool)模块、挂接于系统总线并与缓存管理模块直连的PCD模块、与PCD模块直连的网络接口、以及挂接于系统总线的I/O接口。其中,核0负责CP的处理、而核1~核N则负责DP的处理,即,核1~核N为如前所述的数据核。
当网络接口接收到报文之后,网络接口通过与PCD模块之间的直连接口将接收到的报文发送给与PCD模块,并向PCD模块发送流分类命令;然后,PCD模块针对与网络接口之间的直连接口所接收到的报文,通过与缓存管理模块之间的直连接口向缓存管理模块在内存中申请缓存空间;在申请到缓存空间之后,PCD模块再通过系统总线和内存控制器将报文写入至已在内存中申请到的对应的缓存空间、并在PCD模块内部缓存中存放报文的头;此后,PCD模块再对其内部缓存中的报文的头进行解析,从而确定报文所属的流;在确定报文所属的流之后,PCD模块即可将对应的缓存空间的地址、以及报文长度提供给专用于处理报文所属流的数据核,以便于每个数据核均能够从对应的缓存空间顺序获取到属于该数据核所对应的流的连续报文。
如上可见,对于网络接口接收到的报文,多核处理器能够利用PCD模块和缓存管理模块实现流分类,而由于PCD模块和缓存管理模块均属于多核处理器内部的独立的硬件模块,因而能够实现流分类的硬件加速。
此外,如图3所示,在实际应用中,I/O接口还可以外接有外扩网络接口(图3中除了外扩网络接口之外的其他结构均与图2相同)。但是,由于外扩网络接口并不支持向PCD模块发送流分类命令及报文,因此,对于外接于I/O接口的外扩网络接口所接收到的报文来说,就无法利用PCD模块和缓存管理模块实现流分类。
为了实现对外扩网络接口接收到的报文进行流分类,如图4所示,现有技术中只能够从所有数据核(即如图3所示的核1~核N)中指定一个数据核,并由指定的数据核利用BD(Buffer Descriptor,缓存描述符)来实现流分类。
具体说,指定的数据核会针对外扩网络接口接收到的报文分配一个BD环,该BD环中包含若干个BD、每个BD又唯一地对应内存中的一个缓冲区。当外扩网络接口接收到报文后,其通过I/O接口和系统总线向指定的数据核上报中断,然后读取BD环中的写指针当前所指向的BD,从而获得对应的缓存空间的地址,再将接收到的报文写入至对应的缓存空间、并将所读取的BD的标志位设置为有效。
此后,指定的数据核会利用BD环中的读指针轮询读取BD环中的各BD,当读取到标志位有效的BD后,即从对应的缓存空间中读取报文的头并解析,从而确定该报文所属的流,然后再将对应的缓存空间的地址提供给专用于处理报文所属流的其他数据核,以便于每个其他数据核均能够从对应的缓存空间顺序获取到属于该数据核所对应的流的连续报文(或者,也可通知PCD模块从对应的缓存空间中读取报文的头并解析,以及,由PCD模块将对应的缓存空间的地址提供给专用于处理报文所属流的其他数据核)。
然而,如图4所示的方式虽然能够对外扩网络接口接收到的报文进行流分类,但是,需要额外指定的数据核、造成数据核的资源浪费,而且,流分类的能力主要依赖于指定的数据核的处理能力,容易形成性能瓶颈。
发明内容
有鉴于此,本发明提供了一种多核处理器、一种多核处理器的流分类控制装置、以及一种多核处理器的流分类控制方法,能够针对多核处理器的I/O接口实现流分类。
本发明提供的一种多核处理器,包括:系统总线、挂接于所述系统总线的若干数据核、挂接于所述系统总线的缓存管理模块、挂接于所述系统总线并与所述缓存管理模块直连的流分类模块、与所述流分类模块直连的网络接口、挂接于所述系统总线的I/O接口、以及外接于所述I/O接口的外扩网络接口;
其特征在于,所述外扩网络接口通过一流分类控制装置外接于所述I/O接口;
所述流分类控制装置接收来自所述外扩网络接口的报文,通过所述I/O接口以及所述系统总线为所述报文向所述缓存管理模块申请缓存空间、并通过所述I/O接口以及所述系统总线将所述报文写入至申请到的对应的缓存空间,以及,通过所述I/O接口以及所述系统总线向所述流分类模块发送流分类命令,所述流分类命令中包含所述报文的长度以及对应的缓存空间的地址。
优选地,所述流分类控制装置进一步实现所述外扩网络接口与所述I/O接口之间的格式转换。所述外扩网络接口为SPI4.2接口、所述I/O接口为PCIE接口。
可选地,所述流分类模块进一步依据所述流分类命令中的所述地址,从对应的缓存空间内找到所述报文的头、并进行解析,以确定所述报文所属的流;以及,将所述流分类命令中的所述地址、以及所述报文的长度提供给专用于该所属的流的对应的数据核。
本发明提供的一种多核处理器的流分类控制装置,所述多核处理器包括:系统总线、挂接于所述系统总线的若干数据核、挂接于所述系统总线的缓存管理模块、挂接于所述系统总线并与所述缓存管理模块直连的流分类模块、与所述流分类模块直连的网络接口、挂接于所述系统总线的I/O接口、以及外接于所述I/O接口的外扩网络接口;
所述流分类控制装置位于所述外扩网络接口与所述I/O接口之间、并包括:
报文接收模块,其接收来自所述外扩网络接口的报文;
缓存申请模块,其通过所述I/O接口以及所述系统总线,为所述报文向所述缓存管理模块申请缓存空间;
报文写入模块,其通过所述I/O接口以及所述系统总线,将所述报文写入至申请到的对应的缓存空间;
命令发送模块,其向所述流分类模块发送流分类命令,所述流分类命令中包含所述报文的长度以及对应的缓存空间的地址。
优选地,所述流分类控制装置进一步包括接口转换模块,其用于实现所述外扩网络接口与所述I/O接口之间的格式转换。所述外扩网络接口为SPI4.2接口、所述I/O接口为PCIE接口。
可选地,所述流分类模块进一步依据所述流分类命令中的所述地址,从对应的缓存空间内找到所述报文的头、并进行解析,以确定所述报文所属的流;以及,将所述流分类命令中的所述地址、以及所述报文的长度提供给专用于该所属的流的对应的数据核。
本发明提供的一种多核处理器的流分类控制方法,所述多核处理器包括:系统总线、挂接于所述系统总线的若干数据核、挂接于所述系统总线的缓存管理模块、挂接于所述系统总线并与所述缓存管理模块直连的流分类模块、与所述流分类模块直连的网络接口、挂接于所述系统总线的I/O接口、以及外接于所述I/O接口的外扩网络接口;
该流分类控制方法包括在所述外扩网络接口与所述I/O接口之间执行的如下步骤:
接收来自多核处理器中的外扩网络接口的报文;
通过所述I/O接口以及所述系统总线,为所述报文向所述缓存管理模块申请缓存空间;
通过所述I/O接口以及所述系统总线,将所述报文写入至申请到的对应的缓存空间;
向所述流分类模块发送流分类命令,所述流分类命令中包含所述报文的长度以及对应的缓存空间的地址。
优选地,该流分类控制方法进一步在执行与所述外扩网络接口交互、和/或与所述I/O接口交互的步骤时进行接口格式转换。
可选地,该方法在向所述流分类模块发送所述流分类命令之后,进一步包括:
所述流分类模块依据所述流分类命令中的所述地址,从对应的缓存空间内找到所述报文的头、并进行解析,以确定所述报文所属的流;
所述流分类模块将所述流分类命令中的所述地址、以及所述报文的长度提供给专用于该所属的流的对应的数据核。
由上述技术方案可见,本发明在外扩网络接口与I/O接口之间增设一流分类控制装置,并利用I/O接口能够访问PCD模块和缓存管理模块所在总线的特点,由流分类控制装置通过I/O接口和系统总线向缓存管理模块申请缓存空间、以便于外扩接口所接收的报文能够写入内存中,再由流分类控制装置通过I/O接口和系统总线向PCD模块发送流分类命令、以使得PCD模块能够为已写入至内存中的外扩接口所接收的报文进行流分类。从而,本发明不需要额外指定的数据核来实现流分类,能够避免数据核的资源浪费、并避免流分类的能力主要依赖于指定的数据核的处理能力而形成性能瓶颈,还能够充分利用同为硬件模块的PCD模块和缓存管理模块为外扩接口所接收的报文实现流分类的硬件加速。
进一步地,对于I/O接口和外扩网络接口的接口类型不同的情况,本发明还能够利用流分类控制装置进一步实现外扩网络接口与I/O接口之间的格式转换。
附图说明
图1为现有技术中针对网络接口实现流分类的原理性示意图;
图2为现有技术中多核处理器的示例性结构图;
图3为现有技术中具有外扩网络接口的多核处理器的示例性结构图;
图4为现有技术中针对外扩网络接口实现流分类的原理性示意图;
图5为本发明实施例中多核处理器的示例性结构图;
图6a至图6f为本发明实施例中多核处理器的工作原理示意图;
图7为本发明实施例中多核处理器的流分类控制装置的一种较佳的逻辑结构示意图;
图8为本发明实施例中流分类控制方法的示例性流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图5为本发明实施例中多核处理器的示例性结构图。如图5所示,本实施例中的多核处理器仍包括:系统总线、挂接于系统总线的核0~核N(N为大于1的正整数)、挂接于系统总线的内存及内存控制器、挂接于系统总线的缓存管理模块、挂接于系统总线并与缓存管理模块直连的PCD模块、与PCD模块直连的网络接口、挂接于系统总线的I/O接口、以及外接于I/O接口的外扩网络接口。其中,核0负责CP的处理、而核1~核N则负责DP的处理,即,核1~核N为如前所述的数据核。
但是,在图5所示出的多核处理器中,外扩网络接口并不是直接外接于I/O接口,而是通过一流分类控制装置与I/O接口相连。由于I/O接口能够访问到缓存管理模块和PCD模块所在的系统总线,因而,利用这一特点,流分类控制装置就能够通过I/O接口和系统总线与缓存管理模块和PCD模块交互。
具体说,当外扩网络接口接收到报文之后,外扩网络接口会将报文发送至流分类控制装置,此后:
如图6a所示,由于外扩网络接口并不支持向PCD模块发送流分类命令及报文,因此,由流分类控制装置通过I/O接口和系统总线,为外扩网络接口所接收到的报文向缓存管理模块申请内存中的缓存空间;
如图6b所示,由于缓存空间的申请是由流分类控制装置发起的、而不是由PCD模块通过与缓存管理模块之间的直连接口发起的,因此,缓存管理模块会通过系统总线和I/O接口将已申请到的缓存空间的地址提供给流分类控制装置、而不是通过与PCD模块之间的直连接口提供给PCD模块;
如图6c所示,在申请到缓存空间之后,流分类控制装置通过I/O接口和系统总线,将外扩网络接口所接收到的报文写入至已申请到的对应的缓存空间;
如图6d所示,在将外扩网络接口所接收到的报文写入至已申请到的对应的缓存空间之后,流分类控制装置通过I/O接口和系统总线向PCD模块发送流分类命令;由于PCD模块在此之前并未针对外扩网络接口所接收到的报文向缓存管理模块申请内存中的缓存空间、也未接收到外扩网络接口所接收的报文,因而流分类命令中还需要包括外扩网络接口所接收到的报文所写入的对应的缓存空间的地址、以及外扩网络接口所接收到的报文的长度;
如图6e所示,PCD模块在接收到流分类控制装置通过I/O接口和系统总线所发送的流分类命令后,依据流分类命令中的前述地址,从对应的缓存空间内找到外扩网络接口所接收到的报文的头、并进行解析,从而确定外扩网络接口所接收到的报文所属的流;在确定外扩网络接口所接收到的报文所属的流之后,PCD模块即可将前述地址、以及前述报文长度提供给专用于该所属流的对应的数据核;
如图6f所示,在外扩网络接口所接收到的报文所属流的对应的数据核得到前述地址、以及前述报文长度之后,即可按照该所属流中的报文先后顺序,从对应的缓存空间顺序获取到属于该数据核所对应的流的由外扩网络接口所接收到的报文。
基于如图5所示的结构、以及如图6a至图6f所示的工作原理可见,本实施例通过在外扩网络接口与I/O接口之间增设一流分类控制装置、以及利用I/O接口能够访问PCD模块和缓存管理模块所在总线的特点,能够由流分类控制装置通过I/O接口和系统总线向缓存管理模块申请缓存空间、以使得外扩接口所接收的报文能够写入内存中,还由流分类控制装置通过I/O接口和系统总线向PCD模块发送流分类命令、以使得PCD模块能够为已写入至内存中的外扩接口所接收的报文进行流分类。从而,也就不需要额外指定的数据核来实现流分类,进而就能够避免数据核的资源浪费、并避免流分类的能力主要依赖于指定的数据核的处理能力而形成性能瓶颈;而且,还能够充分利用同为硬件模块的PCD模块和缓存管理模块为外扩接口所接收的报文实现流分类的硬件加速。
即便出现网络接口、外扩网络接口并发访问的情况,由于PCD模块和缓存管理模块均能够提供支持并发访问的多个资源通道,因而也不会导致性能瓶颈的出现;而如果出现多个外扩网络接口同时存在的情况,只要流分类控制装置的资源足够,可以设置多个外扩网络接口可以共用一个流分类控制装置,并由流分类控制装置为每个外扩网络接口提供一个独立的资源通道,且对于每个资源通道,均可以按照如图6a至如图6f所示的工作原理实现流分类。
当然,还存在一种可能,即I/O接口和外扩网络接口的接口类型不同,例如,I/O接口为PCIE接口、而外扩网络接口为SPI4.2接口,即,流分类控制装置与I/O接口使用PCIE接口协议进行交互、与外扩网络接口使用SPI4.2接口协议进行交互。
此时,还需要流分类控制装置进一步具有实现外扩网络接口与I/O接口之间的格式转换功能,而增加格式转换的功能并不会导致流分类控制装置的硬件成本增加。至于如何实现格式转换,本领域技术人员能够参照现有的各种接口协议予以实现,本文不再赘述。
在具体应用时,流分类控制装置可以由例如FPGA等任一种逻辑器件来实现。当使用逻辑器件来实现流分类控制装置时,逻辑器件内部可以参照如图6a~如图6d所示的原理而任意设置相应的逻辑结构。
图7中示出了流分类控制装置的一种较佳的逻辑结构,在如图7中所示出的流分类控制装置中包括:报文接收模块、缓存申请模块、报文写入模块、以及命令发送模块。
报文接收模块,用于接收来自外扩网络接口的报文、并通知缓存申请模块。实际应用中,报文接收模块可具有一定的缓存功能,以便于暂存来自外扩网络接口的报文;或者,也可在流分类控制装置中额外设置一报文缓存模块(图7中未示出)、以暂存报文接收模块所接收的来自外扩网络接口的报文。
缓存申请模块,用于通过I/O接口和系统总线,为报文接收模块所接收到的报文向缓存管理模块申请内存中的缓存空间;以及,通过系统总线和I/O接口接收缓存管理模块申请到的缓存空间的地址、并提供给报文写入模块。
报文写入模块,用于按照缓存申请模块所提供的地址,通过I/O接口和系统总线,将报文接收模块所接收到的报文(如果设置有如前所述的报文缓存模块、则需要先从报文缓存模块中读取)写入至已申请到的内存中的对应的缓存空间,并在写入完成之后通知命令发送模块。
命令发送模块,用于在将报文接收模块所接收到的报文写入至已申请到的内存中的对应的缓存空间之后,通过I/O接口和系统总线向PCD模块发送流分类命令,流分类命令中还需要包括外扩网络接口所接收到的报文所写入的对应的缓存空间的地址、以及外扩网络接口所接收到的报文的长度。
实际应用中,如果出现多个外扩网络接口同时存在的情况,只要流分类控制装置的资源足够,可以设置多个外扩网络接口可以共用一个流分类控制装置,并由流分类控制装置为每个外扩网络接口提供一个独立的资源通道,且每个资源通道中均可以包括报文接收模块、缓存申请模块、报文写入模块、以及命令发送模块。
此外,对于I/O接口和外扩网络接口的接口类型不同的情况,流分类控制装置中可以进一步设置接口转换模块,用于实现所述外扩网络接口与所述I/O接口之间的格式转换。
其中,接口转换模块可以设置为一个、并由所有资源通道共享,或者,也可以分别为每个资源通道设置一个接口转换模块。
而且,接口转换模块的位置也可以任意设置。
例如,如果流分类控制装置中的报文接收模块、缓存申请模块、报文写入模块、以及命令发送模块均可以采用I/O接口的接口协议而与I/O接口直接交互,则接口转换模块可以设置在报文接收模块与外扩网络接口之间,也就是说,来自外扩网络接口的报文只要进入到流分类控制装置中,就会被接口转换模块转换为符合I/O接口的接口协议的格式;
再例如,如果流分类控制装置中的报文接收模块、缓存申请模块、报文写入模块、以及命令发送模块均可以采用外扩网络接口的接口协议,则接口转换模块可以设置为直接与I/O接口相连,且缓存申请模块、报文写入模块、以及命令发送模块均通过接口转换模块与I/O接口交互。
当然,如图7中所示出的流分类装置的逻辑结构仅仅是基于如图6a至图6d所示出的工作原理的一种较佳实现方式,对于可能出现的其他逻辑结构,本文不再一一列举。
基于如图7所示出的流分类装置的逻辑结构,本实施例还提供了一种相应的流分类控制方法,具体参见图8,该方法包括在外扩网络接口与I/O接口之间执行的如下步骤:
步骤801,接收来自外扩网络接口的报文,如果需要,还可暂存所接收的来自外扩网络接口的报文。
步骤802,通过I/O接口和系统总线,为报文接收模块所接收到的报文向缓存管理模块申请内存中的缓存空间。
步骤803,通过系统总线和I/O接口接收缓存管理模块申请到的缓存空间的地址。
步骤804,按照步骤803所提供的地址,通过I/O接口和系统总线,将报文接收模块所接收到的报文写入至已申请到的内存中的对应的缓存空间。
步骤805,在步骤804的写入完成后,通过I/O接口和系统总线向PCD模块发送流分类命令,流分类命令中还需要包括外扩网络接口所接收到的报文所写入的对应的缓存空间的地址、以及外扩网络接口所接收到的报文的长度。
至此,流分类过程中针对来自外扩网络接口的一个报文的处理流程结束。
在上述流程之后,PCD模块即可依据流分类命令中的前述地址,从对应的缓存空间内找到外扩网络接口所接收到的报文的头、并进行解析,以确定外扩网络接口所接收到的报文所属的流;然后,PCD模块可将流分类命令中的前述地址、以及报文的长度提供给专用于该所属的流的对应的数据核,从而使对应的数据核可按照该所属流中的报文先后顺序,从对应的缓存空间顺序获取到属于该数据核所对应的流的由外扩网络接口所接收到的报文。
此外,对于I/O接口和外扩网络接口的接口类型不同的情况,还可以进一步在执行与外扩网络接口交互的步骤801、和/或与I/O接口交互的步骤802~步骤805时进行接口格式转换。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种多核处理器,包括:系统总线、挂接于所述系统总线的若干数据核、挂接于所述系统总线的缓存管理模块、挂接于所述系统总线并与所述缓存管理模块直连的流分类模块、与所述流分类模块直连的网络接口、挂接于所述系统总线的I/O接口、以及外接于所述I/O接口的外扩网络接口;
其特征在于,所述外扩网络接口通过一流分类控制装置外接于所述I/O接口;
所述流分类控制装置接收来自所述外扩网络接口的报文,通过所述I/O接口以及所述系统总线为所述报文向所述缓存管理模块申请缓存空间、并通过所述I/O接口以及所述系统总线将所述报文写入至申请到的对应的缓存空间,以及,通过所述I/O接口以及所述系统总线向所述流分类模块发送流分类命令,所述流分类命令中包含所述报文的长度以及对应的缓存空间的地址。
2.如权利要求1所述的多核处理器,其特征在于,所述流分类控制装置进一步实现所述外扩网络接口与所述I/O接口之间的格式转换。
3.如权利要求2所述的多核处理器,其特征在于,所述外扩网络接口为SPI4.2接口、所述I/O接口为PCIE接口。
4.如权利要求1至3中任一项所述的多核处理器,其特征在于,所述流分类模块进一步依据所述流分类命令中的所述地址,从对应的缓存空间内找到所述报文的头、并进行解析,以确定所述报文所属的流;以及,将所述流分类命令中的所述地址、以及所述报文的长度提供给专用于该所属的流的对应的数据核。
5.一种多核处理器的流分类控制装置,所述多核处理器包括:系统总线、挂接于所述系统总线的若干数据核、挂接于所述系统总线的缓存管理模块、挂接于所述系统总线并与所述缓存管理模块直连的流分类模块、与所述流分类模块直连的网络接口、挂接于所述系统总线的I/O接口、以及外接于所述I/O接口的外扩网络接口;
其特征在于,所述流分类控制装置位于所述外扩网络接口与所述I/O接口之间、并包括:
报文接收模块,其接收来自所述外扩网络接口的报文;
缓存申请模块,其通过所述I/O接口以及所述系统总线,为所述报文向所述缓存管理模块申请缓存空间;
报文写入模块,其通过所述I/O接口以及所述系统总线,将所述报文写入至申请到的对应的缓存空间;
命令发送模块,其向所述流分类模块发送流分类命令,所述流分类命令中包含所述报文的长度以及对应的缓存空间的地址。
6.如权利要求7所述的流分类控制装置,其特征在于,所述流分类控制装置进一步包括接口转换模块,其用于实现所述外扩网络接口与所述I/O接口之间的格式转换。
7.如权利要求6所述的流分类控制装置,其特征在于,所述外扩网络接口为SPI4.2接口、所述I/O接口为PCIE接口。
8.如权利要求5至7中任一项所述的流分类控制装置,其特征在于,所述流分类模块进一步依据所述流分类命令中的所述地址,从对应的缓存空间内找到所述报文的头、并进行解析,以确定所述报文所属的流;以及,将所述流分类命令中的所述地址、以及所述报文的长度提供给专用于该所属的流的对应的数据核。
9.一种多核处理器的流分类控制方法,所述多核处理器包括:系统总线、挂接于所述系统总线的若干数据核、挂接于所述系统总线的缓存管理模块、挂接于所述系统总线并与所述缓存管理模块直连的流分类模块、与所述流分类模块直连的网络接口、挂接于所述系统总线的I/O接口、以及外接于所述I/O接口的外扩网络接口;
其特征在于,该流分类控制方法包括在所述外扩网络接口与所述I/O接口之间执行的如下步骤:
接收来自多核处理器中的外扩网络接口的报文;
通过所述I/O接口以及所述系统总线,为所述报文向所述缓存管理模块申请缓存空间;
通过所述I/O接口以及所述系统总线,将所述报文写入至申请到的对应的缓存空间;
向所述流分类模块发送流分类命令,所述流分类命令中包含所述报文的长度以及对应的缓存空间的地址。
10.如权利要求9所述的流分类控制方法,其特征在于,该流分类控制方法进一步在执行与所述外扩网络接口交互、和/或与所述I/O接口交互的步骤时进行接口格式转换。
11.如权利要求9或10所述的流分类控制方法,其特征在于,该方法在向所述流分类模块发送所述流分类命令之后,进一步包括:
所述流分类模块依据所述流分类命令中的所述地址,从对应的缓存空间内找到所述报文的头、并进行解析,以确定所述报文所属的流;
所述流分类模块将所述流分类命令中的所述地址、以及所述报文的长度提供给专用于该所属的流的对应的数据核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100241201A CN102110074B (zh) | 2011-01-21 | 2011-01-21 | 多核处理器及流分类控制装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100241201A CN102110074B (zh) | 2011-01-21 | 2011-01-21 | 多核处理器及流分类控制装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102110074A true CN102110074A (zh) | 2011-06-29 |
CN102110074B CN102110074B (zh) | 2012-05-30 |
Family
ID=44174237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100241201A Active CN102110074B (zh) | 2011-01-21 | 2011-01-21 | 多核处理器及流分类控制装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102110074B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957971A (zh) * | 2017-11-02 | 2018-04-24 | 桂林电子科技大学 | 一种基于fpga的多处理器之间的通信系统及通信方法 |
CN108733616A (zh) * | 2017-04-24 | 2018-11-02 | 爱思开海力士有限公司 | 包括多处理器的控制器及其操作方法 |
CN111464456A (zh) * | 2020-03-31 | 2020-07-28 | 杭州迪普科技股份有限公司 | 一种流量控制方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026303A1 (en) * | 2000-03-02 | 2006-02-02 | Agere Systems Inc. | Fast pattern processor including a function interface system |
WO2006060571A2 (en) * | 2004-12-02 | 2006-06-08 | Pandya Ashish A | A runtime adaptable security processor |
CN1832488A (zh) * | 2006-04-13 | 2006-09-13 | 杭州华为三康技术有限公司 | 实现SPI4设备与PCI Express设备互连的系统及方法 |
CN1925453A (zh) * | 2006-10-12 | 2007-03-07 | 杭州华为三康技术有限公司 | 报文转发方法和装置 |
CN101202707A (zh) * | 2007-12-03 | 2008-06-18 | 杭州华三通信技术有限公司 | 高速单板传输报文的方法、现场可编程门阵列及高速单板 |
-
2011
- 2011-01-21 CN CN2011100241201A patent/CN102110074B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026303A1 (en) * | 2000-03-02 | 2006-02-02 | Agere Systems Inc. | Fast pattern processor including a function interface system |
WO2006060571A2 (en) * | 2004-12-02 | 2006-06-08 | Pandya Ashish A | A runtime adaptable security processor |
CN1832488A (zh) * | 2006-04-13 | 2006-09-13 | 杭州华为三康技术有限公司 | 实现SPI4设备与PCI Express设备互连的系统及方法 |
CN1925453A (zh) * | 2006-10-12 | 2007-03-07 | 杭州华为三康技术有限公司 | 报文转发方法和装置 |
CN101202707A (zh) * | 2007-12-03 | 2008-06-18 | 杭州华三通信技术有限公司 | 高速单板传输报文的方法、现场可编程门阵列及高速单板 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733616A (zh) * | 2017-04-24 | 2018-11-02 | 爱思开海力士有限公司 | 包括多处理器的控制器及其操作方法 |
CN108733616B (zh) * | 2017-04-24 | 2021-12-28 | 爱思开海力士有限公司 | 包括多处理器的控制器及其操作方法 |
CN107957971A (zh) * | 2017-11-02 | 2018-04-24 | 桂林电子科技大学 | 一种基于fpga的多处理器之间的通信系统及通信方法 |
CN111464456A (zh) * | 2020-03-31 | 2020-07-28 | 杭州迪普科技股份有限公司 | 一种流量控制方法及装置 |
CN111464456B (zh) * | 2020-03-31 | 2023-08-29 | 杭州迪普科技股份有限公司 | 一种流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102110074B (zh) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4477613B2 (ja) | AXIプロトコルを適用したNoCシステム | |
CN103888293B (zh) | 多通道fc网络数据仿真系统的数据通道调度方法 | |
CN111651377B (zh) | 一种用于片内报文处理的弹性共享缓存器 | |
CN105511954A (zh) | 一种报文处理方法及装置 | |
CN107360591A (zh) | 一种上报缓存状态报告的方法和设备 | |
CN112291293B (zh) | 任务处理方法、相关设备及计算机存储介质 | |
CN102185833B (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN103200128A (zh) | 一种网络包处理的方法、装置和系统 | |
CN103353851A (zh) | 一种管理任务的方法和设备 | |
CN103092798B (zh) | 片上系统及总线下的访问设备的方法 | |
CN103218337A (zh) | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 | |
KR20160054007A (ko) | 메모리 모듈 액세스 방법 및 장치 | |
CN105141603A (zh) | 通信数据传输方法及系统 | |
CN100452757C (zh) | 报文转发方法和装置 | |
CN103929377A (zh) | 一种有线网络与无线网络联合调度方法、相关设备及系统 | |
CN114710571B (zh) | 数据包处理系统 | |
CN102110074B (zh) | 多核处理器及流分类控制装置和方法 | |
JP2018524751A (ja) | コンピュータデバイス及びコンピュータデバイスによりデータを読み取る/書き込むための方法 | |
CN106844263B (zh) | 一种基于可配置的多处理器计算机系统及实现方法 | |
CN104754521A (zh) | 一种报文转发方法、无线接入点、无线控制器和系统 | |
CN102843435A (zh) | 一种在集群系统中存储介质的访问、响应方法和系统 | |
CN116204487A (zh) | 远程数据访问方法及装置 | |
CN103853676A (zh) | 基于PCIe总线的信道分配、释放、数据传输方法和系统 | |
CN104899105A (zh) | 一种进程间通信方法 | |
CN116471242A (zh) | 基于rdma的发送端、接收端、数据传输系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |