ARM的七种工作模式详解

本文详细介绍了ARM体系结构的工作模式,包括用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式和未定义指令中止模式。在不同模式下,CPU有不同的权限和用途,例如用户模式用于正常程序执行,而异常模式则用于处理中断和访问受保护的系统资源。ARM在模式切换时会自动保存和恢复寄存器状态,以确保程序的正常运行。在Linux操作系统中,内核通常在管理模式下运行,而用户程序则在用户模式下运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、存储器格式(字对齐):

Arm体系结构将存储器看做是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,一次排列。作为32位的微处理器,arm体系结构所支持的最大寻址空间为4GB。

存储器格式

        1、大端格式:高字节在低地址,低字节在高地址;

        2、小端格式:高字节在高地址,低字节在低地址;

指令长度:

Arm微处理器的指令长度是32位的,也可以为16位(thumb状态下)。Arm微处理器中支持字节(8位),半字(16位),字(32位)三种数据类型,其中,字需要4字节对齐,半字需要2字节对齐。

注:所谓的指令长度是一条完整的指令的长度,而不是单纯的mov这3个字母长度

二、ARM体系的CPU有两种工作状态

   1、ARM状态:处理器执行32位的字对齐的ARM指令;(CPU上电处于ARM状态)

         2、Thumb状态:处理器执行16位的、半字对齐的Thumb指令;

在程序运行的过程中,可以在两种状态之间进行相应的转换。处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。

三、ARM体系的CPU有以下7种工作模式:

        1、用户模式(Usr):用于正常执行程序;

        2、快速中断模式(FIQ):用于高速数据传输;

        3、外部中断模式(IRQ):用于通常的中断处理;

        4、管理模式(svc):操作系统使用的保护模式;

        5、数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储以及存储保护;

        6、系统模式(sys):运行具有特权的操作系统任务;

        7、未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值