System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种上下文处理方法、装置、介质及芯片。
技术介绍
1、在用于进行车辆控制的芯片的运行过程中,芯片的操作系统(operating system,os)会执行不同的对象(object)。不同的对象可以是用于实现不同的车辆控制功能的程序。如果操作系统在执行当前对象的过程中需要切换为执行一个新的对象,操作系统会停止执行当前对象,对当前对象的上下文(context)进行保存,然后执行新的对象。在新的对象执行完成后,操作系统会获取保存的上下文,根据保存的上下文进行上下文恢复。
2、相关技术中,常用的上下文处理方案为:操作系统将上下文保存到栈中,在新的对象执行完成后从栈中获取保存的上下文。相关技术中的将上下文保存到栈中的上下文保存形式不方便在复杂场景下进行上下文的获取、查询及追溯,占用内存空间较大,且效率较低。将上下文保存到栈中的上下文保存形式会使得操作系统在使用过程中,需要针对上下文部分单独做记录。操作系统在多对象嵌套且错误处理关闭应用程序(app)的场景下,需要向前查找嵌套的上下文,需要将现有上下文以链表的形式连接起来,占用空间且查询速度慢。
技术实现思路
1、本专利技术提供了一种上下文处理方法、装置、介质及芯片,以解决相关技术中的将上下文保存到栈中的上下文保存形式不方便在复杂场景下进行上下文的获取、查询及追溯,占用内存空间较大,且效率较低的问题。
2、根据本专利技术的一方面,提供了一种上下文处理方法,基于寄存器链表,应用于操作系统中,包
3、操作系统基于寄存器链表执行上下文处理,保存数据和恢复数据;
4、其中,所述寄存器链表包括:第一寄存器、第二寄存器以及n个普通寄存器;所述第一寄存器,用于指示当前最新保存的上下文,为所述寄存器链表的链表头;所述第二寄存器,用于指示当前空闲的普通寄存器的地址;各所述普通寄存器包括空内容和前一个上下文地址。
5、操作系统基于寄存器链表执行上下文处理,保存数据和恢复数据,包括:
6、操作系统在执行过程中,切换到新目标对象执行;
7、操作系统将所述新目标对象的目标数据保存到通用寄存器后,基于所述寄存器链表执行上下文保存指令和上下文恢复指令。
8、执行上下文保存指令包括初次保存,具体为:
9、操作系统执行上下文保存指令,通过空闲寄存器获取当前空闲的第一普通寄存器,将初次待保存的上下文存储到所述第一普通寄存器的空内容中,并将所述第一普通寄存器的前一个上下文地址更新为空,将所述第一寄存器的内容更新为所述第一普通寄存器的地址,将所述第二寄存器的内容更新为第二普通寄存器的地址。
10、执行上下文保存指令还包括再次保存,具体为:
11、基于初次保存后,操作系统再次执行上下文保存指令,通过所述空闲寄存器获取当前空闲的第二普通寄存器,将再次待保存的上下文存储到所述第二普通寄存器的空内容中,并将所述第二普通寄存器的前一个上下文地址更新为所述第一普通寄存器的地址,将所述第一寄存器的内容更新为所述第二普通寄存器的地址,将所述第二寄存器的内容更新为第三普通寄存器的地址。
12、执行上下文恢复指令,包括:
13、基于再次保存后,操作系统执行上下文恢复指令,通过所述空闲寄存器将所述第二寄存器的内容从所述第三普通寄存器的地址更新为所述第二普通寄存器的地址,取出所述第二普通寄存器中的上下文,将所述第二普通寄存器的空内容更新为空,将所述第二普通寄存器的前一个上下文地址更新为所述第三普通寄存器的地址,将所述第一寄存器的内容更新为所述第一普通寄存器的地址。
14、根据本专利技术的另一方面,提供了一种执行操作系统上下文处理方法的装置,配置于操作系统中,包括:
15、系统启动装置,用于在执行过程中,切换到新目标对象启动执行;
16、上下文保存装置,用于在将新目标对象的目标数据保存到通用寄存器后,基于寄存器链表执行上下文保存指令;
17、上下文恢复装置,用于在上下文保存指令执行完成之后,基于所述寄存器链表执行上下文恢复指令;
18、其中,所述寄存器链表包括:第一寄存器、第二寄存器以及n个普通寄存器;所述第一寄存器,用于指示当前最新保存的上下文,为所述寄存器链表的链表头;所述第二寄存器,用于指示当前空闲的普通寄存器的地址;各所述普通寄存器包括空内容和前一个上下文地址。
19、执行上下文保存指令包括初次保存,具体为:
20、执行上下文保存指令,通过空闲寄存器获取当前空闲的第一普通寄存器,将初次待保存的上下文存储到所述第一普通寄存器的空内容中,并将所述第一普通寄存器的前一个上下文地址更新为空,将所述第一寄存器的内容更新为所述第一普通寄存器的地址,将所述第二寄存器的内容更新为第二普通寄存器的地址。
21、执行上下文保存指令还包括再次保存,具体为:
22、基于初次保存后,再次执行上下文保存指令,通过所述空闲寄存器获取当前空闲的第二普通寄存器,将再次待保存的上下文存储到所述第二普通寄存器的空内容中,并将所述第二普通寄存器的前一个上下文地址更新为所述第一普通寄存器的地址,将所述第一寄存器的内容更新为所述第二普通寄存器的地址,将所述第二寄存器的内容更新为第三普通寄存器的地址。
23、执行上下文恢复指令,包括:
24、基于再次保存后,执行上下文恢复指令,通过所述空闲寄存器将所述第二寄存器的内容从所述第三普通寄存器的地址更新为所述第二普通寄存器的地址,取出所述第二普通寄存器中的上下文,将所述第二普通寄存器的空内容更新为空,将所述第二普通寄存器的前一个上下文地址更新为所述第三普通寄存器的地址,将所述第一寄存器的内容更新为所述第一普通寄存器的地址。
25、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的上下文处理方法。
26、根据本专利技术的另一方面,提供了一种芯片,所述芯片包括:
27、至少一个处理器;
28、以及与所述至少一个处理器通信连接的存储器;
29、其中,所述存储器存储有被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的上下文处理方法。
30、本专利技术实施例的技术方案中,操作系统基于寄存器链表执行上下文处理,保存数据和恢复数据;其中,寄存器链表包括:第一寄存器、第二寄存器以及n个普通寄存器;第一寄存器,用于指示当前最新保存的上下文,为寄存器链表的链表头;第二寄存器,用于指示当前空闲的普通寄存器的地址;各普通寄存器包括空内容和前一个上下文地址,解决了相关技术中的将上下文保存到栈中的上下文保存形式不方便在复杂场景下进行上下文的获取、查询及追溯,占用内存空间较大,且效率较低的问题,可以基于寄存器链表对上下文本文档来自技高网...
【技术保护点】
1.一种上下文处理方法,基于寄存器链表,应用于操作系统中,其特征在于,包括:
2.根据权利要求1所述的上下文处理方法,其特征在于,操作系统基于寄存器链表执行上下文处理,保存数据和恢复数据,包括:
3.根据权利要求2所述的上下文处理方法,其特征在于,执行上下文保存指令包括初次保存,具体为:
4.根据权利要求3所述的上下文处理方法,其特征在于,执行上下文保存指令还包括再次保存,具体为:
5.根据权利要求4所述的上下文处理方法,其特征在于,执行上下文恢复指令,包括:
6.一种执行操作系统上下文处理方法的装置,配置于操作系统中,其特征在于,包括:
7.根据权利要求6所述执行操作系统上下文处理方法的装置,其特征在于,执行上下文保存指令包括初次保存,具体为:
8.根据权利要求7所述执行操作系统上下文处理方法的装置,其特征在于,执行上下文保存指令还包括再次保存,具体为:
9.根据权利要求8所述执行操作系统上下文处理方法的装置,其特征在于,执行上下文恢复指令,包括:
10.一种计算机可读存
11.一种芯片,其特征在于,所述芯片包括:
...【技术特征摘要】
1.一种上下文处理方法,基于寄存器链表,应用于操作系统中,其特征在于,包括:
2.根据权利要求1所述的上下文处理方法,其特征在于,操作系统基于寄存器链表执行上下文处理,保存数据和恢复数据,包括:
3.根据权利要求2所述的上下文处理方法,其特征在于,执行上下文保存指令包括初次保存,具体为:
4.根据权利要求3所述的上下文处理方法,其特征在于,执行上下文保存指令还包括再次保存,具体为:
5.根据权利要求4所述的上下文处理方法,其特征在于,执行上下文恢复指令,包括:
6.一种执行操作系统上下文处理方法的装置,配置于操作系统中,其特征在于...
【专利技术属性】
技术研发人员:于壁聪,张天瑞,
申请(专利权)人:紫光同芯微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。