嵌入式sram操作系统中断的实现方法

文档序号:6556596阅读:151来源:国知局
专利名称:嵌入式sram操作系统中断的实现方法
技术领域
本发明涉及嵌入式系统技术领域,特别是涉及一种嵌入式SRAM操作系统中断的实现方法。
背景技术
中断是指程序执行过程中,当发生某个事件时,中止CPU上现行程序的运行,引出处理该事件的程序执行的过程。现代计算机系统一般都具有处理突发事件的能力。例如从磁带上读入一组信息,当发现读入信息有错误时,只要让磁带退回重读该组信息就可能克服错误,而得到正确的信息。
这种处理突发事件的能力是由硬件和软件协作完成的。首先由硬件的中断装置发现产生的事件,然后,中断装置中止现行程序的执行,引出处理该事件的程序来处理。计算机系统不仅可以处理由于硬件或软件错误而产生的事件,而且可以处理某种预定处理伪事件。例如外围设备工作结束时,也发出中断请求,向系统报告它已完成任务,系统根据具体情况作出相应处理。引起中断的事件称为中断源。发现中断源并产生中断的硬件称中断装置。在不同的硬件结构中,通常有不同的中断源和平不同的中断装置,但它们有一个共性,即当中断事件发生后,中断装置能改变处理器内操作执行的顺序。
几乎所有的计算机系统都提供了中断机制以便让系统中的其它模块能够中断正在执行中的进程从而完成一些紧急任务,这就是中断。最常见的中断类型主要有四类,即软件中断、定时中断、I/O中断和硬件故障等。
中断主要是用来提高计算机系统的处理效率。比如说,多数外围设备的动作速度和处理器相比要慢很多。如果我们需要打印机打印某个文档时,如果没有中断机制存在的话,进程会在每次写操作完成之后等待打印机完成相应操作并告知处理器,而后处理器才能继续下一个指令的执行。但是,如果引入中断机制的话,处理器只需要在执行一些简单指令,比如,初始化打印机,告诉打印机要打印的文档数据在内存中的位置,最后向打印机发送打印指令之后,就可以转到后继指令的执行,而这个时候,打印机正在慢吞吞地执行相关的打印任务;当打印机打印完所交给的任务之后,会采用中断方式,告诉处理器指派的打印任务已经完成,这个时候,处理器会中断当前任务并处理这个中断。显然,在引入中断之后,处理器的利用率提高了,可以在同样多的时间可处理更多的指令或任务。
对于嵌入式SRAM操作系统来说,由于采用SRAM来作为嵌入式操作系统的加载位置,也必然会遇到在这种环境下,其中断如何实现的问题。对于已有的操作系统,由于这些操作系统通常是存在于系统的主存当中,其中断可以通过硬件或者软件编程实现,但是在嵌入式SRAM操作系统中,由于操作系统内核运行于CPU片上的SRAM中,其中断方式不能由普通的已有中断方式简单实现,比如,对于SRAM的管理的实现,SRAM操作系统请求的中断等,其实现方式无法由已有的程序中断方式满足,因此需要一种新的方法来实现嵌入式SRAM操作系统的中断。

发明内容
本发明的目的在于克服现有技术中的不足,提供一种嵌入式SRAM操作系统中断的实现方法。
本发明解决其技术问题采用的技术方案如下本发明提供了一种嵌入式SRAM操作系统中断的实现方法,包括以下步骤1)定义嵌入式SRAM操作系统中断,包括在程序运行过程中由指令的执行所引起的软件中断;由处理器内部定时器产生的定时中断;由I/O控制器产生的I/O中断;和由硬件故障引起的硬件故障中断;2)确定中断的优先级对同时发生的中断事件按照预定的顺序定义中断的优先级,中断装置首先响应优先级高的中断事件;
3)中断处理,包括①中断源向处理器发出中断信号;②处理器在响应中断之前完成当前指令;③处理器检测是否存在中断,并发给中断源一个确认信号,中断源根据确认信号判断撤出其中断信号;④处理器将处理器时间交给中断处理例程之前进行准备工作,包括保存在中断点时当前程序的状态,最低限度的保存信息包括程序状态字信息和当前程序下一条指令的地址;⑤处理器执行中断处理例程;⑥中断例程执行完毕后,处理器保存与中断例程相关的必要信息,处理器恢复被中断程序在中断点时的状态;⑦处理器继续原来的指令执行过程。
作为本发明的一种改进,对于必须处理且优先级高的中断源,允许在运行中断例行程序时仍然可以响应中断,中断系统保护被中断的中断处理例行程序的现场,然后再转向处理新中断的例行程序,以便处理结束时能返回原来的中断处理例行程序继续运行。
与背景技术相比,本发明具有的有益的效果是(1)实时性。本发明充分利用了嵌入式SRAM操作系统中,对于SRAM的应用,SRAM本身的响应速度快,因此对中断的响应速度也较快,支持了操作系统的实时性。
(2)高效性。本发明对于中断的处理方式充分SRAM的特点,根据中断类型的不同,响应效率高。


图1是本发明过程的示意图;图2是中断源的示意图;图3是带中断处理的指令周期示意图。
具体实施例方式
下面结合附图对本发明作进一步的说明。
一种嵌入式SRAM操作系统中断的实现方法,附图1是本发明实施过程的整体示意图,其具体实施方法如下1)定义嵌入式SRAM操作系统中断在嵌入式SRAM操作系统中,对中断的定义如下,如图2·软件中断,在程序运行过程中,由某条指令的执行所引起的中断。比如说,溢出、除零、非法机器指令等等·定时中断,由处理器内部定时器产生。定时中断不仅是计算机计时的基础,同时还是操作系统完成很多复杂操作的前提,比如说,进程的交替执行等等·I/O中断,由I/O控制器产生·硬件故障,由于某个硬件故障,如电源故障或内存奇偶检验错误等引起的进程执行中断从进程角度看,中断可以看成其正常执行过程的一个小插曲。进程本身无需关心中断如何处理,等中断处理结束之后,进程继续原来正常的执行过程,为引入中断机制,一般的指令周期需要加入中断处理,如图3。
在中断处理周期中,处理器会检查是否有中断发生。如果没有中断发生,处理器继续其正常的指令处理,在进程看来,就是自己正没有丝毫影响地持续运行着呢;如果有中断发生的话,处理器就会跳出其正常的指令处理顺序,转为执行与所发生中断对应的一个中断处理例程。通常,中断处理例程是操作系统的一部分,用于判断中断的类型并采取相应的处理措施。
2)确定中断的优先级在计算机执行的每一瞬间,可能有几个中断事件同时发生,响应这些同时发生的中断,需要定义预定的顺序来响应,这个预定的顺序称为中断的优先级,中断装置首先响应优先级高的中断事件。
多中断是指同时有多个中断需要处理的情况。通常有两种基本方法来处理这种情况。一个就是在处理某个中断的时候不能被打断,如果这时有新的中断信号进来,就只能先挂起再说;另外一种方法就是允许中断处理嵌套,也就是说,可以给不同的中断定义合理的优先级,这样当某个较低优先级的中断正在处理时,可以被一个更高优先级的中断打断,从而形成一个嵌套结构。这个时候就需要用到中断的优先级。
3)中断处理①某个中断源(如软件、I/O、定时器甚至是硬件故障)向处理器发出中断信号;②处理器在响应中断之前完成当前指令;③处理器检测是否存在中断,并发给中断源一个确认信号,这个确认信号可以让中断源撤出其中断信号;④处理器将处理器时间交给中断处理例程之前需要做一些准备工作,这其中主要包括保存在中断点时当前程序的状态,最低限度的保存信息应该包括程序状态字信息和当前程序下一条指令的地址;⑤处理器执行中断处理例程;⑥中断例程执行完毕后,处理器保存与中断例程相关的必要信息,处理器恢复被中断程序在中断点时的状态;⑦处理器继续原来的指令执行过程;对于有些必须处理且优先级高的中断源,采用屏蔽方法有时可能是不妥的,因此,在中断系统中往往允许在运行某些中断例行程序时,仍然可以响应中断,这时,系统应负责保护被中断的中断处理例行程序的现场,然后,再转向处理新中断的例行程序,以便处理结束时有可能返回原来的中断处理例行程序继续运行。
权利要求
1.一种嵌入式SRAM操作系统中断的实现方法,其特征在于,包括以下步骤1)定义嵌入式SRAM操作系统中断,包括在程序运行过程中由指令的执行所引起的软件中断;由处理器内部定时器产生的定时中断;由I/O控制器产生的I/O中断;和由硬件故障引起的硬件故障中断;2)确定中断的优先级对同时发生的中断事件按照预定的顺序定义中断的优先级,中断装置首先响应优先级高的中断事件;3)中断处理,包括①中断源向处理器发出中断信号;②处理器在响应中断之前完成当前指令;③处理器检测是否存在中断,并发给中断源一个确认信号,中断源根据确认信号判断撤出其中断信号;④处理器将处理器时间交给中断处理例程之前进行准备工作,包括保存在中断点时当前程序的状态,最低限度的保存信息包括程序状态字信息和当前程序下一条指令的地址;⑤处理器执行中断处理例程;⑥中断例程执行完毕后,处理器保存与中断例程相关的必要信息,处理器恢复被中断程序在中断点时的状态;⑦处理器继续原来的指令执行过程。
2.根据权利要求1所述的嵌入式SRAM操作系统中断的实现方法,其特征在于,对于必须处理且优先级高的中断源,允许在运行中断例行程序时仍然可以响应中断,中断系统保护被中断的中断处理例行程序的现场,然后再转向处理新中断的例行程序,以便处理结束时能返回原来的中断处理例行程序继续运行。
全文摘要
本发明涉及嵌入式系统技术领域,旨在提供一种嵌入式SRAM操作系统中断的实现方法。该方法包括定义嵌入式SRAM操作系统中断、确定中断的优先级和中断处理。该方法具有实时性和高效性,本发明充分利用了嵌入式SRAM操作系统中,对于SRAM的应用,SRAM本身的响应速度快,因此对中断的响应速度也较快,支持了操作系统的实时性;对于中断的处理方式充分SRAM的特点,根据中断类型的不同,响应效率高。
文档编号G06F9/46GK1877536SQ20061005222
公开日2006年12月13日 申请日期2006年6月30日 优先权日2006年6月30日
发明者陈天洲, 王祥生, 沙峰, 赵懿 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1