ARM七种运行模式.doc

ARM七种运行模式.doc

ID:51467993

大小:472.00 KB

页数:10页

时间:2020-03-11

ARM七种运行模式.doc_第1页
ARM七种运行模式.doc_第2页
ARM七种运行模式.doc_第3页
ARM七种运行模式.doc_第4页
ARM七种运行模式.doc_第5页
资源描述:

《ARM七种运行模式.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、s3c2440中断体系结构:如何用中断?1.中断发生:保存别人的状态如何中断可以事先设置,对程序初始化,使能中断。中断发生后,进入中断模式2.中断处理分辨中断源进行不同的处理清理工作3.恢复别人的状态过程:外界信号上升沿、下降沿,高电平、低电平都可以设置成信号引脚设置,再进入状态寄存器。状态寄存器连接屏蔽寄存器进入第二个状态寄存器,储存各种中断,可以储存多个中断进入优先级寄存器,判断中断运行顺序再进入屏蔽使能寄存器和模式寄存器进入优先级寄存器进入cpu处理cpu的处理:进入入口地址bhandleIRQ计算返回地址,被中断

2、处地址保存现场,即各寄存器状态调用处理函数函数运行完后恢复现场函数的处理:分辨终端处理中断清除数据,即清除中断1.中断寄存器arm的七种模式1.usr用户模式r0-r152.fiq快中断模式r0-r7专用寄存器r8-r15,3.svc管理模式专用寄存器r13-r14,4.abt数据访问终止模式5.sys系统模式6.und未定义指令终止模式7.irq中断模式几种模式的区别:嵌入式的中断:a.不同的寄存器b.不同的权限c.触发条件不一样何时使用几种模式:usr用户模式:arm处理器正常的程序执行状态fiq快中断模式:高速数据

3、传输和通道处理svc管理模式:操作系统使用的保护模式abt数据访问终止模式:数据或者指令终止时进入,用于虚拟存储或者存储保护sys系统模式:运行具有特权的操作系统任务und未定义指令终止模式:未定义的指令执行时进入该模式,用于支持硬件处理器的软件仿真.irq中断模式:用于通用的中断处理后六种是特权模式,用于处理中断、异常和特殊权限处理用户模式是最常见的模式2.中断中的异常中断是一种异常。当发生中断时,cpu进入中断模式cpu进入异常入口,异常入口是硬件规定的一个地址运行模式ARM920T支持7种运行模式:●用户(usr)

4、):正常ARM程序执行状态●快中断(fiq)):为支持数据传输或通道处理设计●中断(irq)):用于一般用途的中断处理●管理(svc)):操作系统保护模式●中止(abt):数据或指令预取中止后进入●系统(sys)):操作系统的特权用户模式●未定义(und)):执行了一个未定义指令时进入模式的改变可由软件控制,或者由外部中断或进入异常引起。大部分应用程序都将在用户模式执行。被称为特权模式的非用户模式,都将进入到中断服务或异常中去,或者访问受保护的资源。内部寄存器ARM920T总共有37个寄存器,其中31通用32位寄存器和6

5、个状态寄存器,但不能在同一时刻对所有的寄存器可见。处理器状态和运行模式决定了哪些寄存器对程序员可见。ARM状态时内部寄存器集在ARM状态,16个通用寄存器和一个状态寄存器在任意时刻都可见。在特权(非用户)模式下,将切换到指定模式的分组(banked)寄存器。图2-3显示了哪些寄存器在各模式下是可见的:分组寄存器被标记了阴影三角形。ARM状态时寄存器被设为包含16个直接可以访问的寄存器:R0到R15。除了R15,其他全部寄存器都为通用寄存器,如可能用于保存数据或地址值。除此之外,还有第17个寄存器用于存储状态信息。FIQ模

6、式包含7个分组寄存器,分别映射到R8-14(R8_fiq-R14_fiq)。在ARM状态,有很多不需要保存寄存器的FIQ处理程序。用户,IRQ,管理中止和未定义模式都包含两个分组寄存器映射到R13和R14,允许这些模式都都包含私有堆栈指针和链接寄存器。Thumb状态时内部寄存器集Thumb状态时的寄存器集为ARM状态时的寄存器的分配的一个子集。程序员能够直接访问8个通用寄存器R0至R7,还有程序计数器(PC),一个堆栈指针寄存器(SP),一个链接寄存器(LR)和CPSR。各自特权模式还分别有分组堆栈指针,链接寄存器和进程

7、保存状态寄存器(SPSR)。如图2-4所示。Thumb状态访问高寄存器(Hi-Registers)在Thumb状态,寄存器R8-R15(“Hiregisters”)不是标准的寄存器集的一部分。然而,汇编语言程序员可以受限的对它们的进行访问,可以将它们用于快速暂存。使用MOV指令的特殊变量可以将一个值从R0-R7(“Loregister”)范围内的寄存器传送到高寄存器或从高寄存器到第低寄存器。使用CMP和ADD指令也可以对高寄存器的值与寄存器的值进行比较以或相加。更多内容请参考表3-34。程序状态寄存器ARM920T包含了

8、一个当前程序状态寄存器(CurrentProgramStatusRegister-CPSR),还有5个用于异常程序处理的程序状态保存寄存器(SavedProgramStatusRegisters-SPSR)。这些寄存器的功能为:●保存最近已处理的ALU操作的信息●控制中断的使能与禁止●设置处理器的运行模式图2-6显示

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

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

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