浅谈ARM架构1

发布者:心愿达成最新更新时间:2016-06-21 来源: eefocus关键字:ARM  架构 手机看文章 扫描二维码
随时随地手机看文章
  ARM的处理器一般可以执行ARM的指令集(32bit或者64bit)和Thumb指令集(16bit)。执行不同的指令集时会进行状态跳转,但是状态的跳转不会影响处理器的工作模式和相应存储器的内容。

       ARM->Thumb:操作数寄存器状态为1,执行BX指令。

       Thumb->ARM:操作数寄存器状态为0,执行BX指令。或者是处理器进行异常处理(IRQ,FIQ,Reset,Undef,Abort,SWI ARM状态执行)时,把pc指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使得处理器切换到ARM状态。

       以上是整体指令集系统的情况,接下来说一下ARM处理器的运行模式。用过Linux的都知道,操作系统有很多运行模式,其实着很多的运行模式也是需要处理器支持的。ARM处理器的运行模式有七种:(除用户模式,别的均属于非用户模式或者特权模式;除了用户模式和系统模式,别的都称为异常模式)

        用户模式(USR):正常状态;

        快速中断模式(FIQ):用于高速数据传输或通道形式;

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

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

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

        系统模式(SYS):运行具有特权的操作系统任务;(Linux下就是root用户了)

        未定义指令中断模式(UNDEF):当未定义的指令时进入该模式,可支持硬件协处理器的软件仿真。

那么我们为了实现以上的模式,我们在处理器这里资源应该如何分配呢?这里就涉及到寄存器组了。寄存器组就可以存储这些模式,并在该模式下操作所需要的数据。

以下就是ARM指令集的寄存器组:

浅谈ARM架构1

         我们可以看到针对一些特定的模式寄存器组会有所改变。一共有37个32bit的寄存器。带三角形的就是分组寄存器,专用寄存器。快速中断的7个便于快速中断。R0~R7是未分组寄存器,通用。

         当别的除了快速中断模式之外,别的模式因为要访问R8~R12,就有可能在模式转换的时候要保护现场。

         一般来说,R13就是堆栈寄存器,当然指定别的寄存器也是可以的。

         R14其实就是子程序链接地址,比如递归的时候,它里面存的就是返回地址。比如汇编的

                          MOV   PC,LR

                          BX   LR

         以上就是实现了返回链接地址。另外R14还可以处理中断或者异常返回。

         R15就是程序计数器(PC)。ARM的[31:2]来保存地址,因为是4个字节。Thumb指令集就是[31:1]是地址,[0]=0。因为只有两个字节,指令之间的地址就是相差2。由于是多级流水线设计,所以保存PC的时候要注意PC会因流水线而改变。

         当然上面说了很多模式还有什么状态恢复,返回之前状态,堆栈处理啊其实和真正你在写处理器的时候不用管,因为很多功能是通过调度实现的,不用太在意更高抽象层次的东西。在这里说一下只是增加一些在处理器硬件低层实现之后如果完成那些复杂程序有更多的了解。

         CPSR:也就是程序状态寄存器。这种寄存器就是存储整个程序执行的一个状态。包括了4 bit的条件代码标志(N,Z,C,V);2bit中断禁止位(分别用于一种类型的中断);5bit去对当前处理器操作模式进行编码的位;1bit用于指示当前执行的是Thumb还是ARM指令集。

如图:

浅谈ARM架构1

           中断禁止位:I,F

           I = 1,禁止IRQ机制;F = 1,禁止FIQ机制。

           T表示标志位,该位反应了处理器的运行状态。

浅谈ARM架构1
                 如果模式不确定,那么就会导致进行复位。         

 

 

看一下Thumb指令集系统:

浅谈ARM架构1
 

            thumb指令集系统的模式位的含义:

浅谈ARM架构1

 
关键字:ARM  架构 引用地址:浅谈ARM架构1

上一篇:ARM汇编指令调试方法
下一篇:浅谈ARM裸板调试6410

推荐阅读最新更新时间:2024-03-16 14:58

基于ARM920T的IDE硬盘接口电路设计
1 引言 20世纪90年代后期,嵌入式系统在工业控制、远程监控和数据采集等领域的应用日趋广泛,人们对嵌入式系统的存储容量也提出了较高的要求。因此研制适用于嵌入式系统的大容量、高速率、高可靠性的数据存储系统变得日益重要。本文针对一款基于ARM920T芯片的开发板,根据ATA硬盘接口规范,设计了IDE硬盘接口电路,实现了对IDE硬盘的读写,可以在Linux系统中对其上的文件系统自由访问,达到了高速率和高可靠性的要求。 2 ARM920T与S3C2410介绍 ARM 包括一系列微处理芯片技术。ARM920T是ARM系列微处理器的一种,它采用5阶段管道化ARM9TDMI内核,同时配备了Thumb扩展、EmbeddedICE调试技术
[单片机]
ARM 基础知识九
简介:ARM映像文件 ***************************************************** ARM映像文件 ***************************************************** 1.ELF格式文件的结构 1.1映像文件组成部分 **一个映像文件有一个或多个域组成 **每个域包含一个或多个输出段 **每个输出段包含一个或多个输入段 **各输入段中包含了目标文件中的代码和数据 输入段中包含了四类内容:代码、已经初始化的数据、未经初始化的存储区域、内容初始化成0的存储区域。每个输入段有相应的属性,可以为只读的(RO)、可读写的(R
[单片机]
投资研报:移动处理器“小巨人”ARM
    ARM位于无线生态价值链的最顶端,为整个无线生态提供多种应用处理器IP研发外包,将长期受益于无线生态的发展演进。 公司 ARM是全球领先的半导体知识产权(IP)商,公司设计高性能、廉价、耗能低的RISC处理器方案,并将其授权给第三方合作伙伴,第三方合作生产基于ARM架构芯片,ARM则按芯片价格与出货量获得一次性授权入门费与版税提成,2011年营收7.85亿美元,同比增21%,税前利润3.67亿美元,同比增37%。 ARM授权费+版税的商业模式将受益于营业杠杆,授权费收入将覆盖大部分新技术开发的运营费用,后续绝大部分的版税收入将成为公司利润,公司预计中期来看,版税收入增长将高于授权业务以及成本。 估值 截止2012年8月30日
[手机便携]
MIPS 科技产品用于 ATI 下一代 DTV 和 PC 多媒体 SoC
MIPS 授权该公司使用 MIPS32 4KEc 、 24K 处理器内核设计高性能、低 功耗产品;首个基于 24K 内核的 DTV SoC 开始 提供样品 为数字消费、网络、个人娱乐、通信和商业应用提供业界标准处理器架构及内核的领先供应商 MIPS 科技(纳斯达克交易代码: MIPS )19日宣布,已向 ATI 科技公司授权使用其 MIPS32 4KEc 和 24K 处理器内核,用于其针对 DTV 和 PC 产品的下一代多媒体 SoC 。本月早些时候, ATI 发布了其 Xilleon260 产
[新品]
基于ARM和uC/OS的嵌入式SMI网络转换器设计与应用
引言 目前,随着互联网和嵌入式系统的高度发展,越来越多的工业测控设备已经将网络接入功能作为其默认配置,以实现设备的远程监控和信息分布式处理。然而,大量工业现场设备尚不具备网络接口。在IP113F光纤收发器监控系统的开发中,下位机通过单片机与光纤收发器的SMI进行通信以实现监控,上下位机通过RS-232接口传输数据。南于串口传输距离短,工作人员每天都要到现场对数据进行检查和诊断,不胜其烦。针对这种情况,有必要设计一个SMI到Internet的数据传输模块,以便对光纤收发器的运行状况作远程监测。 IP113F芯片简介 IP113F芯片是一款具有网管功能、超低功耗的光纤收发器,支持3.3V I/O,主要通过SMI(
[单片机]
基于<font color='red'>ARM</font>和uC/OS的嵌入式SMI网络转换器设计与应用
ARM收购Allinea解决服务器兼容问题
ARM一直都存在一个难题——它纵横智能机和平板市场却始终无法攻克服务器和超级计算机市场。当然ARM服务器贬值部分原因是很多应用无法与芯片协同作用。 但ARM已经收购了Allinea软件,希望解决部分软件兼容的问题。Allinea提供软件开发,调试和移植工具,让人们针对基于ARM的服务器和超级计算机更轻松地写入应用。 ARM开发解决方案小组总经理,Javier Orensanz称该次收购将“为数以千计的开发人员提供使用超级计算机的渠道,并且随着软件移植到新的基于ARM的系统上,使我们更好地了解正在解决的问题。” 这些开发工具在深度学习系统中还将用于ARM芯片,因为这些系统都需要大规模服务器部署用于分析。ARM的竞争压力将
[单片机]
三星未来三年内ARM处理器发展蓝图浮出水面
据从三星内部泄露出来的一份文件显示三星正在开发一系列新款ARM处理器,并计划将这些ARM处理器应用到将来上市的上网本产品中去。这份文件的编制日期 是去年11月份,文章的开头部分鼓吹称由Intel和微软控制的Windows平台最终将被由三星和谷歌Chrome两者所组成的Ubuntun平台所取 代。 文件的开头部分列出了一款代号为S5PV210(代号Taurus)的芯片产品,这是一款单核Coretex-A8处理器,运行频率为1GHz,据文件显示,这款处理器目前正处在送样阶段,有望于今年三季度量产。 接下来,三星计划于2012/2013年左右推出一款采用四核设计的Coretex-A9处理器。不过在此之前,Marve
[嵌入式]
ARM7的嵌入式Web服务器设计技术
1 概述 随着嵌入式技术和网络技术的发展,嵌入式设备通过网络接入局域网或者Internet逐步成为一种发展趋势。嵌入式Web服务器技术以其良好的通用性和交互性为嵌入式设备提供网络接口,对嵌入式设备实现远程管理和控制,是实现嵌入式设备网络化的重要技术。 本设计提出的基于ARM7的嵌入式Web服务器设计有三大技术亮点: ①采用浏览器/服务器(B/S)通信架构。与客户机/服务器通信架构相比,B/S架构无需在客户端上开发专门的应用软件,只需从浏览器上输入IP地址,直接对设备进行远程监控。 ②传统的Web服务器需要一个数据库系统的支持用来保存内容,因而对用于存储的硬件设备要求更高,增加了成本。本设计只需构建一个简单的文件系统
[单片机]
<font color='red'>ARM</font>7的嵌入式Web服务器设计技术
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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