【技术实现步骤摘要】
本专利技术涉及计算机通信
,更具体地说,涉及一种支持多任务的BIOS(Basic Input Output System,基本输入输出系统)运行方法及BIOS芯片。
技术介绍
BIOS是一组固化到计算机内主板上一个ROM (Read-Only Memory,只读内存)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序;其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。通常情况下,BIOS是在计算机开机的时候运行,在计算机开机时,BIOS将进行计算机的自检,自检完成后,BIOS调入开机启动程序,通过开机启动程序,将计算机的控制权交由计算机的操作系统。目前,BIOS的运行过程主要分为四个阶段:SEC (Security,安全启动阶段),PEI(Pre EFI Initialization Environment,早期 EFI 初始化阶段),DXE (Driver ExecutionEnvironment,驱动执行阶段)和RT (Run Time OS,运行阶段)。专利技术人在实现本专利技术的过程中发现:现有的BIOS只能运行在BSP (board supported package,板极支持包)上,即上述的SEC,PEI,DXE和RT这四个阶段均只能在BSP上运行,这使得无论计算机系统有多少个CPU,都无法在BIOS环境下支持多任务的运行,使得BIOS运行过程中的任务处理效率大大降低。
技术实现思路
有鉴于此,本专利技术实施例提供一种支持多任务的BIOS运行方法及BIOS芯片,以解决现有的BIOS只 ...
【技术保护点】
一种支持多任务的BIOS运行方法,其特征在于,包括:在BIOS运行过程中,确定当前BIOS运行阶段对应的调度器;使用所述调度器调取与当前BIOS运行阶段对应的驱动Driver调用程序;使用所述Driver调用程序,将当前BIOS运行阶段中符合预设条件的Driver放入多核CPU,在多个CPU核心上运行多个当前BIOS运行阶段对应的Driver。
【技术特征摘要】
1.一种支持多任务的BIOS运行方法,其特征在于,包括: 在BIOS运行过程中,确定当前BIOS运行阶段对应的调度器; 使用所述调度器调取与当前BIOS运行阶段对应的驱动Driver调用程序; 使用所述Driver调用程序,将当前BIOS运行阶段中符合预设条件的Driver放入多核CPU,在多个CPU核心上运行多个当前BIOS运行阶段对应的Driver。2.根据权利要求1所述的方法,其特征在于,当前BIOS运行阶段为PEI阶段;所述确定当前BIOS运行阶段对应的调度器包括:确定PEI阶段对应的PEI调度器Dispatcher ; 所述使用所述调度器调取与当前BIOS运行阶段对应的Driver调用程序包括: 使用所述PEI Dispatcher调取PEI Driver调用接口 PPI ; 所述使用所述Driver调用程序,将当前BIOS运行阶段中符合预设条件的Driver放入多核CPU包括: 使用所述PPI将PEI阶段中符合预设条件的PEI Driver放入多核CPU。3.根据权利要求2所述的方法,其特征在于,所述使用所述PPI将PEI阶段中符合预设条件的PPI Driver放入多核CPU包括: 通过PEI服务列表获取待运行PEI Driver的标识Guid ; 将所述Guid对应的待运行PEI Driver中符合预设条件的PEI Driver放入多核CPU,在多个CPU核心上运行符合预设条件的PEI Driver,得到运行的PEI Driver的任务身份标识ID,向所述PEI服务列表返回所述任务ID。4.根据权利要求3所述的方法,在向PEI服务列表返回所述任务ID时还包括:向PEI服务列表返回所述任务ID对应的PEI Driver在多核CPU上的运行状态; 所述方法还包括: 通过所述PEI服务列表获取运行的PEI Driver的任务ID,获取所述任务ID中指定任务ID对应的PEI Driver的运行状态;或, 对所述任务ID中指定任务ID对应的PEI Driver的运行状态进行控制,在所述多核CPU调整所述指定任务ID对应的PEI Driver的运行状态后,向所述PEI服务列表返回所述指定任务ID对应的PEI Driver调整后的运行状态;或, 通过所述PEI服务列表获取当前运行的PEI Driver的任务列表,所述任务列表包括放置在多核CPU上的PEI Driver的任务ID及对应的任务运行状态,在指定的缓冲区缓冲所述任务列表。5.根据权利要求1所述的方法,其特征在于,当前BIOS运行阶段为DXE阶段;所述确定当前BIOS运行阶段对应的调度器包括:确定DXE阶段对应的DXE调度器Dispatcher ; 所述使用所述调度器调取与当前BIOS运行阶段对应的Driver调用程序包括: 使用所述 DXE Dispatcher 调取 DXE Driver 调用协议 Protocol ; 所述使用所述Driver调用程序,将当前BIOS运行阶段中符合预设条件的Driver放入多核CPU包括: 使用所述Protocol将DXE阶段符合预设条的DXE Driver放入多核CPU。6.根据权利要求5所述的方法,其特征在于,所述使用所述Protocol将DXE阶段符合预设条的DXE Driver放入多核CPU包括: 获取待运行DXE Driver的标识Guid ;将所述Guid对应的待运行DXE Driver中符合预设条件的DXE Driver放入多核CPU,在多个CPU核心上运行符合预设条件的DXE Drive,得到运行的DXE Driver的任务身份标识ID,返回所述任务ID。7.根据权利要求6所述的方法,其特征在于,在返回所述任务ID的同时还包括:返回所述任务ID对应的DXE Driver在多核CPU上的运行状态; 所述方法还包括: 获取所述任务ID中指定任务ID对应的DXE Driver的运行状态;或, 对所述任务ID中指定任务ID对应的DXE Driver的运行状态进行控制,在所述多核CPU调整所述指定任务ID对应的DXE Driver的运行状态后,返回所述指定任务ID对应的DXE Driver调整后的运行状态;或, 获取运行的DXE Driver的任务列表,所述任务列表包括放置在多核CPU上的DXEDriver的任务ID及对应的任务运行状态,在指定的缓冲区缓冲所述任务列表。8.根据权利要求1至7任一项所述的方法,其特征在于,所述符合预设条件的Driver包括:与预置的BIOS通知任务表中设定的,在当前BIOS运行阶段放入多核CPU的Driver对应的Driver,所述BIOS通知任务表携带有各BIOS运行阶段需要放入多核CPU的Driver信息;或,当前BIOS运行阶段全部的Driver。9.根据权利要求1至7任一项所述的方法,其特征在于,还包括: 利用BSP通过高级可编程中断控制器APIC总线向多核CPU广播启动内部处理器中断SIPI信息,以初始化多核CPU的各核心。10.一种BIOS芯片,其特征在于,包括:调度器确定模块,与所述调度器确定模块相连的程序调用模块,与所述程序调用模块相连的任务分配模块; 所...
【专利技术属性】
技术研发人员:郑红文,
申请(专利权)人:合肥联宝信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。