《启动方法、装置、设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《启动方法、装置、设备及存储介质.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310572074.1(22)申请日 2023.05.19(71)申请人 深圳砺驰半导体科技有限公司地址 518118 广东省深圳市坪山区坑梓街道秀新社区坑梓中兴路14号A栋101(72)发明人 李楠(74)专利代理机构 北京乐知新创知识产权代理事务所(普通合伙)11734专利代理师 周伟(51)Int.Cl.G06F 9/4401(2018.01)G06F 21/57(2013.01)(54)发明名称一种启动方法、装置、设备及存储介质(57)摘要本公开提供了一种启动方法、装置、设备及存储介。
2、质,所述方法包括:当多核异构芯片的第一处理器核从目标存储介质中获取第一预加载启动数据和第一启动数据之后,根据第一启动数据启动第一软件系统,并将第一预加载启动数据发送至多核异构芯片的第二处理器核,在第一处理器核将目标存储介质的控制器的控制权限释放给第二处理器核后,第二处理器核接收第一预加载启动数据,并根据第一预加载启动数据启动第二软件系统,采用该方法,可以通过切换多核异构芯片中各个处理器核对目标存储介质的控制器的控制权限,分批次从目标存储介质加载不同软件系统的启动数据实现软件系统的启动,解决了软件系统启动效率低的问题。权利要求书2页 说明书12页 附图3页CN 116610370 A2023.0。
3、8.18CN 116610370 A1.一种启动方法,其特征在于,应用于多核异构芯片,所述多核异构芯片的每个处理器核与该处理器核所连接的硬件资源构成一个硬件域,所述多核异构芯片中的各个硬件域之间存在物理隔离,所述方法包括:所述多核异构芯片的第一处理器核获取目标存储介质在所述多核异构芯片中对应的控制器的控制权限,基于所述控制权限控制所述控制器从所述目标存储介质中读取第一预加载启动数据和第一启动数据,并根据所述第一启动数据启动第一软件系统,将所述第一预加载启动数据发送至所述多核异构芯片的第二处理器核,其中,所述第一软件系统为被配置部署于所述第一处理器核上的软件系统,所述第一处理器核和所述第二处理器。
4、核为架构不同的处理器核,所述第一处理器核所在的硬件域为所述多核异构芯片中的安全域;在所述第一处理器核将所述控制权限释放给所述第二处理器核后,所述第二处理器核接收所述第一预加载启动数据,并根据所述第一预加载启动数据启动第二软件系统,其中,所述第二软件系统为被配置部署于所述第二处理器核上的软件系统。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一预加载启动数据启动第二软件系统,包括:基于所述第一预加载启动数据对第二软件系统进行预启动;所述第二处理器核基于所述控制权限从所述目标存储介质中获取剩余的第二启动数据;根据所述第二启动数据完成针对所述第二软件系统的启动。3.根据权利要求1所述的方法。
5、,其特征在于,所述目标存储介质为所述多核异构芯片的各个处理器核共同对应的存储单元。4.根据权利要求1所述的方法,其特征在于,所述基于所述控制权限,控制所述控制器从所述目标存储介质中读取第一预加载启动数据和第一启动数据,包括:从所述目标存储介质中各个存储数据分区中确定目标存储数据分区;根据所述控制权限,控制所述控制器从所述目标存储数据分区中读取所述第一预加载启动数据和所述第一启动数据。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述多核异构芯片的第N1处理器核,基于所述控制权限从所述目标存储介质中获取第二预加载启动数据,并将所述第二预加载启动数据发送至第N处理器核,其中,N为大于2。
6、的整数;在监测到所述第N1处理器核将所述控制权限释放给所述第N处理器核后,所述第N处理器核根据所述第二预加载启动数据启动第N软件系统,其中,所述第N软件系统为被配置部署于所述第N处理器核上的软件系统,所述第N1处理器核和所述第N处理器核为架构不同的处理器核。6.根据权利要求1所述的方法,其特征在于,在所述第一处理器核将所述控制权限释放给所述第二处理器核之前,所述方法还包括:所述第一处理器核根据所述控制权限从所述目标存储介质中获取第三预加载启动数据,并将所述第三预加载启动数据发送至所述多核异构芯片的第N处理器核,其中,N为大于2的整数;在所述根据所述第一预加载启动数据启动第二软件系统之后,所述方。
7、法还包括:权利要求书1/2 页2CN 116610370 A2第N1处理器核将所述控制权限释放给所述第N处理器核;所述第N处理器核根据所述第三预加载启动数据启动第三软件系统,其中,所述第三软件系统为被配置部署于所述第N处理器核上的软件系统,所述第N1处理器核和所述第N处理器核为架构不同的处理器核。7.根据权利要求1所述的方法,其特征在于,所述将所述第一预加载启动数据发送至所述多核异构芯片的第二处理器核,包括:所述第一处理器核将所述第一预加载启动数据存储至指定内存,并将所述指定内存的存储地址发送至所述多核异构芯片的第二处理器核;所述第二处理器核接收所述第一预加载启动数据,包括:所述第二处理器核接。
8、收所述存储地址,并基于所述存储地址调取所述第一预加载启动数据。8.根据权利要求17任一项所述的方法,其特征在于,所述方法还包括:针对所述多核异构芯片的每个处理器核,该处理器核在获取到所述控制权限后,根据所述控制权限初始化所述目标存储介质。9.一种启动装置,其特征在于,应用于多核异构芯片,所述多核异构芯片的每个处理器核与该处理器核所连接的硬件资源构成一个硬件域,所述多核异构芯片中的各个硬件域之间存在物理隔离,所述装置包括:第一启动模块,用于所述多核异构芯片的第一处理器核获取目标存储介质在所述多核异构芯片中对应的控制器的控制权限,基于所述控制权限控制所述控制器从所述目标存储介质中读取第一预加载启动。
9、数据和第一启动数据,并根据所述第一启动数据启动第一软件系统,将所述第一预加载启动数据发送至所述多核异构芯片的第二处理器核,其中,所述第一软件系统为被配置部署于所述第一处理器核上的软件系统,所述第一处理器核和所述第二处理器核为架构不同的处理器核,所述第一处理器核所在的硬件域为所述多核异构芯片中的安全域;第二启动模块,用于在所述第一处理器核将所述控制权限释放给所述第二处理器核后,所述第二处理器核接收所述第一预加载启动数据,并根据所述第一预加载启动数据启动第二软件系统,其中,所述第二软件系统为被配置部署于所述第二处理器核上的软件系统。10.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至。
10、少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求18中任一项所述的方法。11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求18中任一项所述的方法。权利要求书2/2 页3CN 116610370 A3一种启动方法、装置、设备及存储介质技术领域0001本公开涉及信息交互技术领域,尤其涉及一种启动方法、装置、设备及存储介质。背景技术0002SoC(System on Chip,片上系统)芯片通常使用EMMC(Embedded Mult。
11、i Media Card,内嵌式存储器)作为存储介质以进行系统启动操作。对于部署于多核芯片的各个软件系统的启动问题,由于多核芯片上的EMMC控制器通常被固定于多核芯片中的一个处理器核上,因此,当需要启动部署于多核芯片不同处理器核上的各个软件系统时,需要在EMMC控制器从属的处理器核上利用EMMC同时完成多核芯片中所有软件系统的加载,进而实现部署于多核芯片的多个软件系统的启动。其中,多核芯片是指具有多个处理器核的芯片。0003然而,有些部署于多核芯片上的软件系统比较复杂庞大,采用现有的多核芯片的软件系统启动方法同时启动这些软件系统需要很大的内存需求。而EMMC由于很难满足同时启动这些软件系统所需。
12、要的内存需求,因此,会导致软件系统启动效率变低。0004所以,如何提高多核芯片上软件系统的启动效率成为了一个亟待解决的问题。发明内容0005本公开提供了一种启动方法、装置、设备及存储介质,以至少解决现有技术中存在的以上技术问题。0006根据本公开的第一方面,提供了一种启动方法,应用于多核异构芯片,所述多核异构芯片的每个处理器核与该处理器核所连接的硬件资源构成一个硬件域,所述多核异构芯片中的各个硬件域之间存在物理隔离,所述方法包括:0007所述多核异构芯片的第一处理器核获取目标存储介质在所述多核异构芯片中对应的控制器的控制权限,基于所述控制权限控制所述控制器从所述目标存储介质中读取第一预加载启动。
13、数据和第一启动数据,并根据所述第一启动数据启动第一软件系统,将所述第一预加载启动数据发送至所述多核异构芯片的第二处理器核,其中,所述第一软件系统为被配置部署于所述第一处理器核上的软件系统,所述第一处理器核和所述第二处理器核为架构不同的处理器核,所述第一处理器核所在的硬件域为所述多核异构芯片中的安全域;0008在所述第一处理器核将所述控制权限释放给所述第二处理器核后,所述第二处理器核接收所述第一预加载启动数据,并根据所述第一预加载启动数据启动第二软件系统,其中,所述第二软件系统为被配置部署于所述第二处理器核上的软件系统。0009在一可实施方式中,所述根据所述第一预加载启动数据启动第二软件系统,包。
14、括:0010基于所述第一预加载启动数据对第二软件系统进行预启动;0011所述第二处理器核基于所述控制权限从所述目标存储介质中获取剩余的第二启动数据;0012根据所述第二启动数据完成针对所述第二软件系统的启动。说明书1/12 页4CN 116610370 A40013在一可实施方式中,所述目标存储介质为所述多核异构芯片的各个处理器核共同对应的存储单元。0014在一可实施方式中,所述基于所述控制权限,控制所述控制器从所述目标存储介质中读取第一预加载启动数据和第一启动数据,包括:0015从所述目标存储介质中各个存储数据分区中确定目标存储数据分区;0016根据所述控制权限,控制所述控制器从所述目标存储。
15、数据分区中读取所述第一预加载启动数据和所述第一启动数据。0017在一可实施方式中,所述方法还包括:0018所述多核异构芯片的第N1处理器核,基于所述控制权限从所述目标存储介质中获取第二预加载启动数据,并将所述第二预加载启动数据发送至所述第N处理器核,其中,N为大于2的整数;0019在监测到所述第N1处理器核将所述控制权限释放给所述第N处理器核后,所述第N处理器核根据所述第二预加载启动数据启动第N软件系统,其中,所述第N软件系统为被配置部署于所述第N处理器核上的软件系统,所述第N1处理器核和所述第N处理器核为架构不同的处理器核。0020在一可实施方式中,在所述第一处理器核将所述控制权限释放给所述。
16、第二处理器核之前,所述方法还包括:0021所述第一处理器核根据所述控制权限从所述目标存储介质中获取第三预加载启动数据,并将所述第三预加载启动数据发送至所述多核异构芯片的第N处理器核,其中,N为大于2的整数;0022在所述根据所述第一预加载启动数据启动第二软件系统之后,所述方法还包括:0023第N1处理器核将所述控制权限释放给所述第N处理器核;0024所述第N处理器核根据所述第三预加载启动数据启动第三软件系统,其中,所述第三软件系统为被配置部署于所述第N处理器核上的软件系统,所述第N1处理器核和所述第N处理器核为架构不同的处理器核。0025在一可实施方式中,所述将所述第一预加载启动数据发送至所述。
17、多核异构芯片的第二处理器核,包括:0026所述第一处理器核将所述第一预加载启动数据存储至指定内存,并将所述指定内存的存储地址发送至所述多核异构芯片的第二处理器核;0027所述第二处理器核接收所述第一预加载启动数据,包括:0028所述第二处理器核接收所述存储地址,并基于所述存储地址调取所述第一预加载启动数据。0029在一可实施方式中,所述方法还包括:0030针对所述多核异构芯片的每个处理器核,该处理器核在获取到所述控制权限后,根据所述控制权限初始化所述目标存储介质。0031根据本公开的第二方面,提供了一种启动装置,其特征在于,应用于多核异构芯片,所述多核异构芯片的每个处理器核与该处理器核所连接的。
18、硬件资源构成一个硬件域,所述多核异构芯片中的各个硬件域之间存在物理隔离,所述装置包括:0032第一启动模块,用于所述多核异构芯片的第一处理器核获取目标存储介质在所述说明书2/12 页5CN 116610370 A5多核异构芯片中对应的控制器的控制权限,基于所述控制权限控制所述控制器从所述目标存储介质中读取第一预加载启动数据和第一启动数据,并根据所述第一启动数据启动第一软件系统,将所述第一预加载启动数据发送至所述多核异构芯片的第二处理器核,其中,所述第一软件系统为被配置部署于所述第一处理器核上的软件系统,所述第一处理器核和所述第二处理器核为架构不同的处理器核,所述第一处理器核所在的硬件域为所述多。
19、核异构芯片中的安全域;0033第二启动模块,用于在所述第一处理器核将所述控制权限释放给所述第二处理器核后,所述第二处理器核接收所述第一预加载启动数据,并根据所述第一预加载启动数据启动第二软件系统,其中,所述第二软件系统为被配置部署于所述第二处理器核上的软件系统。0034根据本公开的第三方面,提供了一种电子设备,包括:0035至少一个处理器;以及0036与所述至少一个处理器通信连接的存储器;其中,0037所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。0038根据本公开的第四方面,提供了一种存储有计算机指令的非瞬。
20、时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。0039采用本公开的启动方法、装置、设备及存储介质,多核异构芯片的第一处理器核获取目标存储介质在多核异构芯片中对应的控制器的控制权限,基于控制权限控制控制器从目标存储介质中读取第一预加载启动数据和第一启动数据,并根据第一启动数据启动第一软件系统,将第一预加载启动数据发送至多核异构芯片的第二处理器核,在第一处理器核将目标存储介质的控制器的控制权限释放给第二处理器核后,第二处理器核接收第一预加载启动数据,并根据第一预加载启动数据启动第二软件系统,其中,第一软件系统为被配置部署于第一处理器核上的软件系统,第二软件系统为被配置部。
21、署于第二处理器核上的软件系统,第一处理器核和第二处理器核为架构不同的处理器核。即本公开中,对于被配置部署于多核芯片各个处理器核上复杂庞大的各个软件系统,可以通过切换多核异构芯片中各个处理器核对目标存储介质的控制器的控制权限,分批次从目标存储介质加载不同软件系统的启动数据实现软件系统的启动,这不仅提高了存储设备的可操作性增加了软件系统启动方式的灵活性,也解决了由于存储设备难以满足同时启动多个复杂软件系统所需要的内存需求导致软件系统启动效率低的问题。0040应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易。
22、理解。附图说明0041通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:0042在附图中,相同或对应的标号表示相同或对应的部分。0043图1示出了本公开实施例提供的启动方法的一种实现流程示意图;说明书3/12 页6CN 116610370 A60044图2示出了本公开实施例提供的启动方法的另一种实现流程示意图;0045图3示出了本公开实施例提供的启动装置的一种结构示意图;0046图4示出了本公开实施例一种电子设备的组成结构示意图。具体实施方式0047为使本公开的目的、特征、优点能。
23、够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。0048由于EMMC由于很难满足同时启动多核芯片的多个软件系统所需要的内存需求,导致软件系统启动效率变低。因此,为了提高多核芯片上软件系统的启动效率,本公开提供了一种启动方法、装置、设备及存储介质。本公开提供的额方法应用于多核异构芯片,多核异构芯片包括至少两个架构不同的处理器核,每个处理器核对应一个软件系统。每个处理器核与该处。
24、理器核所连接的硬件资源构成一个硬件域,多核异构芯片中的各个硬件域之间存在物理隔离,多核异构芯片的每个硬件域上部署有一个软件系统,处理器核具体可以为CPU Cluster(中央处理器群集),硬件资源可以包括中断控制器、时钟控制器和内存空间等。0049下面将结合本公开实施例中的附图,对本公开实施例的技术方案进行描述。0050图1示出了本公开实施例提供的启动方法的一种实现流程示意图,如图1所示,所述方法应用于多核异构芯片,所述方法包括:0051S101,所述多核异构芯片的第一处理器核获取目标存储介质在所述多核异构芯片中对应的控制器的控制权限,基于所述控制权限控制所述控制器从所述目标存储介质中读取第一。
25、预加载启动数据和第一启动数据,并根据所述第一启动数据启动第一软件系统,并将所述第一预加载启动数据发送至所述多核异构芯片的第二处理器核。0052其中,所述第一软件系统为被配置部署于所述第一处理器核上的软件系统,所述第一处理器核和所述第二处理器核为架构不同的处理器核,所述多核异构芯片的每个处理器核与该处理器核所连接的硬件资源构成一个硬件域,所述多核异构芯片中的各个硬件域之间存在物理隔离,所述第一处理器核所在的硬件域为所述多核异构芯片中的安全域。0053本步骤中,在读取到第一预加载启动数据和第一启动数据之后,第一处理器核可以通过运行第一启动数据,启动第一软件系统。并在启动第一软件系统的过程中,将目标。
26、存储介质的控制器的控制权限释放给第二处理器核。0054本公开中,不同处理器核之间通过多核异构的核间通信程序传输数据。0055在一种可能的实施方式中,所述第一处理器核可以通过多核异构芯片的核间通信程序,将第一预加载启动数据发送至所述第二处理器核。0056在另一种可能的实施方式中,所述第一处理器核可以将所述第一预加载启动数据存储至指定内存,并将所述指定内存的存储地址发送至所述多核异构芯片的第二处理器核,具体的,所述第一处理器核可以通过核间通信程序将所述指定内存的存储地址发送至所述多核异构芯片的第二处理器核。第二处理器核在接收到所述存储地址后,可以基于所述存储地址调取所述第一预加载启动数据。其中,指。
27、定内存是多核异构芯片中不容易被破坏的内存。说明书4/12 页7CN 116610370 A70057S102,在所述第一处理器核将所述控制权限释放给所述第二处理器核后,所述第二处理器核接收所述第一预加载启动数据,并根据所述第一预加载启动数据启动第二软件系统。0058其中,所述第二软件系统为被配置部署于所述第二处理器核上的软件系统。0059本公开中,若第二处理器核通过核间通信程序接收到了第一处理器核发送的第一预加载启动数据,则可以直接根据第一预加载启动数据启动第二软件系统;若第二处理器核通过核间通信程序接收到了第一处理器核发送的指定内存的存储地址,则可以根据存储地址从指定内存中调取第一预加载启动。
28、数据,然后根据第一预加载启动数据启动第二软件系统。0060如果第二处理器核在启动第二软件系统的过程中发生了故障需要重新启动第二软件系统时,可以根据指定内存的存储地址重新从指定内存中调取第一预加载启动数据,然后根据第一预加载启动数据重新启动第二软件系统。0061本步骤中,如果第一预加载启动数据包括启动第二软件系统的全部数据,则可以根据第一预加载启动数据对第二软件系统进行完全启动。0062如果第一预加载启动数据不包括启动第二软件系统的全部数据,则所述根据所述第一预加载启动数据启动第二软件系统,可以包括步骤A1A3:0063步骤A1,基于所述第一预加载启动数据对第二软件系统进行预启动。0064具体的。
29、,第二处理器核可以运行第一预加载启动数据实现对第二软件系统的预启动。0065步骤A2,所述第二处理器核基于所述控制权限从所述目标存储介质中获取剩余的第二启动数据。0066在预启动第二软件系统的过程中或者完成对第二软件系统的预启动后,第二处理器核可以利用控制权限,控制控制器从目标存储介质中读取剩余的第二启动数据。0067步骤A3,根据所述第二启动数据完成针对所述第二软件系统的启动。0068在读取到剩余的第二启动数据后,第二处理器核可以运行第二启动数据,完成对第二软件系统的启动。0069本公开中,由于多核异构芯片中拥有控制器的控制权限的处理器核所在的硬件域通常为安全域,因此,当前拥有控制权限的处理。
30、器核在将控制权限释放给多核异构芯片中下一个处理器核时需要确定下一个处理器核所在的硬件域是否为安全域,如果是,可以将控制权限释放给下一个处理器核。例如,第一处理器核需要确定第二处理器核所在的硬件域是否为安全域,如果第二处理器核所在的硬件域为安全域,则第一处理器核可以将控制器的控制权限释放给第二处理器核,如果第二处理器核所在的硬件域不是安全域,则第一处理器核不能将控制器的控制权限释放给第二处理器核,此时第一处理器核可以将控制器的控制权限释放给多核异构芯片其他硬件域为安全域的处理器核。0070采用本公开的启动方法、装置、设备及存储介质,多核异构芯片的第一处理器核获取目标存储介质在多核异构芯片中对应的。
31、控制器的控制权限,基于控制权限控制控制器从目标存储介质中读取第一预加载启动数据和第一启动数据,并根据第一启动数据启动第一软件系统,将第一预加载启动数据发送至多核异构芯片的第二处理器核,在第一处理器核将目标存储介质的控制器的控制权限释放给第二处理器核后,第二处理器核接收第一预加说明书5/12 页8CN 116610370 A8载启动数据,并根据第一预加载启动数据启动第二软件系统,其中,第一软件系统为被配置部署于第一处理器核上的软件系统,第二软件系统为被配置部署于第二处理器核上的软件系统,第一处理器核和第二处理器核为架构不同的处理器核。即本公开中,对于被配置部署于多核芯片各个处理器核上复杂庞大的各。
32、个软件系统,可以通过切换多核异构芯片中各个处理器核对目标存储介质的控制器的控制权限,分批次从目标存储介质加载不同软件系统的启动数据实现软件系统的启动,这不仅提高了存储设备的可操作性增加了软件系统启动方式的灵活性,也解决了由于存储设备难以满足同时启动多个复杂软件系统所需要的内存需求导致软件系统启动效率低的问题。0071本公开中,目标存储介质中存储有用于启动各个软件系统的启动数据。目标存储介质具体可以为EMMC(Embedded Multi Media Card,嵌入式存储器)。多核异构芯片中配置有目标存储介质的控制器,多核异构芯片的各个处理器核可以通过控制器控制是否从目标存储介质中读取数据。而目。
33、标存储介质的控制器一般固定于多核异构芯片中的一个处理器核上,如果各个处理器核需要利用控制器控制从目标存储介质中读取数据,则需要先获取控制器的控制权限。目标存储介质可以为多核异构芯片的各个处理器核共同对应的一个存储单元。0072控制器的初始控制权限可以被配置给多核异构芯片中的任何一个处理器核,而当前拥有控制权限的处理器核可以将控制权限释放给其他处理器核。例如,多核异构芯片包括架构不同的三个处理器核:处理器核A、处理器核B和处理器核C,若控制器的初始控制权限可以被配置给处理器核A,处理器核A在使用完控制器后,可以将控制权限释放给处理器核B或处理器核C。0073本公开中,针对所述多核异构芯片的每个处。
34、理器核,该处理器核在获取到所述控制权限后,根据所述控制权限初始化所述目标存储介质。具体的,每个处理器核在获取到控制权限后,可以通过初始化目标存储介质,重新从目标存储介质中读取该处理器核所需要的启动数据。0074在一可实施方式中,在所述当所述多核异构芯片的第一处理器核从目标存储介质中获取第一预加载启动数据和第一启动数据之后,根据所述第一启动数据启动第一软件系统之前,所述启动方法还包括如下步骤B1B2,以获取启动数据:0075步骤B1,所述第一处理器核获取所述目标存储介质在所述多核异构芯片中对应的控制器的控制权限。0076具体的,第一处理器核若可以被配置拥有控制器的初始权限的处理器核,或者,若第一。
35、处理器核若不是拥有控制器的初始权限的处理器核,第一处理器核可以请求拥有控制权限的其他处理器核将控制权限释放给自己。0077步骤B2,基于所述控制权限,控制所述控制器从所述目标存储介质中读取所述第一预加载启动数据和所述第一启动数据。0078具体的,所述基于所述控制权限,控制所述控制器从所述目标存储介质中读取所述第一预加载启动数据和所述第一启动数据,包括步骤C1C2:0079步骤C1,从所述目标存储介质中各个存储数据分区中确定目标存储数据分区。0080目标存储介质预先对用于启动各个软件其他的启动数据进行分区存储,本步骤中,可以根据所要启动的软件系统的标识,从目标存储介质中各个存储数据分区中确定出说。
36、明书6/12 页9CN 116610370 A9目标存储数据分区,目标存储数据分区存储了所要启动的软件系统的启动数据。0081步骤C2,根据所述控制权限,控制所述控制器从所述目标存储数据分区中读取所述第一预加载启动数据和所述第一启动数据。0082在一可实施方式中,所述启动方法还包括步骤D1D2:0083步骤D1,所述多核异构芯片的第N1处理器核,基于所述控制权限从所述目标存储介质中获取第二预加载启动数据,并将所述第二预加载启动数据发送至所述第N处理器核。0084其中,N为大于2的整数。0085步骤D2,在监测到所述第N1处理器核将所述控制权限释放给所述第N处理器核后,所述第N处理器核根据所述第。
37、二预加载启动数据启动第N软件系统。0086其中,所述第N软件系统为被配置部署于所述第N处理器核上的软件系统,所述第N1处理器核和所述第N处理器核为架构不同的处理器核。0087例如,若N等于3,即多核异构芯片包括第一处理器核、第二处理器核和第三处理器核。则第二处理器核在将控制权限释放给下一个处理器核之前,可以根据控制权限从目标存储介质中获取第二预加载启动数据,并将第二预加载启动数据发送至第三处理器核。第二处理器核在获取到第二预加载启动数据后,可以将控制权限释放给第三处理器核,第三处理器核则可以根据第二预加载启动数据启动第三件系统。如果第二预加载启动数据包括启动第三软件系统的全部数据,则可以根据第。
38、二预加载启动数据对第三软件系统进行完全启动。如果第二预加载启动数据不包括启动第三软件系统的全部数据,则第三处理器核可以运行第二预加载启动数据实现对第三软件系统的预启动,然后基于控制权限从目标存储介质中获取剩余的启动数据,根据剩余的启动数据完成针对第三软件系统的启动。0088也就是说,本公开中,当多核异构芯片中存在三个或三个以上的处理器核时,除最后一个被启动的软件系统所在的处理器核外,其他处理器核都需要利用控制权限加载用于启动下一个处理器核对应的软件系统的预加载启动数据。这种方式,合理分配了加载启动数据时机,提高了存储设备的可操作性增加了软件系统启动方式的灵活性,解决了同时启动多个复杂软件系统所。
39、需要的内存需求导致软件系统启动效率低的问题。0089在一可实施方式中,在所述第一处理器核将所述控制权限释放给所述第二处理器核之前,所述启动方法还包括步骤E1:0090步骤E1,所述第一处理器核根据所述控制权限从所述目标存储介质中获取第三预加载启动数据,并将所述第三预加载启动数据发送至所述多核异构芯片的第N处理器核。0091其中,N为大于2的整数。0092在所述根据所述第一预加载启动数据启动第二软件系统之后,所述启动方法还包括步骤F1F2:0093步骤F1,第N1处理器核将所述控制权限释放给所述第N处理器核。0094步骤F2,所述第N处理器核根据所述第三预加载启动数据启动第三软件系统,其中,所述。
40、第三软件系统为被配置部署于所述第N处理器核上的软件系统,所述第N1处理器核和所述第N处理器核为架构不同的处理器核。0095例如,若N等于3,即多核异构芯片包括第一处理器核、第二处理器核和第三处理器核。则第一处理器核在从目标存储介质中获取第一预加载启动数据和第一启动数据后,还可以根据控制权限继续从目标存储介质中获取第三预加载启动数据,将第三预加载启动数说明书7/12 页10CN 116610370 A10据发送至第三处理器核。第一处理器核在获取到第三预加载启动数据后,将控制权限释放给第二处理器核,以使第二处理器核接收第一预加载启动数据,并根据第一预加载启动数据启动第二软件系统。第二处理器核在接收。
41、第一预加载启动数据后,将控制权限释放给第三处理器核。第三处理器核根据第一处理器核发送的第三预加载启动数据启动第三软件系统。如果第三预加载启动数据包括启动第三软件系统的全部数据,则可以根据第三预加载启动数据对第三软件系统进行完全启动。如果第三预加载启动数据不包括启动第三软件系统的全部数据,则第三处理器核可以运行第三预加载启动数据实现对第三软件系统的预启动,然后基于控制权限从目标存储介质中获取剩余的启动数据,根据剩余的启动数据完成针对第三软件系统的启动。0096也就是说,本公开中,当多核异构芯片中存在三个或三个以上的处理器核时,还可以通过使第一处理器核,预加载其他处理器核的部分启动数据对其他处理器。
42、核对应的软件系统进行预启动,以增加软件系统启动方式的灵活性,解决了同时启动多个复杂软件系统所需要的内存需求导致软件系统启动效率低的问题。0097图2示出了本公开实施例提供的启动方法的另一种实现流程示意图,如图2所示,所述方法应用于多核异构芯片,如图2所示,Cluster表示多核异构芯片的处理器核,Cluster1指的是多核异构芯片的处理器核1,Cluster2指的是多核异构芯片的处理器核2,Cluster3指的是多核异构芯片的处理器核3,EMMC存储介质是指目标存储介质,启动镜像是指用于启动软件系统的启动数据,预加载启动镜像是指预加载启动数据,分区表是指EMMC的各个存储数据分区的列表。009。
43、8如图2所示,多核异构芯片启动时,Cluster1拥有EMMC控制器的控制权限,Cluster1初始化EMMC后,从EMMC分区表中确定出目标存储数据分区,然后根据控制权限,从EMMC的目标存储数据分区中读取Cluster1的启动镜像数据和Cluster2的预加载镜像数据到相应内存地址中,然后芯片可以跳转到部署于Cluster1上的第一软件系统的系统运行地址,根据Cluster1的启动镜像数据启动Cluster1上的第一软件系统,并在启动第一软件系统的过程中或在启动第一软件系统后,将EMMC控制器的资源(该资源即EMMC控制器的控制权限)释放给Cluster2,以启动Cluster2。rest。
44、 Cluster2是指启动Cluster2。0099仍如图2所示,在Cluster1将EMMC控制器的控制权限释放给Cluster2后,Cluster2可以跳转到Cluster1加载的预加载镜像数据对应的运行地址,对部署于Cluster2的第二软件系统进行预启动,并利用控制权限重新c初始化EMMC,在对EMMC初始化之后,可以利用控制权限从EMMC分区表中确定出目标存储数据分区,然后从EMMC的目标存储数据分区中读取Cluster2和Cluster3的启动镜像数据到相应内存地址中,然后芯片可以跳转到部署于Cluster2上的第二软件系统的系统运行地址,根据Cluster2的启动镜像数据完成对C。
45、luster2上的第二软件系统的启动,以及,对部署于Cluster3上的第三软件系统进行预启动。rest Cluster3是指启动Cluster3。并且,Cluster2还可以在启动第二软件系统的过程中或在启动第二软件系统后,将EMMC控制器的控制权限释放给Cluster3,以启动Cluster3。0100仍如图2所示,在Cluster2将Cluster3的启动镜像数据发送至Cluster3后,Cluster3可以跳转到Cluster3的启动镜像数据对应的系统运行地址启动系统,即对部署于Cluster3的第三软件系统进行启动,当第三软件系统启动完毕后,表示多核异构芯片上说明书8/12 页11C。
46、N 116610370 A11的所有软件系统均启动完毕。0101采用本公开实施例提供的方法,通过分别释放目标存储介质的控制器的控制权限,可以分时分批次从目标存储介质加载不同软件系统的启动数据实现软件系统的启动,不仅提高了存储设备的可操作性增加了软件系统启动方式的灵活性,也解决了由于存储设备难以满足同时启动多个复杂软件系统所需要的内存需求导致软件系统启动效率低的问题。0102本公开中,针对每个处理器核,若该处理器核在利用控制权限从目标存储介质中获取到预加载启动数据和/或启动数据后,可以将预加载启动数据和/或启动数据存储至指定内存,将指定内存的存储地址发送给其他对应的处理器核。如果该处理器核在启动。
47、软件系统的过程中发生故障,则在重新启动软件系统时,不需要再从目标存储介质中获取相应启动数据,可以直接从指定内存中加载之前所存储的启动数据,用于重新启动软件系统。0103基于同一发明构思,根据本公开上述实施例提供的启动方法,相应地,本公开另一实施例还提供了一种启动装置,其结构示意图如图3所示,所述装置应用于多核异构芯片,所述多核异构芯片的每个处理器核与该处理器核所连接的硬件资源构成一个硬件域,所述多核异构芯片中的各个硬件域之间存在物理隔离,所述装置具体包括:0104第一启动模块301,用于所述多核异构芯片的第一处理器核获取目标存储介质在所述多核异构芯片中对应的控制器的控制权限,基于所述控制权限控。
48、制所述控制器从所述目标存储介质中读取第一预加载启动数据和第一启动数据,并根据所述第一启动数据启动第一软件系统,将所述第一预加载启动数据发送至所述多核异构芯片的第二处理器核,其中,所述第一软件系统为被配置部署于所述第一处理器核上的软件系统,所述第一处理器核和所述第二处理器核为架构不同的处理器核,所述第一处理器核所在的硬件域为所述多核异构芯片中的安全域;0105第二启动模块302,用于在所述第一处理器核将所述控制权限释放给所述第二处理器核后,所述第二处理器核接收所述第一预加载启动数据,并根据所述第一预加载启动数据启动第二软件系统,其中,所述第二软件系统为被配置部署于所述第二处理器核上的软件系统。0。
49、106采用本公开实施例提供的装置,多核异构芯片的第一处理器核获取目标存储介质在多核异构芯片中对应的控制器的控制权限,基于控制权限控制控制器从目标存储介质中读取第一预加载启动数据和第一启动数据,并根据第一启动数据启动第一软件系统,将第一预加载启动数据发送至多核异构芯片的第二处理器核,在第一处理器核将目标存储介质的控制器的控制权限释放给第二处理器核后,第二处理器核接收第一预加载启动数据,并根据第一预加载启动数据启动第二软件系统,其中,第一软件系统为被配置部署于第一处理器核上的软件系统,第二软件系统为被配置部署于第二处理器核上的软件系统,第一处理器核和第二处理器核为架构不同的处理器核。即本公开中,对。
50、于被配置部署于多核芯片各个处理器核上复杂庞大的各个软件系统,可以通过切换多核异构芯片中各个处理器核对目标存储介质的控制器的控制权限,分批次从目标存储介质加载不同软件系统的启动数据实现软件系统的启动,这不仅提高了存储设备的可操作性增加了软件系统启动方式的灵活性,也解决了由于存储设备难以满足同时启动多个复杂软件系统所需要的内存需求导致软件系统启动效率低的问题。说明书9/12 页12CN 116610370 A120107在一可实施方式中,所述第二启动模块302,具体用于基于所述第一预加载启动数据对第二软件系统进行预启动;所述第二处理器核基于所述控制权限从所述目标存储介质中获取剩余的第二启动数据;根。