发明名称 多核网络处理平台上的一种软件定义计数器实现方法
摘要 本发明涉及一种多核网络处理平台上的软件定义计数器实现方法。该实现方法主要包括:多核软件线程实现的摘要产生及发送的功能、硬件FPGA上实现的摘要解析及更新计数器的功能。将计数器更新的摘要进行灵活地软件定义,例如可以设置不同类型的计数器、可以在一个摘要中设置不同个数的计数器等,而FPGA上的硬件逻辑不用关心计数器的具体实现,只需要根据摘要提供的内容更新相应的计数器。可以避免锁操作、减小计数器开销、提高计数器的灵活性。
申请公布号 CN103731302B 申请公布日期 2016.08.17
申请号 CN201310677322.5 申请日期 2013.12.13
申请人 中国人民解放军国防科学技术大学 发明人 孙志刚;赵涛;黄金锋;李韬;吕高锋;陈一骄
分类号 H04L12/24(2006.01)I;H04L12/02(2006.01)I 主分类号 H04L12/24(2006.01)I
代理机构 湖南省国防科技工业局专利中心 43102 代理人 冯青
主权项 多核网络处理平台上的一种软件定义计数器实现方法,包括:多核软件线程实现的摘要产生及发送的功能、硬件FPGA上实现的摘要解析及更新计数器的功能,其特征在于,包括软件定义的计数请求产生模块、软件发送驱动模块、硬件发送DMA控制模块、硬件更新计数器控制模块和计数器存储器模块;具体过程如下:A、进行软件初始化,根据网络测量和实现方式的需求,在软件定义的计数请求产生模块中设置摘要的产生规则,该规则规定了摘要应该产生多少个计数器更新操作、每个计数器操作的具体内容是什么;B、计数器保存在FPGA硬件的存储器上,在进行硬件初始化时,将计数器存储器平均划分为大小相同的计数器单元,目前规定每个计数器占64bits,同时为每个计数器分配一个计数器ID,根据地址映射规则将每个计数器ID与一个计数器的地址一一对应;C、当多核平台上的软件线程处理一个报文时,软件定义的计数请求产生模块就会产生相应的摘要,该摘要包括多个计数器更新请求,即需要更新多个计数器,该摘要是作为DMA机制中发送描述符的一个子域而存在的;D、软件发送驱动模块将发送描述符发送给硬件发送DMA控制模块进行处理,即要进行延时计数;E、FPGA网络加速引擎上的硬件发送DMA控制模块将收到的报文发送描述符传送给硬件更新计数器控制模块,该模块会提取描述符中的摘要,并根据摘要中的计数器ID通过地址映射逻辑找到对应的计数器地址,读出该计数器的值并将该值送到计数器值更新逻辑进行值的加或减操作,最后将操作后的新值重新写回计数器存储器中的原地址单元中,每个摘要引起多次计数器更新的操作;所述发送描述符中设定了一个摘要域,用来提供计数器更新所需的信息,摘要域包含四种子域:Value:用来标识需要更新的计数器的个数,占2位;Counter_ID:用来标识计数器,一个Counter_ID代表一个计数器,占2个字节;Op_Type:计数器更新的操作类型,增加或减少,占1位,0表示减,1表示加;Operand_Size:表示当更新一个计数器时计数器需要增加或减少的值,占11位。
地址 410073 湖南省长沙市开福区德雅路698号