当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。本文主要讨论的是ARM体系的CPU的7种工作模式。一、存储器格式(字对齐)Arm体系结构将存储器看做是从零地址开始的字

ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。本文主要讨论的是ARM体系的CPU的7种工作模式。

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

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指令;

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

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

CPU上电处于ARM状态。

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

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

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

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

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

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

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

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

CPU的模式可以简单的理解为当前CPU的工作状态,比如:当前操作系统正在执行用户程序,那么当前CPU工作在用户模式,这时网卡上有数据到达,产生中断信号,CPU自动切换到一般中断模式下处理网卡数据(普通应用程序没有权限直接访问硬件),处理完网卡数据,返回到用户模式下继续执行用户程序。

  特权模式

除用户模式外,其它模式均为特权模式(Privileged Modes)。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。

异常模式

特权模式中除系统(system)模式之外的其他5种模式又统称为异常模式。它们除了可以通过在特权下的程序切换进入外,也可以由特定的异常进入。比如硬件产生中断信号进入中断异常模式,读取没有权限数据进入中止异常模式,执行未定义指令时进入未定义指令中止异常模式。其中管理模式也称为超级用户模式,是为操作系统提供软中断的特有模式,正是由于有了软中断,用户程序才可以通过系统调用切换到管理模式 。

(1)用户模式

用户模式是用户程序的工作模式,它运行在操作系统的用户态,它没有权限去操作其它硬件资源,只能执行处理自己的数据,也不能切换到其它模式下,要想访问硬件资源或切换到其它模式只能通过软中断或产生异常。

(2)系统模式

系统模式是特权模式,不受用户模式的限制。用户模式和系统模式共用一套寄存器,操作系统在该模式下可以方便的访问用户模式的寄存器,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。

(3)一般中断模式

一般中断模式也叫普通中断模式,用于处理一般的中断请求,通常在硬件产生中断信号之后自动进入该模式,该模式为特权模式,可以自由访问系统硬件资源。

(4)快速中断模式

快速中断模式是相对一般中断模式而言的,它是用来处理对时间要求比较紧急的中断请求,主要用于高速数据传输及通道处理中。

(5)管理模式

管理模式是CPU上电后默认模式,因此在该模式下主要用来做系统的初始化,软中断处理也在该模式下,当用户模式下的用户程序请求使用硬件资源时通过软件中断进入该模式。

(6)终止模式

中止模式用于支持虚拟内存或存储器保护,当用户程序访问非法地址,没有权限读取的内存地址时,会进入该模式,Linux下编程时经常出现的segment fault通常都是在该模式下抛出返回的。

(7)

未定义模式

未定义模式用于支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作时,会进入未定义模式。

0次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2025年8月14日,致力于亚太地区市场的国际领先半导体元器件分销商---大联大控股宣布,其旗下诠鼎推出基于新突思(Synaptics)SL1680嵌入式处理器的AI疲劳驾驶检测方案。

关键字: AI 嵌入式处理器 Type-C

嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

关键字: 嵌入式处理器 ARM

米尔发布基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工业级64位微处理器,采用LGA 252 PIN设计,存储配置1GB/2GB...

关键字: 核心板 开发板 嵌入式处理器

随着全球对可持续发展的日益关注,新能源技术作为替代传统能源的重要选择,正迅速发展并深入各个领域。在这一技术革新的浪潮中,嵌入式技术作为关键的智能化解决方案,正在为新能源行业的发展注入新的动力和创新。

关键字: 核心板 嵌入式处理器

嵌入式处理器是一种特殊的计算机处理器,它被设计用于嵌入到各种设备和系统中,以实现特定的功能。由于其低功耗、高性能和可靠性等特点,嵌入式处理器在许多领域都有广泛的应用,如汽车电子、工业控制、医疗设备等。本文将对嵌入式处理器...

关键字: 嵌入式处理器 嵌入式系统

2023年10月10日, [恩智浦创新技术论坛] 在深圳湾万丽酒店举行,众多工业、物联网、新能源和医疗等行业的企业出席论坛,深入交流市场趋势与行业洞察,一同讨论如何协同面对市场的机遇与挑战,共同促进未来市场的发展。米尔电...

关键字: NXP 嵌入式处理器

据业内信息报道,昨天 AMD 在 Embedded World 上宣布了其第四代 EPYC 嵌入式处理器,该处理器采用其 Zen 4 架构,旨在云和企业计算以及工厂车间工业边缘服务器中的嵌入式网络、安全、防火墙和存储。

关键字: Zen 4 AMD EPYC 嵌入式处理器

时下普遍使用的P0、P2结构比较简单,并且有助于控制成本,整体效果也非常出色,尤其P2是混动汽车运用最广泛的一种模式。据了解,TI此次发布的这个方案适用于48V P0和P2电机,其高度集成的特性有助于设计工程师构建小型化...

关键字: 汽车电气化 模式 P2

在对储能过程进行分析时,为了确定研究对象而划出的部分物体或空间范围,称为储能系统。它包括能量和物质的输入和输出、能量的转换和储存设备。

关键字: 电力系统 国际标准 体系
关闭