当前位置:首页 > 单片机 > 单片机
[导读] 一.存储器的字与半字1.从偶数地址开始的连续的两个字节构成一个半字。2.能被4整除的地址的连续4个字阶构成一个字ARM指令的长度刚好是一个字,Thumb指令的长度刚好是一个半字二.存储器的存储方式(半字

一.存储器的字与半字

1.从偶数地址开始的连续的两个字节构成一个半字。

2.能被4整除的地址的连续4个字阶构成一个字

ARM指令的长度刚好是一个字,Thumb指令的长度刚好是一个半字

二.存储器的存储方式(半字对齐,字对齐)

1.半字对齐:存放一个数据的地址如果能被二整除,则它是半字对齐。反之,则是非半字对齐。

2.字对齐:存放一个数据的地址如果能被四整除,则它是字对齐。否则,它是非字对齐。

三.ARM处理器状态:

ARM有两种处理器状态:ARM状态,Thumb状态。

1.ARM状态:32位。处理器执行字方式的ARM指令。

2.Thumb状态:16位。处理器执行半字方式的Thumb指令。

注:两个状态之间的切换是不会影响处理器的模式或寄存器的内容。

它们之间是如何进行切换的。

使用BX指令在ARM和Thumb状态之间进行切换。

(但是,所有的异常处理都是在ARM状态中执行。如果异常发生在Thumb状态中,处理器会切换到ARM状态。在异常处理返回时,自动切换回Thumb状态。)

从ARM状态切换到Thumb状态的程序代码:

具体程序来说明处理器状态:

程序1:

ADRR0,TST+1

注:伪指令ADR将寄存器内容的地址存入寄存器中。这里将地址TST+1存入R0中,这样就加载了转移地址并且设置了最近有效位。

BXR0

注:此时,R0中数值的第0位是1,所以该语句执行完处理器切换进入Thumb状态,开始执行Thumb指令

(我们可以在AXD下看到此时状态寄存器的T位被置1.)

CODE16

注:

A汇编器需要知道什么时候产生ARM代码,什么时候产生Thumb代码。

B伪指令CODE16定义一下的程序被编译成Thumb模式,即后面的就是16位的Thumb指令了。

C.伪指令CODE32定义一下的程序将被编译成ARM模式,即后面的就是32位的ARM指令。

D伪指令CODE16和CODE32只是指示汇编器后面指令的类型,并不产生任何代码,也不进行程序状态的切换。

程序2:

注:

在Thumb状态下,调用软中断:SWI 0XAB

在ARM状态下,调用软中断:SWI 0X123456

四.ARM处理器模式:

ARM体系结构支持7中处理器模式:用户模式,快中断模式,中断模式,管理模式,中止模式,未定义模式和系统模式。

1.快中断模式,中断模式,管理模式,中止模式和未定义模式。它们称为异常模式。

A.异常模式既可以通过程序切换进入外,也可以有特定的异常进入。

B.当特定的异常出现时,处理器进入相应饿模式。每种模式都有某些附加的寄存器。

2.系统模式和用户模式,它们不能由异常进入。并且使用与用户模式相同的寄存器。

A.系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器比较方便。

五.ARM体系的存储系统

1.ARM7存储系统概要:

1>.ARM7处理器采用冯.诺依曼结构,指令和数据共用一条32位数据总线(采用指令,数据和I/O统一编址)。

只有装载,保存和交换指令可访问存储器中的数据。


Tiger补充:

计算机结构说明:

1>冯诺依曼结构:把代码作为一中特殊的数据来操作。指令总线和数据总线及其存储区域是统一的。

2>哈佛结构:指令总线和数据总线及其存储区域是分开独立的。

2>.ARM芯片一般在处理器核和外部存储器之间有

一个存储器管理部件。

存储器管理部件的作用是将局部总线的信号和时序转换为现实的外部总线信号和时序。

注:各芯片生产商制定了自己的外部总线的信号和时序。

3.地址空间

1>ARM地址空间有232个8位字节的地址空间。也可以看作是230个32位字或231个16位半字。

2>如果在取指操作时地址发生溢出,只要没有执行预取的无效指令,就不会导致异常。

4.存储器格式:

1>地址空间的规则要求一个字或半字要求连续存储。

Eg:位于地址0x02处的字,它所包含的字节位于地址0x02,0x03,0x04,0x5

同理位于地址0x02处的半字,它所包含的字节位于地址0x02,0x03.

2>存储器系统有两种映射机制:

A.小端存储器系统:

数据的高字节存放在高地址中。

B.大端存储器系统:

数据的高字节存放在低地址中。

3>非对齐的存储器访问

A.ARM结构希望所有存储器访问时都对齐。即字访问的地址是字对齐的,或半字访问使用的地址是半字对齐的。若不满足上述条件的即为非对齐的存储器访问。

B.把一个非字对齐(或非半字对齐)的地址写入ARM状态(或Thumb状态的)R15寄存器中,将会引起非对齐的指令取指。

C.在一个非字对齐(或非半字对齐)的地址处读写一个字或半字会引起非对齐的数据访问。

注:编程时应该注意的问题:

ARM处理器直接支持对齐存放的半字或字数据的存取,也就是可以使用一条相应的指令来实现对应操作。如果访问非对齐的半字或字数据,将需要多条指令组合才能实现对应操作,这对程序的执行效率影响较大。因此,在C语言编程中,定义的多字节变量或结构体,最好使其为对齐存放。


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

本文中,小编将对车联网予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 车联网 智能交通 体系结构

在下述的内容中,小编将会对智慧物流的相关消息予以报道,如果智慧物流是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 智慧物流 体系结构 物流

在这篇文章中,小编将为大家带来智能机器人的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 智能机器人 机器人 体系结构

摘 要 :针对目前工业大数据体系结构不完善、尚未形成标准统一的理论架构的问题,文中就如何将大数据技术与工业生产场景进行整合,如何建设工业大数据系统等问题展开了讨论。文中阐述了工业大数据的特点与基本体系结构,对相关技术处理...

关键字: 工业大数据 体系结构 处理体系 计算引擎 理论架构 计算分析

摘 要 :文中首先阐述了物联网的起源、概念及其体系结构,接着对物联网中的关键技术进行了介绍,最后列举了物联网技术在日常生活中的应用,让大家对物联网能有更深层次的理解与认识。

关键字: 物联网 体系结构 RFID 应用

摘要:车联网作为物联网技术的重要应用之一,具有十分广阔的应用前景。文章通辻介绍基于位置的车联网通用应用平台概念,分析了车联网通用应用平台的技术构架,并列举了该平台在几个重点领域的典型应用,给出了该平台所具有的通用性与相对...

关键字: 车联网 物联网 体系结构 典型应用

摘 要:随着基于物联网的智能家居系统的出现,人们对物联网的关注逐渐从概念发展到了技术应用。文中从物联网系统的三层体系结构出发,对智能家居系统加以分析,不仅理清了物联网与智能家居系统的关系,而且明确了智能家居系统的体系结构...

关键字: 物联网 智能家居 体系结构 技术路线

摘要:物联网的三层体系结构感知层、传输层和应用层与安防系统的数据采集、传输、应用三个主要部分有诸多相似之处,这种相似为公安院校安全技术防范课程教学实践提供了一个崭新的思路。文中对物联网的基本概念、数据感知、数据传输以及数...

关键字: 物联网 安全技术防范 教学实践 体系结构

摘要:物联网应用的多样性、分散性和缺乏管理等问题制约着物联网的发展。物联网要连接和管理的对象是包括静止和移动的末端设备及各种资产,这些设备连接上传感器等感知设备成为网络中的节点。基于物联网这种网络特点,利用通用网管的思想...

关键字: 物联网 体系结构 网络管理 综合信息管理平台

摘 要:文章对局域网可能受到的安全威胁进行了分析,并针对这些可能受到的威胁设计了一个包含物理安全、网络安全、系统安全、应用安全和数据安全的局域网安全模型,从技术上保证局域网的安全,同时还设计了安全的网络结构并辅以安全管理...

关键字: 局域网 安全 体系结构 管理制度
关闭