
3 0功能说明
(续)
陷阱( ILL )
非法操作的特权操作是AT-Ⅲ
诱惑而CPU在用户模式( PSR位U
e
1)
陷阱( SVC )
在超级用户调用( SVC )指令是exe-
cuted
陷阱( DVZ )
尝试了通过划分一个整数
为零( FPU陷阱用于浮点除法
零)
陷阱( FLG )
该标志指示所检测到的一个' 1 ''
CPU PSR的F位
陷阱( BPT )
断点( BPT )指令是execut-
ed
陷阱( TRC )
刚刚完成的指令被跟踪
见下文
陷阱( UND )
未定义的操作码是由遇到
中央处理器
一个特殊情况是跟踪陷阱( TRC ),这是由启用
设置在处理器状态寄存器( PSR )在T位
每个指令的T位被复制到开头
PSR P (跟踪'待定'' )位如果P位设置在底
一条指令然后跟踪陷阱被激活。如果任何其他
陷阱或中断请求被跟踪指令期间取得
它的整个服务过程,方可完成
跟踪陷阱发生的每个中断和陷阱序列
处理适当跟踪P位保障之一,
每条指令和低保只有一个跟踪陷阱
期间跟踪陷阱推寄信人地址总是
下一个指令的地址被跟踪
3 8 6优先
该NS32016 CPU内部优先级间同步
中断和陷阱的要求如下
1 )陷阱比其他跟踪
(最高优先级)
2 )中止
3 )不可屏蔽中断
4 )可屏蔽中断
5 )跟踪陷阱
(最低优先级)
3 8 7中断陷阱序列的详细流程
为目的的接口的以下详细讨论
中断和陷阱的服务序列的单一序列称为
''服务''的定义
图3-28
一旦检测到任何IN-
中断请求或陷阱条件下,CPU首先执行
顺序取决于中断或陷阱这类型
序列将包括推动处理器状态雷吉斯 -
之三,建立向量和返回地址的
然后CPU执行的服务序列
对于顺序遵循的处理无论是屏蔽或
不可屏蔽中断(在INT或NMI引脚respec-
tively )见第3节8 7 1对于中止中断看到二段
3 8 7 4对于跟踪陷阱见第3节8 7 3 ,并为所有
其他陷阱见第3节8 7 2
3 8 7 1屏蔽非屏蔽中断序列
该序列是由CPU执行时NMI引脚
接收到一个下降沿或INT引脚变为活跃
I位设置中断序列PSR开始无论是在
下一个指令边界或字符串的情况下,
其execu-期间在下一中断的点的说明
化
1如果一个字符串指令被中断,还没有的COM
pleted
一个清除处理器状态寄存器P位
b将'返回地址'到的第一个字节的地址
被中断的指令
否则,设置' '返回地址'到的地址
下一条指令
2将处理器状态寄存器( PSR )成tempo-
的临寄存器则明确PSR位■ ü T P上和我
3如果中断是不可屏蔽
一个阅读从地址FFFF00一个字节
16
应用现状
代码0100 (中断应答法师秒
3 4 2 )弃读字节
b将'向量'' 1
c转到步骤8
4如果中断非向量
一个阅读从地址FFFF00一个字节
16
应用现状
代码0100 (中断应答法师秒
3 4 2 )弃读字节
b将'向量'' 0
c转到步骤8
5以下的中断向量读''字节''从地址
FFFE00
16
应用状态代码0100 (中断AC-
知识大师二段3 4 2 )
6如果'字节''
t
0然后设置''向量''到''字节' ,然后转到步骤
8
7如果''字节''的范围是从
b
16
b
1,则间
中断源级联(更多负值再
为将来使用)执行以下
一个从内存中读取32位级联地址
地址被计算为INTBASE
a
4字节
B读''向量''应用级联地址只
阅读和状态代码0101 (中断应答
级联二段3 4 2 )
8推PSR复印件(步骤2)到中断堆栈
作为一个16位的值
9执行服务(向量返回地址)
图3-28
服务(向量返回地址)
1)
阅读从中断的32位外部程序描述符
调度表的地址是矢量4
a
INTBASE注册内容
2)
将描述符的模块领域进入MOD注册
3)
读取内存地址的新的静态基址指针CON-
tained在MOD并将其放入SB注册
4)
读取内存地址MOD程序基本指针
a
8
从描述符添加到它的偏移量字段配售结果
在程序计数器
5)
同花顺队列非顺序读取中断的第一条指令
常规
6)
推MOD注册到中断堆栈为一个16位值(
的PSR已经被推作为一个16位的值)
7)
按返回地址压入堆栈中断的32位quanti-
ty
图3-28服务序列
在所有中断陷阱调用序列
42