【技术实现步骤摘要】
一种基于任务调度的芯片端口配置方法与装置
本专利技术属于交换芯片软件配置
,更具体地,涉及一种基于任务调度的芯片端口配置方法与装置。
技术介绍
交换芯片的端口配置是一种常见的芯片软件配置,在芯片运行前需要根据设备的需要将端口配置成需要的数量和类型。随着交换芯片带宽的增加,端口类型需要支持的数量和种类也在持续增加,目前支持的端口类型主要有1G、5G、10G、25G、40G、50G、100G等。而芯片端口又主要有多媒体访问控制器(MediaAccessController,简写为MAC)、物理编码子层(PhysicalCodingSublayer,简写为PCS)以及串行和解串行编码解码(Serializer/deserializer,简写为Serdes)这三大类相关模块需要配置,每一类模块下又包括对应类型的多个小模块,模块与模块之间还存在部分关联的关系。在当前的设备中,交换芯片的端口配置方法方案中多采取的是顺序配置,即按照一定的顺序直接配置;例如,先配置Serdes模块相关配置,再配置Pcs模块相关配置,最后再配置Mac模块相关配置。如图1所示,假设Serdes类的小模块有n1个,Pcs类的小模块有n2个,Mac类的小模块有n3个,则对于每个端口来说,均需要先配置Serdes类的n1个小模块相关配置,再配置Pcs类的n2个小模块相关配置,最后再配置Mac类的n3个小模块相关配置。假设总共需要进行多个端口的配置,则端口列表中记录了这多个端口,配置时需要按照上述方法依次对端口列表中的每个端口进行相关配置,直至端 ...
【技术保护点】
1.一种基于任务调度的芯片端口配置方法,其特征在于,包括:/n根据用户设置的端口类型确定对象映射从属关系,并根据所述对象映射从属关系和用户设置的端口数量,创建芯片端口各模块的相应对象;/n根据用户设置的配置类型和资源类型为对应的对象创建一个用户任务并放入任务队列,在所述用户任务的基础上根据所述对象映射从属关系为各对象创建不同的子任务并放入任务队列;/n通过轮询调度方式不断从所述任务队列中取出任务并执行,实现各对象的相关配置,直至所述用户任务执行结束时完成芯片端口配置。/n
【技术特征摘要】
1.一种基于任务调度的芯片端口配置方法,其特征在于,包括:
根据用户设置的端口类型确定对象映射从属关系,并根据所述对象映射从属关系和用户设置的端口数量,创建芯片端口各模块的相应对象;
根据用户设置的配置类型和资源类型为对应的对象创建一个用户任务并放入任务队列,在所述用户任务的基础上根据所述对象映射从属关系为各对象创建不同的子任务并放入任务队列;
通过轮询调度方式不断从所述任务队列中取出任务并执行,实现各对象的相关配置,直至所述用户任务执行结束时完成芯片端口配置。
2.如权利要求1所述的基于任务调度的芯片端口配置方法,其特征在于,当用户设置的资源类型为A时,为对应的对象A创建所述用户任务,则在所述端口数量为1的情况下,从所述任务队列中取出所述用户任务后,对应的执行方法包括:
根据所述对象映射从属关系和用户设置的配置类型,创建一个与对象B相关的子任务并放入所述任务队列;其中,所述对象B从属于所述对象A;
根据用户设置的配置类型对所述对象A进行相关配置,如果需要和芯片硬件进行寄存器交互,则创建交易相关的子任务并放入所述任务队列;
当所述对象A的相关配置完成时,创建一个用于查询所述对象B的相关配置是否完成的定时子任务并放入调度队列;其中,当查询到所述对象B的相关配置完成时,表示所述用户任务执行结束,完成芯片端口配置。
3.如权利要求2所述的基于任务调度的芯片端口配置方法,其特征在于,所述如果需要和芯片硬件进行寄存器交互,则创建交易相关的子任务并放入任务队列,具体为:
如果所述对象A需要和芯片硬件进行寄存器交互,则创建一个交易并放入交易队列,并将所述对象A的状态置位为等待硬件同步的标志位;
当芯片硬件的相应消息通过软件开发包上送时,从所述交易队列中取出该交易,然后根据该交易创建交易相关的子任务并放入所述任务队列;
当通过轮询调度方式从所述任务队列中取出交易相关的该子任务时,通过执行该子任务完成与芯片硬件的交易同步,并将所述对象A的状态置位为可继续配置状态,继续完成所述对象A的相关配置。
4.如权利要求2所述的基于任务调度的芯片端口配置方法,其特征在于,在所述创建一个用于查询所述对象B的相关配置是否完成的定时子任务并放入调度队列之后,所述方法还包括:
根据调度时间从所述调度队列中取出该定时子任务,并将该定时子任务放入所述任务队列中等待调度执行;
当从所述任务队列中取出该定时子任务执行时,如果返回结...
【专利技术属性】
技术研发人员:何彪,
申请(专利权)人:烽火通信科技股份有限公司,武汉飞思灵微电子技术有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。