RISC处理器设计------中断的设计

Posted 1mpanda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
 
操作系统定义
技术分享图片

以上是关于RISC处理器设计------中断的设计的主要内容,如果未能解决你的问题,请参考以下文章

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

RISC处理器设计------时序的设计

RISC处理器设计------指令集的设计

RISC处理器设计-------处理器整体架构

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

这本读者期待的芯片书《手把手教你设计CPU——RISC-V处理器》终于出版!