`
jinghuainfo
  • 浏览: 1525973 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ARM处理器寄存器

 
阅读更多

++++++++++++++++++++++++++++++++++++++++++

本文系本站原创,欢迎转载! 转载请注明出处:

http://blog.csdn.net/mr_raptor/article/details/6556163

++++++++++++++++++++++++++++++++++++++++++

1.1.1 ARM处理器不同模式下寄存器

CPU的模式不同,在其对应模式下可以使用的寄存器也不相同,如表3-2所示:

3-2 ARM处理器模式下寄存器

寄存器类别

寄存器在汇编中的名称

各模式下实际访问的寄存器

用户

系统

管理

终止

未定义

中断

快中断

通用寄存器和程序计数器

R0(a1)

R0

R1(a2)

R1

R2(a3)

R2

R3(a4)

R3

R4(v1)

R4

R5(v2)

R5

R6(v3)

R6

R7(v4)

R7

R8(v5)

R8

R8_fiq

R9(SB,v6)

R9

R9_fiq

R10(SL,v7)

R10

R10_fiq

R11(FP,v8)

R11

R11_fiq

R12(IP)

R12

R12_fiq

R13(SP)

R13

R13_svc

R13_abt

R13_und

R13_irq

R13_fiq

R14(LR)

R14

R14_svc

R14_abt

R14_und

R14_irq

R14_fiq

R15(PC)

R15

状态寄存器

CPSR

CPSR

SPSR

SPSR_abt

SPSR_abt

SPSR_und

SPSR_irq

SPSR_fiq

其中R0~R7在所有模式下都可以使用的共有寄存器,R8~R12是快速中断模式下私有的寄存器,其它模式下不能使用,之所以叫其快速中断,是因为快速中断模式下,这几个私有寄存器里数据在模式切换时可以不用入栈保存。

除了用户模式和系统模式共用一组R13R14,其余每种模式都私有自己的R13R14,因为在每种模式下都有自己的栈空间用于执行程序,在执行程序过程中还要保存返回地址,这样可以保证在进入不同模式时,当前模式下栈空间不被破坏。比如:网卡因为数据到达,产生了中断进入中断模式,在中断模式下有自己的中断处理例程(ISR),ISR在执行时要用到栈空间,因此要使用R13R14。中断处理完成后,返回用户模式下,要继续执行被网卡中断信号中断的执行程序。

用户模式和系统模式为什么要共用一组R13R14呢?这是因为,在特权模式下可以自由切换工作模式,但是如果切换到用户模式下,就不能再切换到特权模式了,这是CPU为操作系统提供的保护机制,但是有的时候就需要切换到用户模式下去使用其R13R14寄存器,比如当操作系统的进程进行上下文切换时,如果用户模式和系统模式共用一组寄存器,那么可以切换到系统模式下(系统模式是特权模式)进行操作。

所有R15CPU同时只能处理一条指令,在取指时,有一个CPSR表示当前<FONT face=""">CPU的状态即可。

++++++++++++++++++++++++++++++++++++++++++

本文系本站原创,欢迎转载! 转载请注明出处:

http://blog.csdn.net/mr_raptor/article/details/6556163

++++++++++++++++++++++++++++++++++++++++++

分享到:
评论

相关推荐

    ARM体系结构数据类型级及寄存器堆栈操作操作实验报告

    ARM体系结构数据类型级及寄存器堆栈操作操作实验报告 ①功能实现: 说明软、硬件的设计思路,并展示实现功能,考核对设计功能的实现程度。 ②结果实现: arm-linux-gcc仿真实现,或S3C6410试验箱硬件实现。 ③实验...

    ARM基础知识ARM处理器

    ARM处理器共有37个寄存器。其中包括: **31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。 **6个状态寄存器。这些寄存器都是32位寄存器。 ARM处理器共有7种不同的处理器模式,每一种模式中都...

    ARM处理器的寄存器介绍

    本文主要关于ARM处理器的寄存器介绍

    ARM处理器1-寄存器指令系统

    ARM处理器1-寄存器指令系统

    chaleaoch#gitblog#9_x86架构32位处理器寄存器1

    x86架构32位处理器寄存器8个通用寄存器%esp -- 栈顶寄存器%ebp -- 栈帧基址寄存器%eip 下一条指令地址6个段寄存器条件码cf carry f

    LPC21XX系列寄存器

    LPC21xx 系列ARM7 处理器寄存器大全 外部存储器寄存器(PINSEL0):

    嵌入式技术及应用ARM处理器工作模式实验

    通过实验掌握使用MSR/MRS指令,实现ARM处理器工作模式的切换; 观察不同模式下的寄存器,加深对CPU结构的理解。

    ARM MIPS寄存器对比

    编译器针对ARM,MIPS处理器的不同处理

    ARM处理器的2种工作状态和7种工作模式及37个寄存器介绍

    本文主要跟大家来详细的介绍ARM处理器的两种工作状态和七种工作模式,奉上ARM处理器37个寄存器的详细介绍。 ARM处理器的两种工作状态 1、ARM状态:32位,ARM状态执行字对齐的32位ARM指令。 2、Thumb状态,16位,...

    ARM处理器内核介绍.ppt

    ARM处理器内核介绍,可以看到ARM内部电路很多细节,链接方式,缓存,寄存器等等框架图,学ARM不论老手还是新手都必须看的一篇幻灯片

    从51到ARM 32位嵌入式系统入门

    1.1从51系列单片机到ARM处理器 1.2ARM不是单片机 1.351系列单片机和ARM处理器的比较 1.4以ARM为核的单片机 1.4.1处理器内核只和外部地址相关 1.4.2ARM怎样组成一个单片机 1.4.3一点启示 第2章ARM处理器基础 2.1ARM...

    从51到ARM32位嵌入式系统入门 part0

    1.1从51系列单片机到ARM处理器 1.2ARM不是单片机 1.351系列单片机和ARM处理器的比较 1.4以ARM为核的单片机 1.4.1处理器内核只和外部地址相关 1.4.2ARM怎样组成一个单片机 1.4.3一点启示 第2章ARM处理器基础 2.1ARM...

    ARM指令集寄存器和处理器模式

    中文版 详细介绍了ARM的指令集,寄存器和处理器模式 对于初学者很有帮助 对于中级用户可以作为手册查询

    Arm处理器工作模式实验

    ARM ADS集成开发环境 Arm汇编指令,在各种处理器模式下切换并观察各种模式下寄存器的区别 代码分析

    ARM 处理器启动代码的分析与设计

    目前,ARM系列的通用32位RISC微处理器有ARM7、ARM9、ARM9E、ARM10等多个产品,这些处理器可以工作于7种模式下。除User模式以外的其它模式都叫做特权模式,除User和System以外的其它 5 种模式叫做异常模式。大...

    嵌入式系统/ARM技术中的ARM处理器CPSR标志位和条件符之间的关系

    本文目的是要理清ARM处理器的CPSR状态标志和ARM指令的条件符之间的关系。  一、CPSR寄存器  ARM V4的CPSR寄存器(和保存它的SPSR寄存器)中的位分配如下图1所示。  图1 程序状态寄存器格式  状态标志位...

    ARM指令的寻址方式-块复制寻址.pdf

    ARM指令的寻址方式-块复制寻址.pdf 学习资料 复习资料 教学资源

    基于ARM的处理器体系结构.ppt

    Load/Store结构:处理器只处理寄存器中的数据。独立的load和store指令用来完成数据在寄存器和外部存储器之间的传送。因为访问存储器很耗时,所以把存储器访问和数据处理分开。这样有一个好处,就是可反复地使用保存...

    ARM9体系结构,ARM9内部资源,ARM9内部结构教程实例+图

    1. ARM9TDMI 2. ARM的模块、内核和功能框图 3. ARM处理器状态 4. ARM处理器模式 5.ARM内部寄存器 6.当前程序状态寄存器 7. ARM体系的异常、中断及向量表 8. ARM体系的存储系统 9. 课后

    从51到ARM:32位嵌入式入门.part2

    内容分为3部分:第1部分是前4章,从大家所熟悉的51系列单片机的基础知识开始,介绍ARM处理器的基本知识,包括ARM和51系列的对比、中断处理系统、寄存器和存储器结构等;第2部分是5~9章,详细比较ARM指令和51系列...

Global site tag (gtag.js) - Google Analytics