• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

arm 处理器工作模式及寄存器机构

a0a6cb9f05a566f8 2018-09-05 浏览量:925
arm 处理器工作模式及寄存器机构
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • ARM的工作模式是跟架构、指令集有关,我们常说的ARM工作模式常常以32位的ARM V7指令集为例。


    ARMv4和ARMv5的指令集规定了ARM的7种工作模式,由寄存器CPSR[4:0]决定(见下表),分别是

    用户(User)模式:ARM处理器正常的程序执行状态

    系统(System)模式:运行具有特权的操作系统任务

    快速中断(FIQ)模式:用于处理紧急的中断,如高速数据传输或通道处理

    普通中断(IRQ)模式:用于处理通用的中断,通常在硬件中断信号后进入该模式

    管理(Supervisor)模式:操作系统使用的保护模式,是CPU上电后的默认模式,主要用于系统的初始化

    数据访问终止(Abort)模式:用于虚拟存储及存储保护,当访问非法地址或读取无权限内存地址时进入该模式

    未定义指令中止(Undifined)模式:当执行未定义的指令时进入该模式,用于支持硬件协处理器的软件仿真

    CPSR[4:0]定义的ARM工作模式
    CPSR[4:0]  处理器模式可访问的寄存器
    0b10000USERR0~R14;PC;CPSR
    0b11111SYSTEMR0~R14;PC;CPSR
    0b10001FIQ R0~R7;R8_FIQ-R14_fiq;PC;CPSR;SPSR_fiq
    0b10010IRQ R0~R12;R13_irq-R14_irq;PC;CPSR;SPSR_irq
    0b10011SUPERVISORR0~R12;R13_svc-R14_svc;PC;CPSR;SPSR_svc
    0b10111ABORTR0~R12;R13_abt-R14_abt;PC;CPSR;SPSR_abt
    0b11011UNDEFINEDR0~R12;R13_und-R14_und;PC;CPSR;SPSR_und



    现在ARMv6和ARMv7指令集做出了改变,由MSP(主堆栈指针)和PSP(进程堆栈指针),用户模式和特权模式组合成4种工作模式,将其他模式整合到异常向量表中,干净简洁舒服啦。


    ARM共有37个32位物理寄存器,其中,User和System使用完全相同的物理寄存器。


    。。。。更详细的你可以参考我的博客

    • 发布于 2018-09-06
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:12
  • 这个看数据手册

    你所谓的工作模式指什么?

    你是想了解怎么设置寄存器来实现不同的工作模式吗?社区视频中有专门的一下课程介绍了相关知识,你可以了解一下。

    • 发布于2018-09-05
    • 举报
    • 评论 0
    • 0
    • 0

  • ARM不同的芯片是不同的,还有多核心的,你要说的是哪一种呢,你要看内核架构的指南
    • 发布于2018-09-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 有用户模式,系统模式,安全模式,中断模式,快中断模式,等。

    寄存器有通用寄存器R0到R15,状态寄存器psr ,pc sp lr 分别是r15 r13 r14,还有浮点寄存器,协处理器寄存器

    • 发布于2018-09-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个需要看芯片的数据手册,每个芯片寄存器都不同
    • 发布于2018-09-06
    • 举报
    • 评论 0
    • 0
    • 0

  • ARM手册看一看,内容纯英文,很详细
    • 发布于2018-09-06
    • 举报
    • 评论 0
    • 0
    • 0

  • arm 处理器工作模式​有七种,如下,寄存器机构这个就得需要看手册了,

    用户模式(USR):正常程序执行模式,不能直接切换到其他模式

    系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式等特权
    快中断模式(FIQ):支持高速数据传输及通道处理,FIQ异常响应时进入此模式
    中断模式(IRQ):用于通用中断处理,IRQ异常响应时进入此模式
    管理模式(SVC):操作系统保护模式,系统复位和软件中断响应时进入此模式(由系统调用执行软中断SWI命令触发)
    中止模式(ABT):用于支持虚拟内存和/或存储器保护,在ARM7TDMI没有大用处
    未定义模式(UND):支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式
    • 发布于2018-09-06
    • 举报
    • 评论 0
    • 0
    • 0

  • ARM处理器的工作模式包括用户模式 系统模式 快中断模式 中断模式 管理模式 中止模式 未定义模式共七种

    寄存器每个系列的ARM都是不同的,具体要看ARM的用户手册

    • 发布于2018-09-07
    • 举报
    • 评论 0
    • 0
    • 0

  • arm有7中工作模式​


    1. 用户模式(Usr)            用于正常执行程序

    2. 快速中断模式(FIQ)    用于高速数据传输
    3. 外部中断模式(IRQ)   用于通常的中断处理
    4. 管理模式(SVC)          操作系统使用的保护模式(高权限)复位和软件中断进入
    5. 数据访问终止模式(abt)   当数据或指令预取终止时进入该模式,可用于虚拟内存及存储保护
    6. 系统模式(sys)            运行均有特权的操作系统任务
    7. 未定义指令终止模式(und)   用于支持硬件协处理器的软件仿真(浮点、微量运算)


    寄存器不同的控制器是不一样的,需要看芯片手册

    • 发布于2018-09-10
    • 举报
    • 评论 0
    • 0
    • 0

  • arm的寄存器是通过AMBA一系列总线实现的,这些总线访问自带地址空间
    • 发布于2018-09-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 每个芯片的寄存器都是不一样的,要根据对应的数据手册来设置访问
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 要参考你的芯片手册来操作,上面都会有写时序的操作
    • 发布于2018-10-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个可以参看ARM Cotrex-M3权威指南,里面有比较详细的描述。
    • 发布于2018-10-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

arm 处理器工作模式及寄存器机构