[发明专利]具有自对准堆栈指针的数据处理系统及其方法无效
| 申请号: | 97110525.1 | 申请日: | 1997-04-14 |
| 公开(公告)号: | CN1168505A | 公开(公告)日: | 1997-12-24 |
| 发明(设计)人: | 约瑟夫·C·西尔塞罗;杰弗逊·高金科 | 申请(专利权)人: | 摩托罗拉公司 |
| 主分类号: | G06F15/00 | 分类号: | G06F15/00 |
| 代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 于静 |
| 地址: | 美国伊*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 具有 对准 堆栈 指针 数据处理系统 及其 方法 | ||
本发明一般涉及数据处理系统,特别是涉及数据处理系统中的堆栈指针。
在数据处理系统中,堆栈指针通常是硬件寄存器,用作限定程序变量和临时存储的存储器位置的存储器地址指针。通常,硬件使用程序设计模型中一个或多个寄存器作为系统堆栈指针。在许多系统中,在执行某些操作期间,堆栈指针由指令集隐含使用。通常,该地址寄存器定义了当前堆栈帧的顶,在此操作数通过将数据“推进”存储器堆栈而在各函数之间传送。该推进操作包括将堆栈指针减“1”,然后将数据拷贝到新堆栈指针地址定义的位置。在例行程序使用了该数据之后,通过简单地将堆栈指针加“1”使其恢复到原来值,而再分配该数据。该过程称为“弹出”堆栈。
由于这些堆栈指针通常定义了存储器地址,用户程序例行处理限定堆栈顶的堆栈指针内容。各类长度的操作数,如字节、字、长字,都可能被推入堆栈,这样在任何时候堆栈顶都可能指向任何允许的对准。据说在任何操作数地址对准上提供任何操作数长度的自动硬件支持的处理器也支持未对准。如果操作数的存储器地址与其自然边界不对应,则称该操作数未对准。自然边界简单地定义成一个对操作数长度模运算余0的地址。例如,如果存储器字节地址是模2余0则16位字操作数是对准的,如果存储器字节地址是模4余0则32位长字是对准的。不符合这种定义的对准会产生未对准操作数。
大多数处理器包括对各种异常事件处理的硬件支持。这些异常事件,也称为故障,通常包括中断、系统调用和算术运算错误条件。也可能发生其他异常事件。通常在检测到异常事件时,处理器将在发生故障时在描述机器环境的系统堆栈顶部产生一特殊的异常事件帧。在产生该异常事件堆栈帧之后,处理器通过将控制传送给异常事件类型确定的指令地址,而将控制传送给特殊异常事件处理例程。通常异常事件处理例程将处理可能会启动某些校正动作的故障,然后返回到异常事件发生时执行的应用程序。
大多数处理器使用某种类型的出错检测,这样在处理任何其他异常事件期间发生的某些灾难性故障状态会导致整个系统失效从而使处理器停止工作。灾难性故障状态这一特殊的集合包括在某些边界上系统堆栈指针的对准。为了补偿这种可能性,现有技术已实施了一些不同的解决方案,它们要求大量的硬件。例如,大多数现有技术解决方案要求能够确保无操作数未对准的硬件电路。该方案通常要求基于处理器操作模式的多堆栈指针。该操作模式通常定义与执行程序有关的特权级,其最简单形式通常包括两级特权:监督者(最高特权)和用户(最低特权)。在监督方式中执行提供对系统所有资源的访问,而用户方式中执行不能访问某些硬件资源。此外,许多处理器在数据处理系统中提供专用硬件电路来强制所需的堆栈指针的对准。注意,在每种现有技术方案中,都需要专用硬件电路和相应的额外开销。
对于无法实施这种昂贵的硬件电路的数据处理系统,已开发出软件解决方案。在使用这种软件方案时,不允许并发异常事件。换句话说,一旦数据处理系统已经获取了一个异常事件,则不允许其他异常事件。在这种情况下,如果另一异常事件不能被标记和确认,则机器环境的状态和程序计数器信息将被重写。于是,数据处理系统将不能回到处理第一个异常事件之前的状态。在第二种类型的现有技术系统中,数据处理系统无法有效地正确处理所有异常事件。
现有技术的解决方案需要大量额外的硬件电路,以在确认和处理完异常事件之后将数据处理系统恢复到其初始状态。于是需要这样一种解决方案:它使数据处理系统的设计者有选择地包括用于操作数未对准的硬件支持,同时又能保证数据处理系统无论系统堆栈指针是否对准都能正确地处理所有的异常事件并在处理了异常事件之后恢复初始状态。
图1以方框图形式显示根据本发明一个实施例的数据处理系统;
图2以方框图形式显示图1所示数据处理系统的中央处理单元部分;
图3以方框图形式显示图2所示中央处理单元的取操作数电路;
图4以方框图形式显示图3所示取操作数电路的寄存器存储器电路(register file circuit);
图5以方框图形式显示图2所示中央处理单元的地址产生执行电路;
图6以方框图形式显示图4所示地址产生执行电路的另一个执行机构的一部分;
图7以方框图形式显示用于多个截栈指针SP寄存器值的一个异常事件堆栈帧结构;以及
图8以方框图形式显示包括4位格式字段的一个异常事件堆栈帧的结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于摩托罗拉公司,未经摩托罗拉公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/97110525.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:促红细胞生成素基因的克隆及其表达细胞系
- 下一篇:二次电池的盖帽组件





