- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 2026年上海市松江区中考一模化学试卷含详解.docx VIP
- 2025研读新课标,探寻数学教育新方向——读《小学数学新课程标准》有感.docx
- 如何通过手机号码查询行动轨迹.docx VIP
- SY∕T 5466-2013_钻前工程及井场布置技术要求.pdf VIP
- 2025年二年级上册数学解决问题100道附参考答案(综合题) .pdf VIP
- 横河DCS系统与APC接口的实现方法.docx VIP
- 2025年上海高考英语试卷试题真题及答案详解(精校打印).docx
- 云南农业大学与英国胡弗汉顿大学合作举办土木工程专业本科教育.PDF
- 现代汉语语法.pdf
- 2025部编人教版小学二年级数学常考应用题专项练习(50题含解析).docx
原创力文档


文档评论(0)