《嵌入式系统原理与应用》_嵌入式课程第6章.pptxVIP

《嵌入式系统原理与应用》_嵌入式课程第6章.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

本章需要掌握以下内容:

◆ARM指令体系结构;

◆常用ARM指令的功能;

◆ARM汇编程序设计方法。;

6.1ARM指令体系结构

/01;

6.1.1ARM指令体系特点

ARM指令集属于RISC(ReducedInstructionSetComputer)指令集,它具有

RISC指令集的如下特点:

一个大的、统一的寄存器文件;

基于load/store架构,即数据处理操作仅对寄存器内容进行操作,不能对内存的内容进行操作;

简单的寻址模式,即所有的加载/存储地址仅由寄存器内容和指令字段共同决定;

统一和固定长度的指令字段,以简化指令译码。;

6.1.1ARM指令体系特点

ARM指令集还有如下的独特特点:

在大多数数据处理指令中对算术逻辑单元(ALU)和移位器的控制,以最大限度地利用ALU和移位器;

自动递增和自动递减寻址模式,以优化程序循环;

加载和存储多条指令,以最大限度地提高数据吞吐量;

有条件地执行几乎所有指令,以最大限度地提高执行吞吐量。

这些对基本RISC体系结构的增强使得ARM处理器能够在高性能、小代码量、

低功耗和小硅片之间实现良好的平衡,这也是ARM在市场上取得成功的关键要素之一。;

6.1.2ARM指令体系结构的版本

迄今为止,ARM指令体系架构发布了8个不同的版本,从低到高的版本号

依次是v1到v8。同时,各个版本中还有一些变种,这些变种扩展了该版本指令集的功能。;

6.1.2ARM指令体系结构的版本

(4)v4版本

v4版本增加了半字的读取和存储指令;

读取带符号的字节和半字数据的指令;

增加了T变种,即指令集为16位的Thumb指令集;

增加了处理器的特权模式,在该模式下,使用的是用户模式下的寄存器。明确了哪些指令会引起未定义指令异常。

该版本不向前兼容,即与以前的26位地址空间不兼容。

目前常用的ARM7、ARM9处理器都采用该版本结构。;

6.1.2ARM指令体系结构的版本

(5)v5版本

v5结构提升了ARM和Thumb两种指令的交互工作能力,

对于T变种的指令和非T变种的指令使用相同的代码生成技术;

增加了DSP指令(E变种)、Java指令(J变种)。

带有连接和交换的转移BLX指令;

增加了前导零计数CLZ指令,

增加了软件断点指令;

为协处理???增加了更多可选择的指令;

更严格地定义了乘法指令对条件标志位的影响。

目前,ARM10和XScale系列微处理器都采用v5版本的指令体系。;

6.1.2ARM指令体系结构的版本

(6)v6版本

v6版本主要是采用单指令多数据(SIMD)技术,

扩展了媒体处理指令,使得ARM处理器在媒体应用中的处理能力得到较大提升。

该版本首先在ARM11处理器得到应用。;

6.1.2ARM指令体系结构的版本

(7)v7版本

v7版本采用了Thumb-2技术。

Thumb-2技术比纯32位代码减少31%的存储开销,同时能够提供比已有的基于

Thumb技术的解决方案高出38%的性能。

v7架构还引入NEON技术,它是一种128位的SIMD指令扩展,将DSP和媒体处理能力提高近4倍,并支持改良的浮点运算,满足3D图形、游戏等应用以及传统嵌入式控制应用的需求。

该版本首先在CortexA8处理器上得到应用。;

6.1.2ARM指令体系结构的版本

(8)v8版本

v8版本将64位架构支持引入到ARM体系结构中。

为向前兼容,v8版本支持AArch32和AArch64两种执行状态,A32、T32和A64

三个主要指令集。

v8指令体系结构主要面向高性能计算,目前主流的智能手机的处理器,如CortexA72、A76等,都采用的是ARMv8指令体系结构。;

6.1.3ARM指令体系支持的数据类型

字节(Byte,8位)有符号

无符号;

6.1.4ARM处理器的指令集

ARM处理器支持两类指令集:

32位的ARM指令集

16位Thumb指令集1;

项目;

6.1.5ARM指令的条件码

ARM指令可以条件执行,也就是根据CPSR中的条件标志位来决定是否执行某

条指令。当条件满足时执行该指令,条件不满足时该指令被当作一条NOP指令(不完成任何实际操作,相当于在流水线中插入一个气泡)。

条件执行是ARM指令体系结构的特色之一,也特别有用。

例如,如下的C语言代码,如果变量a分配给R0寄存器,变量b分配给R1寄存器,如何用ARM汇编指令来实现?

if(ab)a++;

elseb++;;

6.1.5ARM指令的条件码

如下的C语言代码,如果变量a分配给R0寄存器,变量b分配给R1

文档评论(0)

乐毅淘文斋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档