浅谈ARM体系CPU的7种工作模式

发布者:q13358975046最新更新时间:2020-09-18 来源: elecfans关键字:ARM体系  CPU  工作模式 手机看文章 扫描二维码
随时随地手机看文章

  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的7种工作模式

  二、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在指令的译码阶段不能识别该指令操作时,会进入未定义模式。

关键字:ARM体系  CPU  工作模式 引用地址:浅谈ARM体系CPU的7种工作模式

上一篇:全面剖析arm平台安全架构psa
下一篇:单片机、ARM、MCU、DSP、FPGA、嵌入式之间都有什么联系

推荐阅读最新更新时间:2024-11-17 18:23

英特尔四核CPU测试印象 比双核性能提高80%
  据国外媒体报道,近日 Tom’s Hardware公布了其对英特尔四核处理器测试的结果。英特尔的Kentsfiel系由两个dual-core Conroe双核处理器封装而成。测试表明,对于某些应用,四核比双核性能提高80%,有些应用经优化后性能提高更多。
[焦点新闻]
国密CPU卡筑起建筑安全防护墙
                                             安全是非接触IC卡的生命线。     目前,具有自主知识产权的国密算法安全等级高。未来国家IC卡发展战略是将符合国密算法的CPU智能一卡通系统产品和技术纳入行业应用的总体规划中,在全社会大范围地推广开来。届时,建筑及居住区智能一卡通将与城市一卡通实现融合,将多种功能集中在一张IC卡上,实现一卡多用和集成的、智能的脱机运行模式,为居民提供快捷的使用体验。     非接触IC卡(集成电路)取代磁卡,成为自动识别卡片的主流产品,已经是一个不争的事实。 凭借存储量大、携带方便等特点,ID卡(身份识别)、M1卡(恩智浦出品的非接触式IC卡)
[工业控制]
英特尔修复Linux CPU漏洞:19年前奔腾3也支持
  Intel CPU处理器曝出的Spectre、Meltdown漏洞事件闹得沸沸扬扬,但其实Intel早就在进行修复了,CEO柯再奇也公开承诺会在月底前完成所有漏洞修复工作。下面就随嵌入式小编一起来了解一下相关内容吧。   现在,Intel发布了面向Linux系统的微代码更新补丁,可以在各个Linux发行版上修复所有受影响CPU的漏洞。      英特尔修复Linux CPU漏洞:19年前奔腾3也支持   支持的操作系统涵盖了近些年的几乎所有流行发行版本:Red Hat Enterprise  Linux 7.4/7.3/7.2/7.1/7.0、Red Hat Enterprise  Linux  6.8/6.7/6.6/
[嵌入式]
可削减CPU耗电70%:ARM推big.LITTLE技术
    英国ARM公司为削减智能手机及平板终端等CPU耗电量而推出了“big.LITTLE技术”。该技术可相应于终端的处理负荷,分别使用微架构各异的CPU内核群(群集),从而兼顾低耗电量和高性能。  图1:切换不同的内核     从原理上来说,只要是指令集架构相同的CPU内核均可适用big.LITTLE技术,目前可使用的是Cortex-A15和Cortex-A7的组合。处理性能在必要时用高性能的Cortex-A15执行处理,在空闲时和负荷较低时则用电力效率较高的Cortex-A7(图1)。  不同工作频率的利用时间示例   据ARM介绍,当CPU的不同工作频率的利用状况为以下情况时,通过利用bi
[手机便携]
AMD市值逼近千亿美元,英特尔CPU霸主地位岌岌可危
AMD股价一路飙涨,最高达到83.39美元,刷新历史新高。就在4个月前,其股价还在40美元内,如今已经翻倍。截至北京时间11点15分,AMD总市值968亿美元,向千亿美元大关快速突破。 一周前,AMD公布的第二季度财报显示,其营收19.3亿美元,同比增长26%;净利润2.16亿美元,增长135%,业绩超预期。同样在上周,英特尔公司宣布推迟下一代芯片上市。业界认为,在台积电的领先工艺支持下,AMD对英特尔威胁增加,全球半导体市场或将迎来翻天覆地的变化。 美国银行认为,由于AMD稳健的产品线、市场机会的不断扩大以及一贯的执行力,因此将该公司目标价从77美元上调至100美元,并维持“买入”评级。
[半导体设计/制造]
AMD市值逼近千亿美元,英特尔<font color='red'>CPU</font>霸主地位岌岌可危
谷歌推新款ARM架构CPU用于AI,声称性能比顶级ARM对手高30%
4月10日消息,美国当地时间周二,谷歌推出了名为Axion的新型芯片,这款芯片功能强大,能够胜任从YouTube广告精准推送到大数据分析等复杂任务,旨在帮助谷歌应对不断增长的人工智能成本。 Axion的问世标志着谷歌在自主研发芯片道路上的重要突破,标志着其在大数据中心常用芯片领域迈出了关键一步。多年来,谷歌持续探索新的计算资源,尤其是针对人工智能领域的专用芯片。自从OpenAI在2022年底发布ChatGPT并掀起人工智能新竞赛以来,谷歌加快了自主研发芯片的步伐,旨在在互联网领域的竞争中占据有利位置。 业界分析人士普遍认为,谷歌在芯片领域的努力有助于减少对外部供应商的依赖,同时使其能够与英特尔、英伟达等芯片制造巨头形成竞争。然而,
[嵌入式]
解剖GPU和CPU,他们俩的区别到底在哪
对于GPU,大家想必也十分熟悉。但是,大家真的了解GPU吗?譬如,GPU和显卡是同一个东西吗?CPU和GPU有什么区别吗?在本文中,小编将对这两个问题加以介绍。如果GPU是您正在了解的知识,本文将是很好的入门素材哦,不妨和小编共同往下阅读吧。 一、GPU 、显卡关系 总的来说,显卡是显示卡的简称,显卡是由GPU、显存等等组成的。 GPU是图形处理器,一般GPU就是焊接在显卡上的, 大部分情况下,我们所说GPU就等于指显卡,但是实际情况是GPU是显示卡的“心脏”,是显卡的一个核心零部件,核心组成部分。它们是“寄生与被寄生”关系。GPU本身并不能单独工作,只有配合上附属电路和接口,才能工作。这时候,它就变成了显卡。
[嵌入式]
解剖GPU和<font color='red'>CPU</font>,他们俩的区别到底在哪
彻底看穿双核CPU Intel与AMD多核处理器剖解
一、双核心的由来 所谓双核心处理器,简单地说就是在一块CPU基板上集成两个处理器核心,并通过并行总线将各处理器核心连接起来。双核心并不是一个新概念,而只是CMP(Chip Multi Processors,单芯片多处理器)中最基本、最简单、最容易实现的一种类型。其实在RISC处理器领域,双核心甚至多核心都早已经实现。CMP最早是由美国斯坦福大学提出的,其思想是在一块芯片内实现SMP(Symmetrical Multi-Processing,对称多处理)架构,且并行执行不同的进程。早在上个世纪末,惠普和IBM就已经提出双核处理器的可行性设计。IBM 在2001年就推出了基于双核心的POWER4处理器,随后是Sun和惠普公司,都先后
[应用]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved