Chinaunix首页 | 论坛 | 博客
  • 博客访问: 228934
  • 博文数量: 42
  • 博客积分: 1650
  • 博客等级: 中尉
  • 技术积分: 490
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-13 19:54
文章分类

全部博文(42)

文章存档

2011年(19)

2010年(23)

分类:

2010-10-21 16:03:58

2)恢复陷阱指令流执行的能力。

3)获得监管程序要求状态的优先级指令去仿真延时陷阱诱导指令,并且恢复陷阱指令流的执行。

注意:可恢复执行可能涉及到延时陷阱为止的没有完全执行的指令仿真。

无论延时陷阱(和延时陷阱有关的队列)是否依赖于实现,注意完全避免延时陷阱,一个操作需要执行所有浮点型指令,并带有任何和整型指令执行同步产生的异常。延时陷阱队列在这种操作中是多余的。

中断陷阱

中断陷阱不是精密陷阱也不是延时陷阱。中断陷阱由PSR中的PIL(中断水平处理)域和PSR中的ET(中断使能)域共同控制。

中断陷阱可能因为:

(1)  和先前执行的指令不直接相关的外部中断要求。

(2)  和先前执行指令不直接相关的异常。

(3)  由先前指令引起的异常。

这些原因的含义如下:

1.外部中断要求可能由外部信号的加入引起的,这些信号和任何特殊处理器或存储状态不直接相关。例子:I/O口信号。

2.中断陷阱由和先前指令不直接相关引起的异常产生,可能由对任意依赖操作的处理器或操作状态的检查引起的,例子:由依赖于取回但没有执行的断点逻辑产生的异常,或者依赖于处理器执行历史的断点逻辑产生的异常。

3.中断陷阱由先前指令引起的异常产生,和延时陷阱有些相似,它们都发生在陷阱诱导指令之后,陷阱诱导指令已经调整了处理器或存储器状态,不同点是:引起中断陷阱的指令不需要仿真,因为实现不保存必要的状态。例子:相应负载指令执行完成后,ECC数据访问错误报告。

7.2 陷阱模型

因为用户使用程序是不看陷阱的,除非他们通过监管软件建立陷阱处理器时。对依赖于实现的不可恢复的机器检查错误异常会改变整个系统。SPARC允许实现为特定的异常类型提供另外的陷阱模型。

具体来说,特定异常可能引起精密陷阱,延期陷阱或中断陷阱,这取决于实现。注意:根据定义外部中断要求总是引起中断陷阱。然而,为了支持用户陷阱处理程序和可虚拟化的指令,SPARC定义了一个在所有操作可用的默认的陷阱模型。

默认陷阱类型

SPARC默认陷阱模型认为所有陷阱必须精确,有四个例外:

(1)  浮点型和协处理器异常(fp_exception, cp_exception)可能被推迟。

(2)  依赖于实现的不可恢复机器检查异常可能被推迟或中断。

(3)  在多址负载/存储指令的主要访问之后引起的异常,如果是由于不可恢复的机器检查异常可能被中断。因此,第二次存储器访问引起的陷阱发生在第一次访问时处理器或存储器状态被改变之后。

阅读(1597) | 评论(0) | 转发(0) |
0

上一篇:SPARC 陷阱1

下一篇:SPARC陷阱3

给主人留下些什么吧!~~