S3C2440中断体系结构

S3C2440中断体系结构

ID:41763466

大小:162.87 KB

页数:18页

时间:2019-09-01

S3C2440中断体系结构_第1页
S3C2440中断体系结构_第2页
S3C2440中断体系结构_第3页
S3C2440中断体系结构_第4页
S3C2440中断体系结构_第5页
资源描述:

《S3C2440中断体系结构》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、S3C2440中断体系结构一、S3C2440中断体系结构1)ARM体系CPU的7种工作模式用户模式(usr):ARM处理器正常的程序执行状态快速中断模式(fiq):用于高速数据传输或通道处理中断模式(irq):用于通用的中断处理管理模式(svc):操作系统使用的保护模式数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护系统模式(sys):运行具有特权的操作系统任务未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用丁支持硬件协处理器的软件仿真除用户模式外,其他6种工作模式都屈丁•特权模式,大多数程序运行

2、于用户模式,进入特权模式是为了处理中断、异常,或者访问被保护的系统资源。ARM体系的CPU有以卜•两个工作状态ARM状态:此时处理器执行32位的字对齐的ARM指令Thumb状态:此时处理器执行16位的、半字对齐的Thumb指令ARM920T有31个通用的32位寄存器和6个程序状态寄存器。这37个寄存器分为7组,如下图所示:ARM状态下的通用寄存器与程序计数器System&UserFIQSupervisorAboutIRGARM状态下的程序状态寄存器CPSRCPSR、SPSRfiqCPSRXSPSRsvcCPSRSPSRabtCPSRKSPSRirqZ

3、=分组寄有器图中R0-R15可以直接访问,这些寄存器除了R15外都是通用寄存器,既可以保存地址也可以保存数据。R13称为栈指针寄存器,通常用于保存栈指针R14称为程序连接寄存器(LR),当执行BL子程序调用指令吋,R14得到R15(程序计数器PC)的备份。而当发生中断或异常时,对应的R14_svc,R14_irq,R14_abt或R14_und中保存R15的返回值R15是程序计数器快速小断模式有7个备份寄存器R8」iq-R14_fiq,这使得进入快速屮断模式执行很大部分程序时(不改变R0-R7),不需要保存任何寄存器。用户模式、管理模式、数据访问终止模

4、式和未定义指令屮止模式都含有两个独占的寄存器副本R13、R14,这样令每个模式拥有口己的栈指针寄存器和连接寄存器。每种工作模式述有寄存器CPSR(当前程序状态寄存器),它被用于标识各种状态和当前处于哪种工作模式,如卜•图所示:条件码标志位.保留位,控制位.z・z・v・••♦丿F和TM2MlMO—Overflow.CaiNegatixx-皿」:0卜OblOOOO,ObJLOOO—OblO0丄OblOOll.OblOlll-ObllOllObll丄丄丄■模式位.〉工作状态位pFIQ中断禁止位.IRQ中断禁止位.O:程序状态奇存器.CPSR[4:0]1000

5、0-用户。正常用户模式,程序正常执行PC,R14-R0,O100013PC,R14jKfR8_fiq,CPSRtSPSRJ模式门FIQp处理快速中断,支持高速数据传送或通道处理a10010-IRQ。处理普通中断10011』SVO操作系统保护模式,处理软件中断(SWI)。PC,R14_iiq~R13_fiq,lCPSR,SPSR」PC,R14_wR13_R12-R0,CPSR,SP当一个异常发生时,将切换进入相应的工作模式,这是ARM920TCPU将自动完成如下工作:①在异常工作模式的连接寄存器R14屮保存前一个工作模式的下一条即将执行的指令地址。对于A

6、RM状态,这个值是当前PC值加4或加8②将CPSR的值复制到界常模式的SPSR③将CPSR的工作模式位设为这个异常对应的工作模式④令PC值等于这个异常模式在异常向量表屮的地址,即跳转去执行异常向量表中的相应指令从异常工作模式冋到之前的工作模式时,需要通过软件完成如下事情:①前面进入异常工作模式时,连接寄存器中保存了前一工作模式的一个指令地址,将它减去适当的值后赋值给PC寄存器②将SPSR的复制回CPSR异常模式退出异常模式时PC的计算方法进入异常模式时R14中保存的值管理模式(SWI指令进入)MOVSPC,R14PC+4(1)未定义指令终I上模式MOV

7、SPC,R14PC+4(1)快速中断模式SUBSPC,R14,#4PC+4(2)中断模式SUBSPC,R14,#4PC+4(2)数据访问终I上模式异常原因:指令预取终止SUBSPC,R14,#4PC+4(1)异常原因:数据访问终止SUBSPC,R14,#8PC+8(3)注:(1)PC为这些指令的地址:SWI、未定义的指令、在预取指时就失败的指令(2)PC为这些指令的地址:进入快速中断模式、中断模式前,被打断而未执行的指令(3)PC为这些指令的地址:导致数据访问终止的加载/存储指令(LDR、STR、LDM和STM)二、S3C2440中断控制器当某事件发生

8、时,硕件会设置某个寄存器,CPU在执行完一个指令时,通过硬件查看这个寄存器,如果发现所关注的事

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。