嵌入式系统与中断处理方法.pdf

上传人:1520****312 文档编号:974553 上传时间:2018-03-22 格式:PDF 页数:14 大小:697.23KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910177589.1

申请日:

2009.09.16

公开号:

CN101685429A

公开日:

2010.03.31

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 13/24申请公布日:20100331|||实质审查的生效IPC(主分类):G06F 13/24申请日:20090916|||公开

IPC分类号:

G06F13/24; G06F13/28

主分类号:

G06F13/24

申请人:

联发科技股份有限公司

发明人:

吴哲宏; 王良耘

地址:

中国台湾新竹科学工业园区新竹市笃行一路一号

优先权:

2008.9.25 US 12/237,601

专利代理机构:

北京万慧达知识产权代理有限公司

代理人:

葛 强;张一军

PDF下载: PDF下载
内容摘要

本发明提供一种嵌入式系统与中断处理方法。嵌入式系统包含存储器装置、处理器以及控制单元。存储器装置包含多个存储于不同项目地址的服务例程,每个服务例程关联一个中断请求。处理器接收使能信号,通过分支指令执行服务例程。控制单元缓存多个中断请求以将对应的多个服务例程的执行调度。当特定服务例程即将执行时,控制单元提供指向服务例程的项目位置的分支指令,并认定使能信号至处理器,以使处理器执行分支指令以执行特定服务例程。本发明提供的嵌入式系统与中断处理方法,通过缓存多个中断请求以调度对应多个服务例程的执行,

权利要求书

1.  一种嵌入式系统,接收多个中断请求以触发对应的服务例程,该嵌入式系统包含:
存储器装置,包含存储于不同项目地址的多个服务例程,该多个服务例程中的每个关联该多个中断请求中的一个;
处理器,耦接于该存储器装置,接收使能信号,通过分支指令执行该多个服务例程中的一个;以及
控制单元,耦接于该处理器,缓冲该多个中断请求以调度对应该多个服务例程的执行,其中,当特定服务例程即将执行时,该控制单元提供指向该特定服务例程的项目地址的特定分支指令,并认定该使能信号至该处理器,以使该处理器执行该特定分支指令以执行该特定服务例程。

2.
  如权利要求1所述的嵌入式系统,其特征在于,该控制单元进一步包含调度器,该调度器包含多个端口,该多个端口中的每个接收一个中断请求;其中,该已接收的中断请求的优先权可被程序化,且该调度器根据该已接收的中断请求的优先权认定该使能信号以顺序处理该多个已缓冲的中断请求。

3.
  如权利要求1所述的嵌入式系统,其特征在于,进一步包含耦接于该处理器的中断向量表,该向量表包含存储该分支指令的至少一个字段。

4.
  如权利要求3所述的嵌入式系统,其特征在于,该控制单元包含备用向量表,用于存储多个分支指令,其中,该多个分支指令中的每个被预定至该存储器装置的对应的服务例程。

5.
  如权利要求4所述的嵌入式系统,其特征在于,该控制单元在该特定服务例程即将执行时,重映射该中断向量表至该备用向量表,以使该处理器可从该备用向量表中访问并加载预定至该特定服务例程的该特定分支指令,而不是从该中断向量表的该至少一字段访问并加载该特定分支指令。

6.
  如权利要求4所述的嵌入式系统,其特征在于,
该控制单元进一步包含耦接于该备用向量表的修饰器,该修饰器由该调度器控制;以及
当该特定服务例程即将执行时,该修饰器从该备用向量表复制预定至该特定服务例程的该特定分支指令至该中断向量表的该至少一字段,从而引导该处理器访问该特定服务例程。

7.
  如权利要求6所述的嵌入式系统,其特征在于,
该处理器包含第一端口与第二端口,用于触发该多个服务例程;
该中断向量表包含第一字段与第二字段,用于存储该多个分支指令;
当第一中断请求与第二中断请求被调度为待处理,且该第一中断请求的优先权高于该第二中断请求的优先权时,该调度器用预定至第一服务例程的第一分支指令修饰该第一字段,并发送该使能信号至该第一端口,以使该处理器执行该第一字段中的该第一分支指令以执行该第一服务例程;
当该处理器执行该第一服务例程时,该调度器同时用预定至第二服务例程的第二分支指令修饰该第二字段;以及
当该第一服务例程终止时,该调度器发送该使能信号至该第二端口以触发该第二服务例程的执行。

8.
  一种中断处理方法,接收多个中断请求以触发多个对应的服务例程,该中断处理方法包含:
提供存储器装置,用于存储多个服务例程,该多个服务例程中的每个关联该多个中断请求中的一个;
缓冲该多个中断请求;
当特定服务例程即将执行时,提供指向该特定服务例程的项目地址的分支指令;以及
执行该分支指令以执行该特定服务例程。

9.
  如权利要求8所述的中断处理方法,其特征在于,进一步包含:
提供多个端口,该多个端口中的每个接收一个中断请求,其中该已接收的中断请求的优先权可被程序化;以及
根据该中断请求的优先权顺序处理该多个已缓冲的中断请求。

10.
  如权利要求8所述的中断处理方法,其特征在于,进一步包含:存储该分支指令至中断向量表;以及
利用处理器由该中断向量表中加载该分支指令并执行该特定服务例程。

11.
  如权利要求10所述的中断处理方法,其特征在于,进一步包含:提供备用向量表,用于存储多个分支指令,其中,该多个分支指令中的每个预定至该存储器装置的对应的服务例程。

12.
  如权利要求11所述的中断处理方法,其特征在于,进一步包含:当该特定服务例程即将执行时,重映射该中断向量表至该备用向量表,以使该处理器可从该备用向量表中访问并加载预定至该特定服务例程的该分支指令,而不是从该中断向量表的字段访问并加载该分支指令。

13.
  如权利要求11所述的中断处理方法,其特征在于,进一步包含:当该特定服务例程将执行时,由该备用向量表复制预定至该特定服务例程的该分支指令至该中断向量表的字段,从而根据该中断向量表中的该分支指令,引导该处理器访问该特定服务例程。

14.
  如权利要求13所述的中断处理方法,其特征在于:
该处理器包含第一端口与第二端口,用于触发该多个服务例程;
该中断向量表包含第一字段与第二字段,用于存储该多个分支指令;以及
该中断处理方法进一步包含:
当第一中断请求与第二中断请求被调度为待处理,且该第一中断请求的优先权高于该第二中断请求的优先权时,用预定至第一服务例程的第一分支指令修饰该第一字段,并通过该第一端口触发该处理器,以执行该第一字段中的该第一分支指令并执行该第一服务例程;
当该处理器执行该第一服务例程时,同时用预定至第二服务例程的第二分支指令修饰该第二字段;以及
当该第一服务例程终止时,通过该第二端口触发该处理器以执行该第二服务例程。

说明书

嵌入式系统与中断处理方法
技术领域
本发明是关于一种微控制单元(micro control unit,MCU),特别是关于一种通过优先权控制处理中断请求的嵌入式系统与中断处理方法。
背景技术
图1显示一种传统嵌入式系统(embedded system),其中处理器110可被中断(interruptible)以提供特定服务。对于旧式处理器芯片如8051或ARM7,仅有很少的端口(port),如2个端口,能用于接收中断请求(interruption request)。实践中,按规格上述端口被称为#IRQ与#FIQ。认定(assert)至端口#IRQ或端口#FIQ的中断请求可源于不同事件(event),每个事件请求一个不同的服务例程(service routine)。多个事件可同时发生,且分别与端口#IRQ及#FIQ关联的状态缓存器(status register)102及104被提供以表示每种事件的状态。状态缓存器102及104中R0至Rn的每一比特(或字节)可表示是否有特定事件在请求服务例程。当一个事件发生时,状态缓存器102或104被修改,中断请求以触发(trigger)的形式传送至处理器110。根据事件的重要程度对其设定不同的优先权(priority),通常事件的优先权等同于存储其状态的比特R0至Rn的优先顺序(precedence)。
上述嵌入式系统进一步包含耦接于处理器110的中断向量表(interruption vector table)120,中断向量表120包含两字段(field)122与124,字段122与124各存储一条分支指令(branch instruction)。例如,当中断请求#INTa被认定至端口#IRQ,处理器110暂停(suspend)其当前操作以执行IRQ字段122的分支指令。同样地,当端口#FIQ接收到中断请求#INTb,处理器110被中断以执行FIQ字段124的分支指令。分支指令通常是跟随目的地址的跳越命令,作为程序发射器(program launcher)引导处理器110访问并执行存储器装置130的特定程序。如上所述,中断请求可由不同事件认定,因此在相应服务例程执行前需要一种决定机制。具体来说,中断向量表120中的分支指令引用的特定程序是处理事件的优先权控制程序。优先权控制程序132及134,与多个服务例程136,可由固件或操作系统提供并存储于存储器装置130,其中,每个服务例程服务一个事件。当端口#IRQ或#FIQ接收到中断请求时,处理器110执行IRQ字段122或FIQ字段124的相应分支指令以加载优先权控制程序132或134。通过执行优先权控制程序,顺序扫描记录于状态缓存器102及104的事件状态以触发相关服务例程136。
图2是传统服务例程执行的流程图。如图所示,执行优先权控制程序以识别认定中断请求的源事件。实践中,递归(recursively)扫描状态缓存器102或104的比特R0至Rn。因为R0至Rn中的一比特表示一个事件的状态,若检测出某一比特被认定,加载相应的服务例程136以执行。在步骤200中,执行优先权控制程序以扫描状态缓存器102或104。在步骤202中,扫描第一比特R0,判断第一事件是否在请求第一服务例程。若是,处理步骤212,执行第一服务例程。若否,处理步骤204,扫描下一比特。当步骤212中第一服务例程的执行结束时,程序可进行至步骤204以扫描下一比特,或通过点线299返回至步骤202重新开始扫描。在步骤204中,同样扫描第二比特R1,判断第二事件是否在请求第二服务例程。因此若在第二比特R1中检测出正值(即第二事件在请求第二服务例程),可在步骤214中执行第二服务例程。同样,当步骤214结束时,可继续扫描下一比特,也可返回至步骤202重置扫描过程。重复扫描与执行直至扫描完状态缓存器102或104的所有比特。
类似地,在步骤206中,同样扫描第n比特Rn,判断第n事件是否在请求第n服务例程。因此,若在第n比特Rn中检测出正值(即第n事件在请求第n服务例程),可在步骤216中执行第n服务例程。
上述用于处理中断请求的方法是典型的基于软件的实现。处理器110在端口#IRQ与#FIQ上分别执行由事件认定的IRQ字段122与FIQ字段124的分支指令,因此,处理器110执行优先权控制程序132与134以扫描状态缓存器102与104。以上述方式即能找到并执行与源事件相应的服务例程。仅通过在状态缓存器102与104中的相应比特的优先顺序简单定义事件的优先权,且优先权策略可通过重定义优先权控制程序132与134的不同扫描顺序来灵活修改。因为基于软件的实现耗费处理器的资源,因此通常认为其效率不高。更进一步,当大量中断请求同时被认定时,优先权较低的服务例程可能被无限延迟而引起不可确定的系统死锁。因此需要对上述方法进行改进。
发明内容
为解决以上技术问题,本发明提供了一种嵌入式系统与中断处理方法。
本发明提供了一种嵌入式系统,接收多个中断请求以触发多个对应的服务例程,该嵌入式系统包含:存储器装置,包含存储于不同项目地址的多个服务例程,该多个服务例程中的每个关联该多个中断请求中的一个;处理器,耦接于该存储器装置,接收使能信号,通过分支指令执行该多个服务例程中的一个;以及控制单元,耦接于该处理器,缓冲该多个中断请求以调度对应该多个服务例程的执行;其中,当特定服务例程将执行时,该控制单元提供指向该特定服务例程的项目地址的特定分支指令,并认定该使能信号至该处理器,以使该处理器执行该特定分支指令以执行该特定服务例程。
本发明提供了一种中断处理方法,接收多个中断请求以触发多个对应的服务例程,该中断处理方法包含:提供存储器装置,用于存储多个服务例程,该多个服务例程中的每个关联该多个中断请求中的一个;缓冲该多个中断请求;当特定服务例程将执行时,提供指向该特定服务例程的项目地址的分支指令;以及执行该分支指令以执行该特定服务例程。
本发明提供的嵌入式系统与中断处理方法,通过缓冲多个中断请求以调度对应多个服务例程的执行,灵活配置每个中断请求的优先权,可提高系统的整体效率。
附图说明
图1是显示传统的嵌入式系统。
图2是显示传统服务例程的执行的流程图。
图3是显示根据本发明的实施方式的嵌入式系统。
图4是显示优先服务例程的执行的流程图。
具体实施方式
以下描述是实施本发明的较佳实施方式。此描述仅是用于说明本发明原理的目的,并非作为本发明的限制。本发明的保护范围应以权利要求所界定的范围为准。
图3显示根据本发明一实施方式的嵌入式系统。在此实施方式中,作为代理(proxy)的控制单元300耦接于处理器110的输入端口,以提供基于硬件的优先权控制。控制单元300可通过专属端口(dedicatedport)同时接收多个中断请求#INT(#INT1,#INT2至#INTn),其中,每个专属端口均关联一个事件。中断请求#INT缓存在控制单元300中以进行优先权配置(arrangement)。配置后,控制单元300通过端口#IRQ或#FIQ触发处理器110执行相应服务例程。当选择服务例程中的特定服务例程执行时,控制单元300动态渲染(render)预定(destine)至所述特定服务例程的特定分支指令,且认定使能信号#EN至处理器110以触发处理器110执行特定分支指令,这样一来,选定的中断请求#INT对应的特定服务例程被执行。
在一个实施方式中,控制单元300包含调度器(scheduler)310,修饰器(modifier)320以及备用向量表(spare vector table)330。调度器310包含多个端口,每个端口接收不同的中断请求#INT。每个接收到的中断请求都由不同优先权因子(priority factor)动态程序化,因此优先权的控制十分灵活。端口可同时接收不同中断请求#INT,且通过调度器310对相应的服务例程实时调度。只要调度器310中缓存有任何未处理的中断请求,则中断请求中优先权最高的将被选出并处理。以下将详细描述如何触发与选定的中断请求#INT对应的服务例程。
如上所述,当端口#IRQ或#FIQ接收到使能信号#EN时,处理器110暂停当前操作以执行存储于IRQ字段122或FIQ字段124的分支指令,借此进一步加载并执行次例程(subroutine)。根据嵌入式系统的固有设计,当使能信号被认定时,处理器110自动查找中断向量表以执行分支指令。在一个实施方式中,控制单元300在使能信号#EN触发处理器110之前修改字段122或124。为达此目的,控制单元300的修饰器320与备用向量表330协调工作。备用向量表330由包含多个分支指令332(分支指令332a,分支指令332b,分支指令332c至分支指令332n)的备用空间构成,每个分支指令预定至存储器装置130中相应的服务例程。修饰器320是由调度器310控制的从属电路,用于执行IRQ字段122及FIQ字段124的修饰。在控制单元300中,当关联特定服务例程136的中断请求#INT被调度为等待处理器110处理时,调度器310发送选择信号#SEL至修饰器320,以使修饰器320从备用向量表330复制预定至特定服务例程136的分支指令320到字段122或124。然后,调度器310通过端口#IRQ或#FIQ发送使能信号#EN至处理器110,以使处理器110执行IRQ字段122及FIQ字段124中复制的分支指令。通过上述方法,处理器110访问并执行特定服务例程136,借此跳过低效率的基于优先权控制程序的软件,且对系统性能有显著改善。
在本发明的另一个实施方式中,中断向量表120可以是只读设备而被禁止修改。这种情况下,控制单元300重映射(remap)IRQ字段122或FIQ字段124,因此,处理器110可访问存储于备用向量表330中并预定至特定服务例程136的分支指令332。通过固件或操作系统的控制,将IRQ字段122及FIQ字段124的项目地址(entry address)重映射至存储分支指令332的备用向量表330。这样,处理器110是从备用向量表330访问并加载分支指令332,而不是从字段122或124访问并加载分支指令332。
在本发明的又一个实施方式中,当至少两个要被处理器110处理的中断请求#INT被调度时,调度器310首先用第一分支指令修饰IRQ字段122并发送使能信号#EN至端口#IRQ,以触发处理器110处理相关例程。同时,当处理器110处理第一中断请求时,调度器310用预定至第二服务例程的第二分支指令修饰FIQ字段124。这种管线操作(pipelined operation)利用闲置部件(idle parts)以提高系统的整体效率。当第一服务例程终止时,调度器310接着向端口#FIQ发送使能信号#EN以触发第二服务例程的执行,同样地,IRQ字段122可被同时重用于存储预定至下一个服务例程的分支指令。
图3显示的嵌入式系统具有反向兼容性(backward compatibility)。调度器310可进一步包含与图1处理器110的端口#IRQ及#FIQ相同的端口#IRQ及#FIQ,以接收传统中断请求#INTa及#INTb。当接收到传统中断请求#INTa或#INTb时,用预定至优先权控制程序132及134的传统分支指令修饰相应IRQ字段122或FIQ字段124,这样一来,处理器110以传统方式运行,扫描如图2所示的状态缓存器102或104。
图4是优先服务例程的执行的流程图。带有优先权控制的基于硬件的中断处理方法实现于具有控制单元300的嵌入式系统中,概括如下。在步骤400中,控制单元300持续缓存不同中断请求。在步骤402中,判断是否存在任何未处理的中断请求。如果是,选取具有最高优先权的中断请求进行处理,并且在步骤404中对中断向量表120执行修饰或重映射操作。在步骤406中,当分支指令准备就绪后,控制单元300发送使能信号#EN以触发处理器110执行其它操作,即执行中断向量表120的分支指令。当处理器110完成服务例程后,返回至步骤402。
上述实施方式特别适用于DVD刻录器,将数据刻录至光盘时,用于编码的中断请求是十分关键的。不同中断请求在不同模式下可能有不同的优先权,通过控制单元300,能灵活配置每个中断请求的优先权。控制单元300可由简单而低成本的逻辑电路实现,且其架构不限于图3所示的方框图。
虽然本发明已以较佳实施方式揭露如上,然其并非用于限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的范围内,可以做一些改动,因此本发明的保护范围应以权利要求所界定的范围为准。

嵌入式系统与中断处理方法.pdf_第1页
第1页 / 共14页
嵌入式系统与中断处理方法.pdf_第2页
第2页 / 共14页
嵌入式系统与中断处理方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《嵌入式系统与中断处理方法.pdf》由会员分享,可在线阅读,更多相关《嵌入式系统与中断处理方法.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明提供一种嵌入式系统与中断处理方法。嵌入式系统包含存储器装置、处理器以及控制单元。存储器装置包含多个存储于不同项目地址的服务例程,每个服务例程关联一个中断请求。处理器接收使能信号,通过分支指令执行服务例程。控制单元缓存多个中断请求以将对应的多个服务例程的执行调度。当特定服务例程即将执行时,控制单元提供指向服务例程的项目位置的分支指令,并认定使能信号至处理器,以使处理器执行分支指令以执行特定服务。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1