[发明专利]用于处理器的软件控制例外处理流程的装置及其操作方法无效
申请号: | 00135354.3 | 申请日: | 2000-12-15 |
公开(公告)号: | CN1357831A | 公开(公告)日: | 2002-07-10 |
发明(设计)人: | 高民晟;桂念慈;梁景哲 | 申请(专利权)人: | 智原科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 马莹 |
地址: | 台湾省新竹*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理器 软件 控制 例外 处理 流程 装置 及其 操作方法 | ||
本发明是有关于一种用于处理器的处理例外流程的装置及方法,特别是有关于一种其用于软件控制来处理例外流程的装置及操作方法。
通常所提供的中央处理单元(Central Processing Unit,简称CPU)能够同时在主处理模式及一个或多个例外处理模式下操作。主处理模式是用来执行应用程序,藉以完成用户所需的数据处理。例外处理模式通常是用在诸如回应外部提供的中断信号的操作。
一般希望在主处理模式及例外处理模式之间的移动是可回复性的,即在回到主处理模式时,可以继续主处理模式的操作,好像未曾被中断过一样。为了达到这种可回复性,在离开主处理模式时,必须将CPU中的各个处理寄存器的内容储存起来,使其在例外处理模式结束时,可以回复所用于的寄存器,以及将控制返回主处理模式。
传统上,在离开主处理模式后,是将主处理模式下的寄存器所储存的内容传到外部的一随机存取存储器(Random Access Memory,RAM)上。而在回复到主处理模式时,将储存在该随机存取存储器内的主处理模式数据存回寄存器中。这种传统的方法存在一问题,即从堆栈存储器(Stack Memory)中循序地写入或是读出的速度非常慢,造成中央处理单元(CPU)的效能降低。另外一问题即在进入或是离开主处理模式时,必须储存相当多的数据(例如不同的状态标记,用以指出所要或是所允许的CPU操作等等)。
另外,在其发明名称为“Register substitution duringexception processing”的美国专利5,386,563,以及其发明名称为“Exception handling method and apparatus in data processingsystems”的美国专利5,701,593中披露了相关的已有技术。
如上述专利中所披露的,当用户程序以正常方式执行时,程序计数器(Program Counter,简称PC)会依序地增加。在执行用户程序期间,处理器会检查正常执行的流程是否被中断。假如此正常执行流程被中断,则为例外发生。这些例外或中断允许处理器处理产生此例外的事件。这些例外可以是由内部的或外部的来源所引起的以及可以是由不同原因的硬件或软件所产生的。
一般而言,硬件会提供许多的寄存器,以用来在一般主处理模式下(下面称其为用户模式User32)或是其他例外事件时暂存数据。在该用户模式下,具有十五个寄存器作为一般用途的数据暂存处理之用(下面称其为R0、R1...到R14)。而一程序计数寄存器R15pc用作程序计数器,以指出在将要执行的指令顺序中目前的位置。一目前程序状态寄存器(Current Program Status Register,下面称其为CPSR)用以储存不同的标记,以指出中央处理单元CPU的控制参数(ControlParameters),而其中的5位,可用以指出目前处理的模式。该用户模式User32提供用以执行用户的程序。
所有不同类型的例外处理模式包括SVC32模式、Undef32模式、Abt32模式、IRQ32模式与FIQ32模式。SVC32模式用来当处理器复位(Reset)或是当软件中断指令(Software Interrupt Instruction)执行时进入。Abt32模式当存储器系统终止存储器存取时进入。IRQ32(Interrupt Request)模式是当nIRQ处于低电平(逻辑0)时,而在CPSR的Ibit清楚地指出这样的慢速中断要求容许时进入。FIQ32(Fast Interrupt request)模式是在当nFIQ处于低电平(逻辑0),而在CPSR的Fbit清楚地指出这样的快速中断要求容许时进入。
每一个例外处理模式SVC32模式、Undef32模式、Abt32模式、IRQ32模式与FIQ32模式均具有两个例外模式寄存器,当在进入这些模式后,可用以替换在用户模式时的第13个寄存器R13与第14个寄存器R14的内容。而第13个寄存器R13通常用来储存在用户模式User32或是例外处理模式下的堆栈指针(Stack Pointer)。当进入这些例外模式中的一个模式时,系统将程序计数寄存器R15pc的内容储存到寄存器R14,以作为跳回用户模式时的地址寄存位置。这样当该系统从例外处理模式跳回用户模式后,可以依据该地址跳回。因此,如何在每一个例外处理的事件处理后,将寄存器原来所储存的数据存回则相当地重要。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于智原科技股份有限公司,未经智原科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/00135354.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:空调的稳定器及安装结构
- 下一篇:实时时钟软件仿真方法及其装置