一种微引擎及其处理报文的方法技术

技术编号:20181732 阅读:42 留言:0更新日期:2019-01-23 02:03
本发明专利技术公开了一种微引擎及其处理报文的方法,包括:微引擎对接收到的报文进行线程分配,并将线程分成若干个线程组;所述微引擎从每个线程组中选择一个线程,获取各个线程对应的指令并发射到若干条流水线中;各条流水线执行完所述指令中的发包指令后,微引擎将报文调度出内核并释放线程。本发明专利技术通过设置若干个线程组和若干条流水线,实现了在不增加内核数量的基础上成倍地提高网络处理器的性能;进一步地,通过设置低延时报文高优先级调度方式,有效地控制了网络处理器内核处理低延时报文的时间。

A Microengine and Its Processing Method for Messages

The invention discloses a micro-engine and a method for processing messages, including: the micro-engine allocates threads to received messages and divides threads into several thread groups; the micro-engine selects a thread from each thread group, obtains the corresponding instructions of each thread and transmits them to several pipelines; after each pipeline executes the outgoing instructions in the instructions, the micro-engine divides the threads into several thread groups. Microengines dispatch messages out of the kernel and release threads. By setting several thread groups and pipelines, the performance of the network processor can be doubled without increasing the number of cores; furthermore, by setting high priority scheduling mode of low latency text, the time of processing low latency text in the network processor core can be effectively controlled.

【技术实现步骤摘要】
一种微引擎及其处理报文的方法
本专利技术涉及网络处理器
,尤其涉及一种微引擎及其处理报文的方法。
技术介绍
为了满足未来网络对金融实时交易、4K/8K超高清(UltraHighDefinition,UHD)视频、虚拟现实、远程实时控制、第五代(5G)移动通信等时序敏感类业务的支持,处于因特网(Internet)骨干位置的核心路由器必须支持实现报文的低延时、低抖动传输。在高端路由器市场,网络处理器以其杰出的报文处理性能及可编程性已经成为构成路由转发引擎不可替代的部分。在网络处理器系统中,微引擎(ME,MicroEngine)是网络处理器的核心部件。传统的网络处理器ME采用多线程单流水线的细粒度多线程结构方式,虽然这种方法可以通过切换线程来降低调度上的延时时间及流水线的空闲时间比率,但是,当网络处理器性能需求增加一倍时,处理器内核的数量至少要增加一倍,导致在设计网络处理器架构时出现瓶颈。并且,传统的网络处理器内核大多不支持对低延时报文优先处理能力,因此无法预估低延时报文在网络处理器内核中的处理时间。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种微引擎及其处理报文的方法,能够本文档来自技高网...

【技术保护点】
1.一种微引擎处理报文的方法,其特征在于,包括:微引擎对接收到的报文进行线程分配,并将线程分成若干个线程组;微引擎从每个线程组中选择一个线程,获取各个线程对应的指令并发射到若干条流水线中;各条流水线执行完所述指令中的发包指令后,微引擎将报文调度出内核并释放线程。

【技术特征摘要】
1.一种微引擎处理报文的方法,其特征在于,包括:微引擎对接收到的报文进行线程分配,并将线程分成若干个线程组;微引擎从每个线程组中选择一个线程,获取各个线程对应的指令并发射到若干条流水线中;各条流水线执行完所述指令中的发包指令后,微引擎将报文调度出内核并释放线程。2.根据权利要求1所述的方法,其特征在于,所述从每个线程组中选择一个线程,具体包括:从所述每个线程组中选择所述线程时,低延时报文对应的线程的优先级高于非低延时报文对应的线程的优先级。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:所述微引擎通过报文头中的标记位来确定报文为低延时报文或非低延时报文。4.根据权利要求1所述的方法,其特征在于,在所述获取各个线程对应的指令时,当前取回的指令执行完后的重新取指指令、跳转指令执行完后的取指指令、新包的取指指令,三者对应的线程的优先级由高到低排列。5.根据权利要求1所述的方法,其特征在于,所述线程组为两个,所述流水线为两条。6.一种微引擎,其特征在于,包括线程管理模块、指令拾取模块、暂停指令调度器模块和指令缓存模块,其中:线程管理模块,用于对接收到的...

【专利技术属性】
技术研发人员:欧亮安康王志忠刘衡祁
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东,44

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

1