[发明专利]一种降低响应延时提高系统效率的中断控制器及控制方法在审
申请号: | 201510842999.9 | 申请日: | 2015-11-27 |
公开(公告)号: | CN105487989A | 公开(公告)日: | 2016-04-13 |
发明(设计)人: | 李奕均;冯炯;黄凯杰 | 申请(专利权)人: | 杭州朔天科技有限公司 |
主分类号: | G06F13/24 | 分类号: | G06F13/24 |
代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 吴秉中 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 降低 响应 延时 提高 系统 效率 中断 控制器 控制 方法 | ||
技术领域
本发明属于计算机科学领域,具体是一种降低响应延时提高系统效率的中断控制器及控制方法。
背景技术
在现代CPU系统中中断响应方式大同小异,在实时性系统中要求有严苛的中断响应速度,来保证系统的正常运行,目前业界最快的中断响应处理器被ARMCortex-M系列CPU取得,在理想情况下(没有处理器外部延时)可以做到12个时钟周期,进入中断服务函数(排除末尾连锁tail-chaining模式"6个周期",因为末尾连锁并非关键中断,其可以等到当前中断处理完成,只是缩短了其等待时间)。
中断响应过程可以划分为现场保护以及CPU程序指针的跳转两个部分,其中第二部分是程序转移必不可少的条件,因此,要提高中断响应速度(进程切换等)就只能通过降低现场保护时间的方向努力。
现有技术中有两种降低中断响应延时的方法:
a)中天微系统的CK系列CPU中断控制器采用一条较为复杂的指令完成所有的现场保护工作,其目的在于降低多条压栈指令的取指操作所带来的时间开销,与通用的中断控制器相比确实降低了中断响应延时。此外,为实现快速中断响应,CK的处理器提供了CPU内部通用寄存器(GPR)影子寄存器的可配置选项,当CPU配有影子寄存器时,可以实现一个周期完成现场切换,从而极大的提高了中断响应速度。但是,此高速中断不允许嵌套使用,因为影子寄存器只有一组,当更高优先级的中断到来时,此时已没有影子寄存器可用,必须通过普通的压栈操作来实现现场保护。因此,其处理器可以在某个关键中断的处理上具有比ARM更高的响应速度。
b)在当前的ARMCortex-M系列系统中,CPU收到中断后由硬件完成通用寄存器的保护工作,硬件压栈。既然是压栈必然是顺序的,在CortexM系列中共需要压入8个寄存器,而这部分时间消耗是ARM12个CPU周期响应延时的重要组成部分。与中天微系统的中断处理相比虽然其在整体上占优(对于中天微系统的处理器中,使用影子寄存器的中断响应,其响应延时会优于ARM),但仍然存在优化的空间,本发明人认为在实时性严苛的系统中,适当的增加开销来满足系统实时性的需求是很有必要的。。
发明内容
本发明主要目的在于提升处理器的中断响应(进程切换类似)速度。为解决中断响应过程中现场保护所带来的时间开销问题,本发明目的在于设计一个基于硬件自动并行保存(不需要处理器指令支持)现场,支持在多级嵌套的情况下仍然能够高速响应高优先级中断的中断控制器。牺牲一部分硬件开销,将中断响应速度做到极致。其技术方案如下:
一种降低响应延时提高系统效率的中断控制方法,包括如下步骤:
步骤一、当中断控制器接收到外设的中断信号后,根据其寄存器堆中的配置以及记录的当前中断状态,来决定是否将当前的中断信号传送给处理器。若处理器当前正处于异常处理级,且当前中断没有抢占权,该中断将进入等待状态,等待当前中断返回;若当前处理器处在正常执行级,或者当前中断优先级高于正在处理的中断,中断控制器将把当前中断请求以及中断向量号发给处理器;
步骤二、处理器收到中断信号后,自动将堆栈指针(SP)减去9(取决于处理器在异常时需要保存的寄存器数目),并给出进入中断指示信号“core_int_ack”,指示处理器即将响应中断,即下一步开始计算异常入口地址;
步骤三、中断控制器检测到“core_int_ack”信号后,主动保存当前处理器状态到CPU寄存器缓冲区中。
与此同时,CPU根据中断控制器提供的向量号,计算异常入口地址。
进一步的,CPU得到入口异常地址后,开始通过指令总线取指令,开始异常处理。
进一步的,步骤三中,在中断控制器暂存CPU现场后,根据暂存的堆栈指针(SP)主动将暂存的现场写入主存中,并拉高标志位。
进一步的,当CPU异常处理完成后查询中断控制器的现场写回标志位,如果该标志位有效,则开始从SP恢复现场。
一种降低响应延时提高系统效率的中断控制器,包括:
优先级解码器:用于接收外设提供的中断信号(支持边沿和电平中断),以及中断优先级管理用于管理各个中断源之间的优先级;
等待优先级控制器:用于中断等待状态管理,判断当前等待状态中断的先后;
寄存器堆:寄存相关逻辑,控制、指示中断控制器中各个模块的状态;
中断屏蔽逻辑部:根据寄存器堆,以及等待优先级控制器的状态控制中断的屏蔽与开启;
中断信号生成器:用于产生给处理器的中断请求信号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州朔天科技有限公司,未经杭州朔天科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510842999.9/2.html,转载请声明来源钻瓜专利网。