RISC处理器设计(三)------中断的设计

中断是将正常的指令流运行过程转向中断服务程序。在中断处理完之后,处理器返回到原来运行的程序。

处理器状态包括寄存器状态和程序流返回地址,他们保存在特殊寄存器和通用寄存器的R28~R31中。所以有两套额外的寄存器在不同的中断等级下调出使用。

处理器有外部中断或称为硬件中断(Hwi)供其他系统单元请求处理器暂停正在执行的程序,而内部中断则发生在处理器内部。内部中断又分为异常(EXC)和软件中断(SWI)两种。

异常是指令执行过程中发生错误时自动调用的,软件中断是SWI指令调用的。

软件通过跳转到不同的中断处理程序,能够分别处理不同含义和不同优先级的中断。

硬件中断则是通过各自独立的中断序号来区分的。通过中断向量,中断处理程序的起始地址便可以计算出来。

一个向量基值寄存器VBR为中断处理程序提供快速地址指示。这个指示地址是可编程的。中断号和VBR的组合便产生了中断服务程序的入口地址。

VBR寄存器的内容或基址寄存器中的内容,指示了每一个中断处理程序在存储器中的起始地址。

这个表包含了指向32个中断处理程序地址入口的跳转指令,以及包含2个字8个字节的延迟槽指令。

因此VBR寄存器的0、1和2位都是0.中断处理程序入口由5位向量表示,即为VBR的3-7位。


类型

向量

说明
Hwi

00xxx

00000

00001

00010

00011

00100

00101

00110

00111

BUS_ERROR总线错误

PAGE_FAULT页面错误

MISS_ALIGN未对准

操作系统定义

操作系统定义

操作系统定义

操作系统定义

操作系统定义

     
Exc

01xxx

01000

01001

01010

01011

01100

01101

01110

01111

延迟槽为CTR指令

PRIVILEGE_VIOLATION越权指令

ILLEGAL_INSTRUCTION非法指令

UNIMPLEMENTED_INSTRUCTION未实现指令

保留

保留

保留

PANIC严重错误

Swi

1xxxx

10000


操作系统定义

原文地址:https://www.cnblogs.com/1mpanda/p/8353349.html

时间: 2024-10-31 23:38:27

RISC处理器设计(三)------中断的设计的相关文章

RISC处理器设计(一)------体系结构的选择

RISC处理器指令和变量数目非常少但结构复杂,因此RISC处理器可实现更高的并行性.本文设计的RISC处理机的特点如下: (1)指令简单且数量较少 通过对程序的静态指令进行静态分析,最终只将最常见的指令在RISC处理器中实现,其他指令由编译器综合实现.要实现这一特性以及减少诸如数据相关或程序跳转引起的流水线冲突较少,主要依赖于合适的编译器和特殊硬件来实现.指令集的简单也带来了相对简单的指令传送机制,可以减少对存储器进行指令的读和写操作. (2)格式固定而且指令长度简短 简单指令基本上字长是固定的

RISC处理器设计(二)------指令集的设计

定义指令字长为32位,并把寄存器堆扩展到32个通用32位寄存器.一套包含8个寄存器的寄存器堆,对于一个优化好的进程,足够安排所有的本地变量.采用寄存器窗技术可以提高系统的吞吐率.使CPI<1.一套32位寄存器阵列能够实现4个嵌套深度的进程. 1.指令格式的设计 指令可以分为四大类: 类别 说明 运算类 寄存器数据算术逻辑运算 访存类 主存储器访问(Load/Store) 跳转类 分支跳转(控制转移.条件与非条件) 特殊类 对诸如程序计数器PC等特殊寄存器操作的特殊指令 指令格式可以分为两大类:访

RISC处理器设计(七)------Cache和寄存器堆的选择

1.通用指令Cache MPC 因为访存类指令占据了存储器的接口,阻止了新的指令进入处理器.因此在冯诺依曼体系结构下,单存储器接口会产生冲突问题. 在RIB模式下(精简指令缓冲器),只保存在访存类指令执行时需要从存储器中取出的指令,将其存入Cache中. 通过这种方法,访存类指令执行的开销可以在Cache命中的情况下减少到一个半周期以内. MPC包含16项,每一项包含两个部分.每一个部分中保存一条指令.还有一个TAG区域保留,作为地址和处理器模式的标识位(KERNEL_MODE或USER_MOD

2019春 第三次课程设计报告

2019春 第三次课程设计报告 一,实验项目名称 利用easyX插件完成的时钟 二,实验项目功能描述 实现将时间显示为时钟 三,项目模块结构介绍 只有一个游戏主题,即时钟.cpp 四,实现界面展示 五,代码托管链接 https://gitee.com/zhuwanxing/zwxc 六,实验总结 这次是使用vs,用easyX插件来完成图像显示,在使用vs的时候出现了不少问题,但是都用百度搞定了,vs无法直接使用,要在调试-属性-c/c++-预处理器 输入 _CRT_SECURE_NO_WARNI

游戏UI框架设计(三) : 窗体的层级管理

游戏UI框架设计(三) ---窗体的层级管理 UI框架中UI窗体的"层级管理",最核心的问题是如何进行窗体的显示管理.窗体(预设)的显示我们前面定义了三种类型: 普通.隐藏其他.反向切换.代码如下: "普通显示"模式允许多个窗体同时显示,这种类型应用最多.例如RPG中的主城界面(见下图). "隐藏其他界面" 模式一般应用于全局性的窗体.我们在开发此类窗体时,为了减少UI渲染压力.提高Unity渲染效率,则设置被覆盖的窗体为"不可见&qu

数据库表设计三范式

数据库设计三范式(nomorlization) 1NF:原子性,即每个字段都不可以在分割了. 2NF:唯一性,即每个表只描述一个实体,这个实体要有主键,非主关键字要完全依赖主键,正因为说是完全依赖,是因为在组合主键存在的情况下,非主关键字不能只依赖部分关键字. 3NF:一个表中不能包含其他表中已经存在的非主键字段信息,也就是说只可以包含其他表的主键信息,这样就是主外键,通过主外键就可以进行表之间的连接(join),3NF主要是减少数据冗余. 数据库表设计三范式,布布扣,bubuko.com

ui界面设计公司搜集精彩设计三十例:移动端APP界面设计欣赏之二

如果您想订阅本博客内容,每天自动发到您的邮箱中,请点这里 蓝蓝设计是一家地处北京的界面设计公司,经常会接到移动端APP界面设计的项目,比如给一起海带做的海外代购APP.给词觅公司做的社交APP-词觅APP.做的人民币鉴伪的APP.给赞同科技做的银行智能网点ipad端界面设计,给快递通做的快递通自助取快递触摸屏界面设计. 在做设计的同时我们也会经常收集一些APP界面作为参考,一下就是一些APP界面的案例: APP界面欣赏案例一 APP界面欣赏案例二 APP界面欣赏案例三 APP界面欣赏案例四 AP

三:Storm设计一个Topology用来统计单词的TopN的实例

Storm的单词统计设计 一:Storm的wordCount和Hadoop的wordCount实例对比 二:Storm的wordCount的方案实例设计 三:建立maven项目,添加maven相关依赖包(1)输入:search.maven.org网址,在其中找到storm的核心依赖(2)将核心依赖添加到pom.xml文件中 <dependency>            <groupId>com.github.aloomaio</groupId>            

VxWorks中的中断应用设计要点

硬件中断处理是实时系统设计中的关键性问题,设计人员有必要对其作深入研究,以更好地满足开发工作需要.文中以VxWorks操作系统为软件平台,讨论了在实时系统中进行中断应用设计时要注意的一些问题.由于软硬件的相关性,选用广泛应用的X86架构的嵌入式汁算机为硬件平台,对PenriumCPU和计算机主板对硬件中断的管理机制也做了详细介绍 所得出的研究结论在具体的开发项目中均得以验证,可供相关技术人员参考. 硬件中断处理是实时系统设计中最重要.最关键的问题.文中综合软硬件,从工程应用的角度对此问题加以讨论