一种数据帧预入队处理的装置及方法制造方法及图纸

技术编号:14027708 阅读:64 留言:0更新日期:2016-11-19 12:17
本发明专利技术公开一种数据帧预入队处理的装置及方法,其装置包括入队调度模块、总线控制模块、调度结果先入先出队列模块、入队结果先入先出队列模块、缓存分配模块、更新模块、缓存区模块。其方法实现思路为:入队调度模块向缓存分配模块预申请一个缓存地址,当数据帧到来时,总线控制模块将数据帧前64字节搬到缓存区模块中,搬移完成后,检测入队结果,若成功,将数据帧剩余部分搬进缓存区模块,更新模块更新优先级队列计数寄存器;若失败,则丢弃数据帧剩余部分。本发明专利技术提高数据帧入队处理速度,数据总线利用率。

【技术实现步骤摘要】

本专利技术属于通信
,更进一步涉及通信网络
中的一种数据帧预入队处理的装置,并使用该装置提出了预入队的处理方法,用于提高数据帧的入队速度,提高数据总线利用率,有效提升通信网络的性能。
技术介绍
队列管理技术广泛应用于路由器以及交换机中,主要负责决定是否将新来的数据包存入缓冲区模块中,并且向缓存管理模块申请缓存地址,总线控制模块通过数据总线将输入的数据帧搬进缓存区模块对应的缓存地址中,队列管理的性能高低直接影响整个路由器、交换机的速率。迈普通信技术股份有限公司申请的专利“一种基于有限深度的先进先出报文队列管理方法及装置”(申请号201210028540.1授权公告号CN 103248583 A)提出了一种报文队列管理方法及装置。该专利技术的装置包括队列管理模块、任务管理模块、任务调度模块,其中队列管理模块,用于生成有限深度的先进先出报文队列,并设置用于调度出队任务的缓存报文阈值;任务管理模块,用于判断报文队列中缓存的报文个数,当判断报文队列中有空闲时将报文入队,否则将报文丢弃;任务调度模块,用于调度报文队列。该专利技术的装置存在的不足之处在于:任务管理模块首先判断是否有空闲报文队列,得到判断结果后,才能将报文入队,会降低入队的速率。该方法分为以下几个步骤:第一,当有报文入队时,首先计算当前报文队列中缓存的报文个数。第二,入队处理模块判断当前报文队列中缓存的报文个数是否大于缓存报文阈值,若是,直接结束数据帧的入队处理,否则进行下一步。第三,将数据帧通过数据总线存入对应优先级的队列的队尾。该专利技术的方法存在的不足之处是:数据总线完全依赖入队处理模块,导致数据总线利用率低,入队的处理速度慢,难以应用于大型的交换网路中。
技术实现思路
本专利技术的目的是克服上述现有技术入队处理速度慢及数据总线利用率低的不足,提出一种数据帧预入队处理的装置及方法。本专利技术可以提高入队处理速度,提高数据总线的利用率。实现本专利技术的具体思路是:本专利技术装置的入队调度模块在数据帧预入队处理装置初始化完成后,或者上一个数据帧的处理结束时,立即向缓存分配模块申请一个可用的缓存地址,在有新数据帧到来时,总线控制模块立刻将数据帧前64字节通过数据总线搬到缓存区模块中,实现数据帧的预入队处理,将前64字节搬移完成后,检测入队结果先入先出队列模块中的数据,若为数据1,将数据帧剩余部分通过数据总线搬进缓存区模块,更新模块更新优先级队列计数寄存器;若为数据1,则丢弃数据帧剩余部分。本专利技术的装置包括入队调度模块、总线控制模块、调度结果先入先出队列模块、入队结果先入先出队列模块、缓存分配模块、更新模块、缓存区模块,入队调度模块通过控制总线与缓存分配模块相连。总线控制模块通过数据总线分别与调度结果先入先出队列模块输出端、入队结果先入先出队列模块输出端相连。入队调度模块通过数据总线分别与调度结果先入先出队列模块输入端、入队结果先入先出队列模块输入端相连。更新模块通过控制总线与总线控制模块相连。缓存区模块通过数据总线与总线控制模块相连。其中:所述入队调度模块,用于初始化完成时,或一个数据帧的处理结束时,向缓存分配模块申请一个缓存地址,写入调度结果先入先出队列模块中,提取数据帧长度、优先级,判断是否满足入队条件,当满足入队条件时,向入入队结果先入先出队列模块中写入1,继续向缓存管理模块申请剩余的缓存地址,并把缓存地址写入调度结果先入先出队列模块中,当不满足入队条件时,向入队结果先入先出队列模块中写入0;所述总线控制模块,用于读取调度结果先入先出队列模块,获取可用的空闲的缓存地址,并将数据帧的前64字节搬入缓存地址中,检测入队结果先入先出队列模块中数据,当检测到的数据为0时,判断数据帧长度是否大于64字节,若是,丢弃除了前64字节以外的数据;当检测到的数据为1时,判断数据帧长度是否大于64字节,若是,继续读取调度结果先入先出队列模块,获取到剩余的缓存地址,并将数据帧除了前64字节以外的数据搬入到剩余的缓存地址中;所述调度结果先入先出队列模块,用于存储入队调度模块向缓存分配模块申请到的缓存地址;所述入队结果先入先出队列模块,用于存储入队调度模块的判断结果,当满足判断条件数据帧长度与优先级队列总长度之和大于优先级队列的存储空间时,存储数据0,当不满足判断条件数据帧长度与优先级队列总长度之和大于优先级队列的存储空间时,存储数据1;所述缓存分配模块,用于向入队调度模块提供地址;所述更新模块,用于更新数据帧对应的优先级队列的帧数目计数寄存器;所述缓存区模块,用于存储数据帧。本专利技术预入队处理的方法,包括以下步骤:(1)申请缓存地址:入队调度模块在数据帧预入队处理装置初始化完成后,或者上一个数据帧的处理结束时,立即向缓存分配模块申请一个可用的缓存地址;(2)提供空闲地址:缓存分配模块在收到入队调度模块的地址申请后,向缓存分配模块提供一个空闲的可用的缓存地址;(3)提取数据帧长度、优先级:入队调度模块在有数据帧到来时,立即从该数据帧头部中提取数据帧长度、优先级信息;(4)写调度结果信息:入队调度模块将空闲的可用的缓存地址、数据帧长度信息写入调度结果先入先出队列模块中;(5)搬移数据帧:(5a)总线控制模块在检测到调度结果先入先出队列模块有数据时,立即读取调度结果先入先出队列模块中的调度结果信息,获取到空闲的可用的缓存地址、数据帧长度;(5b)将数据帧的前64字节数据通过数据总线搬移缓存地址中去;(6)查询队列信息:入队调度模块查询与数据帧优先级对应的优先级队列总长度、优先级队列的存储空间;(7)判断数据帧长度与优先级队列总长度之和是否大于优先级队列的存储空间,若是,则执行步骤(8),否则,执行步骤(10);(8)入队调度管理模块向入队结果先入先出队列模块中写入数据0;(9)丢弃数据帧剩余部分:(9a)总线控制模块检测到入队结果先入先出队列模块中数据为0;(9b)总线控制模块判断数据帧长度是否大于64字节,若是,则丢弃除了前64字节以外的数据后,执行步骤(15),否则,执行步骤(15);(10)入队调度管理模块向入队结果先入先出队列模块中写入数据1;(11)判断数据帧长度是否大于64字节,若是,则执行步骤(12),否则,执行步骤(15);(12)继续申请缓存地址:(12a)入队调度模块向缓存分配模块申请剩余的缓存地址;(12b)将申请到的剩余的缓存地址写进调度结果先入先出队列模块中;(13)搬移数据帧的剩余数据:当检测到入队结果先入先出队列模块中数据为1时,总线控制模块读取调度结果先入先出队列模块中的缓存地址,通过数据总线,将数据帧除了前64字节以外的数据搬移到剩余的缓存地址中;(14)更新计数寄存器:当检测到总线控制模块将数据帧搬移完时,更新模块将优先级队列的计数寄存器加1;(15)入队处理结束。本专利技术与现有技术相比具有如下优点:第一,由于本专利技术的装置在入队调度模块与总线控制模块之间加入了入队结果先入先出队列模块,用于存储入队调度结果模块判断数据帧是否能够入队的结果,使得总线控制模块可以在入队调度模块没有判断出入队结果的情况下,就通过数据总线把数据帧的前64字节搬缓存区中,然后再检测入队结果先入先出队列中的数据。克服了现有技术数据总线控制模块只有在入队调度模块判断出入队结果的情况本文档来自技高网
...
一种数据帧预入队处理的装置及方法

【技术保护点】
一种数据帧预入队处理的装置,包括入队调度模块、总线控制模块、调度结果先入先出队列模块、入队结果先入先出队列模块、缓存分配模块、更新模块、缓存区模块,其特征在于,所述的入队调度模块通过控制总线与缓存分配模块相连;所述的总线控制模块通过数据总线分别与调度结果先入先出队列模块输出端、入队结果先入先出队列模块输出端相连;所述的入队调度模块通过数据总线分别与调度结果先入先出队列模块输入端、入队结果先入先出队列模块输入端相连;所述的更新模块通过控制总线与总线控制模块相连;所述的缓存区模块通过数据总线与总线控制模块相连;其中:所述入队调度模块,用于初始化完成时,或一个数据帧的处理结束时,向缓存分配模块申请一个缓存地址,写入调度结果先入先出队列模块中,提取数据帧长度、优先级,判断是否满足入队条件,当满足入队条件时,向入入队结果先入先出队列模块中写入1,继续向缓存管理模块申请剩余的缓存地址,并把缓存地址写入调度结果先入先出队列模块中,当不满足入队条件时,向入队结果先入先出队列模块中写入0;所述总线控制模块,用于读取调度结果先入先出队列模块,获取可用的空闲的缓存地址,并将数据帧的前64字节搬入缓存地址中,检测入队结果先入先出队列模块中数据,当检测到的数据为0时,判断数据帧长度是否大于64字节,若是,丢弃除了前64字节以外的数据;当检测到的数据为1时,判断数据帧长度是否大于64字节,若是,继续读取调度结果先入先出队列模块,获取到剩余的缓存地址,并将数据帧除了前64字节以外的数据搬入到剩余的缓存地址中;所述调度结果先入先出队列模块,用于存储入队调度模块向缓存分配模块申请到的缓存地址;所述入队结果先入先出队列模块,用于存储入队调度模块的判断结果,当满足判断条件数据帧长度与优先级队列总长度之和大于优先级队列的存储空间时,存储数据0,当不满足判断条件数据帧长度与优先级队列总长度之和大于优先级队列的存储空间时,存储数据1;所述缓存分配模块,用于向入队调度模块提供地址;所述更新模块,用于更新数据帧对应的优先级队列的帧数目计数寄存器;所述缓存区模块,用于存储数据帧。...

【技术特征摘要】
1.一种数据帧预入队处理的装置,包括入队调度模块、总线控制模块、调度结果先入先出队列模块、入队结果先入先出队列模块、缓存分配模块、更新模块、缓存区模块,其特征在于,所述的入队调度模块通过控制总线与缓存分配模块相连;所述的总线控制模块通过数据总线分别与调度结果先入先出队列模块输出端、入队结果先入先出队列模块输出端相连;所述的入队调度模块通过数据总线分别与调度结果先入先出队列模块输入端、入队结果先入先出队列模块输入端相连;所述的更新模块通过控制总线与总线控制模块相连;所述的缓存区模块通过数据总线与总线控制模块相连;其中:所述入队调度模块,用于初始化完成时,或一个数据帧的处理结束时,向缓存分配模块申请一个缓存地址,写入调度结果先入先出队列模块中,提取数据帧长度、优先级,判断是否满足入队条件,当满足入队条件时,向入入队结果先入先出队列模块中写入1,继续向缓存管理模块申请剩余的缓存地址,并把缓存地址写入调度结果先入先出队列模块中,当不满足入队条件时,向入队结果先入先出队列模块中写入0;所述总线控制模块,用于读取调度结果先入先出队列模块,获取可用的空闲的缓存地址,并将数据帧的前64字节搬入缓存地址中,检测入队结果先入先出队列模块中数据,当检测到的数据为0时,判断数据帧长度是否大于64字节,若是,丢弃除了前64字节以外的数据;当检测到的数据为1时,判断数据帧长度是否大于64字节,若是,继续读取调度结果先入先出队列模块,获取到剩余的缓存地址,并将数据帧除了前64字节以外的数据搬入到剩余的缓存地址中;所述调度结果先入先出队列模块,用于存储入队调度模块向缓存分配模块申请到的缓存地址;所述入队结果先入先出队列模块,用于存储入队调度模块的判断结果,当满足判断条件数据帧长度与优先级队列总长度之和大于优先级队列的存储空间时,存储数据0,当不满足判断条件数据帧长度与优先级队列总长度之和大于优先级队列的存储空间时,存储数据1;所述缓存分配模块,用于向入队调度模块提供地址;所述更新模块,用于更新数据帧对应的优先级队列的帧数目计数寄存器;所述缓存区模块,用于存储数据帧。2.一种数据帧预入队处理的方法,包括以下步骤:(1)申请缓存地址:入队调度模块在数据帧预入队处理装置初始化完成后,或者上一个数据帧的处理结束时,立即向缓存分配模块申请一个可用...

【专利技术属性】
技术研发人员:邱智亮许晶刘春锐张之义周姬茹潘伟涛鲍民权
申请(专利权)人:西安电子科技大学中国电子科技集团公司第五十四研究所
类型:发明
国别省市:陕西;61

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

1