一种SPARCV8处理器中断嵌套处理方法与流程
- 国知局
- 2024-08-19 14:25:53
本发明涉及嵌入式计算机,尤其涉及一种sparc v8处理器中断嵌套处理方法。
背景技术:
1、sparc international于1990年发布了32位sparc v8架构标准,因其具有运行稳定、可扩展性好、指令精简和体系标准开放等特点,被广泛应用于国内外航空航天领域,包括进口的at697f和国产的s698pm、bm3803、bm3823等处理器。
2、中断优先级是指当多个外设同时发出中断请求时,cpu优先响应并处理高优先级的中断请求,然后再响应低优先级的中断请求。中断嵌套是指在中断服务子程序处理期间,如果有更高优先级的中断请求且中断允许,则中断当前的低优先级中断处理流程,优先处理高优先级中断。
3、由于sparc v8架构处理器在响应中断时会自动关闭全局中断允许,因此,在中断服务子程序处理时,需重新使能中断允许,并且设置中断状态寄存器psr中的中断级别pil(中断级别)字段,只有比当前pil更大的中断才可以嵌套打断当前中断处理。在系统通用化处理时,通常将pil设置为当前中断号,即中断优先级嵌套取决于中断号的大小。
4、为了提升小号中断的优先级,sparc v8架构处理器同时还提供一个中断优先级寄存器,当其中的level位设置为1时,对应的中断即为高优先级中断。但是,通过这种方式只能提升在多个中断同时请求时的中断响应优先权,存在优先级反转的弊端,即如果level为1的中断号不大于当前pil,仍然无法嵌套打断当前正在处理的大号的低优先级中断,而且即便level为1的小号中断得到优先响应,一旦使能中断并设置pil为其中断号,在中断服务子程序尚未执行前仍然会被正在等待的大号中断嵌套打断而得不到优先处理。
5、因此,设计一种通用的sparc v8处理器中断嵌套处理方法,保证不同优先级中断的清晰严谨的处理时序,保障高优先级的中断得到优先响应和处理,避免出现中断优先级反转问题,成为了现今嵌入式计算机系统开发亟需解决的问题。
技术实现思路
1、本发明的目的是为了解决上述现有技术中存在的缺点,而提供了一种sparc v8处理器中断嵌套处理方法,应用在嵌入式计算机系统中,所述系统以sparc v8架构处理器为核心,并加载应用程序,包括如下步骤:
2、s1:进行系统通用化处理流程,结合当前中断优先级level和中断号设置中断级别pil值,然后所述系统通用化处理流程使能中断并调用相应的中断服务子程序;
3、s2:在所述中断服务子程序设计时,将所述中断优先级level为0的低优先级中断号和为1的高优先级中断号进行比较,主动下调对应的所述中断级别pil值,并临时屏蔽对应范围内的中断。
4、进一步地,步骤s1具体包括:
5、在所述系统通用化中断处理流程设置pil之前,判断当前中断是否为中断优先级level为1的高优先级中断,
6、若是,则设置处理器状态寄存器psr中的所述中断级别pil字段的值为最高值,并禁止其他中断嵌套打断;否则,设置所述中断级别pil为当前中断号,仅允许比自身更大号的中断嵌套打断;
7、然后使能全局中断允许,并调用相应的中断服务子程序。
8、进一步地,若当前中断优先级level为0的中断号较大的低优先级中断和level为1的中断号较小的高优先级中断同时等待响应,所述sparc v8处理器优先响应所述中断优先级level为1的中断,且采用步骤s1所述方法,将当前所述pil设置为最高,当重新使能全局中断允许后,还在等待响应的所述中断优先级level为0的中断号较大的低优先级中断无法打断当前中断优先级level为1的中断号较小的高优先级中断的处理,避免发生中断优先级反转现象。
9、进一步地,步骤s2具体包括:
10、若所述中断优先级level为0的低优先级中断号大于所述中断优先级level为1的高优先级中断号,所述中断服务子程序主动下调当前中断级别pil值为小于所述中断优先级level为1的高优先级中断的中断号。
11、若当前有所述中断优先级level为0的中断号较大的低优先级中断正在处理,由于其主动将当前pil设置为小于所述中断优先级level为1的中断号较小的高优先级中断的中断号,因此,所述中断优先级level为1的高优先级中断将打断当前正在响应的中断优先级level为0的低优先级中断而得到优先处理,避免发生中断优先级反转现象。
12、步骤s2进一步包括:
13、若所述中断优先级level为0的低优先级中断主动下调所述中断级别pil值为小于所述中断优先级level为1的高优先级中断的中断号,为避免当前所述中断级别pil值与自身中断号不一致导致中断优先级混乱,即被比自身中断号更小、优先级更低的中断打断,在调整所述中断级别pil值之前,可通过设置中断屏蔽寄存器的方式,屏蔽比自身中断号小但大于下调后的所述中断级别pil值的中断,确保自身的中断处理优先级高于同为中断优先级level为0的比自身中断号小的中断。
14、与现有技术相比,本发明的有益效果是:
15、通过设计sparc v8处理器中断嵌套处理方法,明确了不同优先级中断响应和处理的时序,保障了(特别是小号的)高优先级中断响应和处理的实时性,提升了软件设计通用性,同时也避免了因中断优先级设置不当带来的软件运行时序风险。
技术特征:1.一种sparc v8处理器中断嵌套处理方法,其特征在于,应用在嵌入式计算机系统中,所述系统以sparc v8架构处理器为核心,并加载应用程序,包括如下步骤:
2.根据权利要求1所述的sparc v8处理器中断嵌套处理方法,其特征在于,步骤s1具体包括:
3.根据权利要求2所述的sparc v8处理器中断嵌套处理方法,其特征在于,若当前中断优先级level为0的中断号较大的低优先级中断和level为1的中断号较小的高优先级中断同时等待响应,所述sparc v8处理器优先响应所述中断优先级level为1的中断,且采用步骤s1所述方法,将当前所述pil设置为最高,当重新使能中断允许后,还在等待响应的所述中断优先级level为0的较大号低优先级中断无法打断当前中断优先级level为1的高优先级中断的处理,避免发生中断优先级反转现象。
4.根据权利要求1所述的sparc v8处理器中断嵌套处理方法,其特征在于,步骤s2具体包括:
5.根据权利要求4所述的sparc v8处理器中断嵌套处理方法,其特征在于,若当前有所述中断优先级level为0的中断号较大的低优先级中断正在处理,由于其主动将当前pil设置为小于所述中断优先级level为1的中断号较小的高优先级中断的中断号,因此,所述中断优先级level为1的高优先级中断将打断当前正在响应的中断优先级level为0的低优先级中断而得到优先处理,避免发生中断优先级反转现象。
6.根据权利要求5所述的sparc v8处理器中断嵌套处理方法,其特征在于,步骤s2进一步包括:
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~6中任一项所述的sparc v8处理器中断嵌套处理方法。
8.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1~6中任一项所述的sparc v8处理器中断嵌套处理方法。
技术总结本发明涉及技术领域,公开了一种SPARC V8处理器中断嵌套处理方法,应用在嵌入式计算机系统中,所述系统以SPARC V8处理器为核心,并加载应用程序,包括:S1:进行系统通用化处理流程,结合当前中断优先级level和中断号设置中断级别PIL值,然后所述系统通用化处理流程使能中断并调用相应的中断服务子程序;S2:在所述中断服务子程序设计时,将所述中断优先级level为0的低优先级中断号和为1的高优先级中断号进行比较,主动下调对应的所述中断级别PIL值,并临时屏蔽对应范围内的中断。明确了不同优先级中断响应和处理的时序,保障了高优先级中断响应和处理的实时性,提高了软件设计通用性,避免因中断优先级错误带来的软件运行时序风险。技术研发人员:朱剑辉,沈奇,李毅,季彦芳,杨凯受保护的技术使用者:上海航天计算机技术研究所技术研发日:技术公布日:2024/8/16本文地址:https://www.jishuxx.com/zhuanli/20240819/275173.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表