片上系统及其启动方法、处理器、电子设备和存储介质与流程

本公开涉及芯片,特别涉及一种片上系统及其启动方法、处理器、电子设备和存储介质。
背景技术:
1、片上系统(soc,system on a chip)的多处理器架构是在一个芯片上集成多个处理器核心以实现更高性能、更低功耗和更紧凑的系统设计。这种架构通常用于需要处理大量并行任务或需要更高计算能力的应用。在片上系统的多处理器架构中,每个处理器核心可以独立运行程序,执行任务,并通过共享内存或其他通信机制进行通信和协作。
2、多处理器架构的片上系统中,部分处理器的指令空间和数据空间被设置为固定大小,然后因功能调试、客户应用扩展等需求不断增长导致该处理器的指令和数据会持续增大,而处理器的指令空间和数据空间会面临容量不足的问题。
技术实现思路
1、有鉴于此,本公开提供了一种片上系统及其启动方法、装置、处理器、电子设备和存储介质,能够在不增加电路板面积和硬件成本的前提下实现片上系统中特定处理器的空间扩展。
2、根据本公开的第一方面,提供了一种片上系统的启动方法,所述片上系统包括第一处理器、第二处理器、第一存储器和第二存储器,所述第一处理器和第二处理器能够访问所述第一存储器,所述第二处理器能够访问所述第二存储器;所述片上系统的启动方法包括:上电后,第一处理器加载所述第一指令段至第一存储器的第一预定空间以供所述第二处理器使用,加载所述第二指令段至所述第二存储器以供所述第二处理器使用;其中,所述第一指令段与第二指令段来自所述第二处理器的固件。
3、本公开第一方面的一些实施方式中,所述第一指令段在被所述第二处理器运行时执行第一外设控制器的操作,所述第二指令段在被所述第二处理器运行时执行第二外设控制器的操作。
4、本公开第一方面的一些实施方式中,所述第一外设控制器包括如下之一或多项:codec、i2s;所述第二外设控制器包括如下之一或多项:uart、i2c、spi、hda、gmac、npu。
5、本公开第一方面的一些实施方式中,所述第一指令段在被第二处理器运行时执行第三外设控制器的第一操作,所述第二指令段在被所述第二处理器运行时执行所述第三外设控制器的第二操作。
6、本公开第一方面的一些实施方式中,所述第二处理器的固件还包括:对应所述第一指令段的第一数据段和对应所述第二指令段的第二数据段;所述片上系统还包括第三存储器,所述第三存储器可被所述第二处理器访问;所述方法还包括:所述第二处理器执行初始化操作,所述初始化操作包括:拷贝所述第一数据段至所述第一存储器的第二预定空间,拷贝所述第二数据段至所述第三存储器。
7、本公开第一方面的一些实施方式中,所述方法还包括:第二处理器从所述第一存储器的第二预定空间申请堆栈空间以存放所述第二处理器运行所述第一指令段时产生的数据;第二处理器从所述第三存储器申请堆栈空间以存放所述第二处理器运行所述第二指令段时产生的数据。
8、本公开第一方面的一些实施方式中,还包括:加载所述第一指令段和所述第二指令段前,对所述第一存储器进行空间划分以配置用于存储所述第一指令段的第一预定空间和用于存储第一数据段的第二预定空间。
9、本公开第一方面的一些实施方式中,所述第一处理器运行预先装载于片上系统中的基础固件以执行所述片上系统的启动方法。
10、本公开第一方面的一些实施方式中,所述片上系统的启动方法由所述第一处理器在el3安全环境时执行。
11、本公开第一方面的一些实施方式中,所述方法还包括:在所述第一指令段与所述第二指令段加载完成后,所述第一处理器改写第一寄存器中的复位值以触发所述第二处理器自启动。
12、根据本公开的第二方面,提供了一种片上系统的外设管理方法,包括:
13、响应于第一处理器发起的针对第一外设控制器的请求,第二处理器发起对第一存储器的第一预定空间的取指令请求;
14、第二处理器接收所述第一存储器响应于所述取指令请求返回的第一指令;
15、第二处理器执行所述第一指令以从所述第一存储器获取对应所述第一指令的第一数据;
16、第二处理器利用所述第一指令及其对应的第一数据发送数据访问请求至所述第一存储器,以使得所述第一处理器能够获取到其请求的第一外设控制器的数据。
17、本公开第二方面的一些实施方式中,还包括:第二处理器接收所述第一存储器响应于所述数据访问请求返回的第二数据;第二处理器解析所述第二数据以得到第三数据,将所述第三数据写回所述第一存储器以便所述第一处理器能够获取所述第三数据。
18、本公开第二方面的一些实施方式中,还包括:第二处理器发起对第一存储器的第一预定空间的取指令请求后,所述取指令请求被第二处理器所属的总线网络基于第二寄存器中的地址映射关系进行地址转换后转发至所述第一存储器。
19、本公开第二方面的一些实施方式中,所述第二处理器利用所述第一指令及其对应的第一数据发送数据访问请求至所述第一存储器,包括:第二处理器核利用所述第一指令及其对应的第一数据发起针对第一存储器的数据访问请求;以及,基于第二寄存器中的地址映射关系对所述数据访问请求进行地址转换后,经第二处理器所属的总线网络转发至所述第一存储器。
20、根据本公开的第三方面,提供了一种片上系统,包括:第一处理器、第二处理器、第一存储器和第二存储器,所述第一处理器和第二处理器均能够访问所述第一存储器,所述第二处理器能够访问所述第二存储器,所述第一处理器与所述第二处理器能够通信;所述第一处理器用于在上电后加载所述第一指令段至第一存储器的第一预定空间以供所述第二处理器使用,加载所述第二指令段至所述第二存储器以供所述第二处理器使用;其中,所述第一指令段与第二指令段来自所述第二处理器的固件。
21、本公开第三方面的一些实施方式中,所述片上系统包括第一总线和第二总线;其中,所述第一存储器与所述第一处理器连接在第一总线上,所述第二存储器和所述第二处理器连接在第二总线上,所述第二总线挂在所述第一总线上。
22、本公开第三方面的一些实施方式中,所述第一存储器设置有:针对所述第一处理器的核的第一指令接口和第一数据读写接口;以及,针对所述第二处理器的核的第二指令接口和第二数据读写接口。
23、根据本公开的第四方面,提供了一种电子设备,包括上述的片上系统。
24、根据本公开的第五方面,提供了一种存储有程序的计算机可读存储介质,所述程序包括指令,所述指令在由处理器执行时使所述处理器执行上述第一方面的方法或上述第二方面的方法。
25、由上述技术方案可以看出,本公开实施例将第二处理器的固件中的部分指令段存放在第一存储器,而不是将第二处理器的固件中全部指令段都存放在第二存储器,从而能够利用片上系统的内存或者各处理器共用的存储空间来持续扩展第二存储器固件的功能和指令代码,而无需在片上系统中继续增设专用于第二处理器的存储器,可见,本公开实施例能够在不增加电路板面积和硬件成本的前提下实现片上系统中特定处理器的指令空间扩展,同时也可扩展该特定处理器的数据空间。
技术研发人员:杨维韬,张璐,李信德
技术所有人:飞腾信息技术有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
