[发明专利]一种可配置多优先级调度方法有效
申请号: | 201510930459.6 | 申请日: | 2015-12-12 |
公开(公告)号: | CN105376177B | 公开(公告)日: | 2018-07-03 |
发明(设计)人: | 田泽;张荣华;郭亮;刘浩;张亮 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | H04L12/865 | 分类号: | H04L12/865 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 王少文 |
地址: | 710065 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可配置 优先级调度 调度 电路实现 轮询调度 网络通信 队列 相等 应用 灵活 配置 拓展 | ||
本发明涉及一种可配置多优先级调度方法,本发明通过采用可配置优先级和循环优先级,既实现了优先级可配置,按配置优先级进行调度,又解决了当多个队列优先级相等时公平轮询调度的问题,调度方法简单,易于拓展,电路实现灵活,可应用在网络通信等应用中。
技术领域
本发明属于计算机硬件技术,涉及一种可配置多优先级调度方法及电路。
背景技术
在网络通信中经常涉及可配置优先级的多个队列的调度,传统调度方法限定于固定优先级与队列,或者优先级等级限定为高低两个等级,低优先级共享1个高优先级调度窗口,对于复杂可变的,多优先级等级的调度,主要通过软件实现,无法在电路设计中进行集成。
发明内容
本发明的目的是提供一种可配置多优先级调度方法及电路,通过采用配置优先级和循环优先级,有效解决可配置、多优先级队列的调度电路的设计。
本发明的技术解决方案是:
一种可配置多优先级调度方法,包括以下步骤:
1)构建混合优先级变量
1.1)采用二进制编码,给所有参与调度的队列分别配置一个独立的配置优先级变量;采用二进制编码,给所有参与调度的队列分别分配一个默认的初始循环优先级变量;所述循环优先级变量的编码从0依次递增,每个队列的初始循环优先级不相等;
1.2)将每一个队列的配置优先级变量和循环优先级变量接连,合并成该队列参与调度的混合优先级变量;如果某个队列不参与调度,则该队列混合优先级变量输出为全0;
2)将所有队列的混合优先级变量按二级制逐位进行或运算,构成M位线或优先级变量;所述M为混合优先级变量的二级制编码的位数;所述线或优先级变量为
PRI_WOR[M-1],PRI_WOR[M-2],PRI_WOR[M-3],……,PRI_WOR[0];
3)构建仲裁优先级变量并赋值
3.1)构建M位仲裁优先级变量,其初始值全为0;
3.2)如果线或优先级变量的[M-1]位为1,则将仲裁优先级变量的[M-1]位赋值为1,其余位保持不变;
3.3)将每个队列的混合优先级变量与仲裁优先级变量进行比较:若混合优先级变量大于等于仲裁优先级变量,则该队列的混合优先级变量不变;若混合优先级变量小于仲裁优先级变量,则该队列的混合优先级变量输出为0;
3.4)按照步骤3.2至3.3的方法,依次判断[M-1]位,[M-2]位,[M-3]位,直至[0]位,则仲裁优先级变量赋值完毕;该仲裁优先级变量所对应的队列即为优先级最高;
3.5)对该队列调度处理;
4)更新优先级变量:
4.1)设已被服务的队列的循环优先级变量为N,则比N大的队列的循环优先级变量不变,已被服务的队列的循环优先级变量更新为0,比N小的队列的循环优先级变量均加1;
4.2)将仲裁优先级变量更新为全0;
5)重复步骤3和步骤4,进行下一次调度。
其中,步骤1.1中不同队列的配置优先级变量相同或者不相同。
步骤3.4)中,若赋值过程中,剩余队列的混合优先级变量均已为0,则仲裁优先级变量赋值完毕。
本发明的有益效果:
1、本发明调度的目标就是在所有参与调度的队列中找出优先级唯一的、最高的混合优先级编号,也就是仲裁优先级编号ARB_PRI以及对应的队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510930459.6/2.html,转载请声明来源钻瓜专利网。