- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2010-3第三课、ARM体系结构与编程方法
;IPAD; ;4;5;6;产品系列编号方法;8;家族;10;家族;12;家族;V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充。
引进了16位的Thumb指令集,使ARM使用更加灵活。
ARM7、ARM8、ARM9和StrongARM(为了推XScale,intel停产了strongarm)都采用该版架构。指令集中增加了以下功能:
符号化和非符号化半字及符号化字节的存/取指令
增加了16位Thumb指令集
完善了软件中断SWI指令的功能
处理器系统模式引进特权方式时使用用户寄存器操作
把一些未使用的指令空间捕获为未定义指令;15;在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有:
带有链接和交换的转移BLX指令
计数前导零CLZ指令
BRK中断指令
增加了信号处理指令(V5TE版)
为协处理器增加更多可选择的指令;;;;;;ARM 920T vs Xscale 272 ;ARMv6,发布于2001年10月,是目前最流行的架构
形成ARM11系列嵌入式处理器
特点
增强的Cache结构
支持实地址Cache
减少Cache的刷新和重载
减少上下文切换的开销
加强媒体处理能力,使MPEG4编码/解码/音频处理加快一倍
Intel在Xscale中用自己的技术,使得处理器支持多媒体处理技术
ARM11自己带了多媒体能力,促成intel放弃Xscale
低功耗:0.13um工艺,1.2v下,ARM11功耗0.4mW/MHz;;;XScale vs ARM11;ARMv7,发布于2005年,是目前最新的架构,已经全面取代ARM11
超标量流水线,能够同时执行多条指令
可调尺寸的L2
Thumb-2技术
首先在2003年的ARM1156出现
在Thumb代码压缩技术的基础上发展出来的,保持代码兼容性。
Thumb-2技术比纯32位代码少使用31%的内存,降低系统开销
能够提供比Thumb技术的解决方案高出38%的性能表现
NEON技术
将DSP和媒体处理能力提高了近4倍
对H.264和MP3等媒体编解码提供加速
支持改良的浮点运算,满足3D图形和游戏物理应用;;v5至v7架构比较;产品家族;;Cortex-A9;33;34;3.1.3 ARM处理器应用选型;;3.2 ARM体系结构;38;改变模式;处理器模式对应寄存器组;41;42;状态寄存器;44;45;CPSR;Thumb状态下的寄存器组织;3.2.3 ARM异常中断;异常中断向量表和中断优先级;异常中断响应过程;异常返回;3.2.4 寻址方式;Immediate pre-indexed 立即数前变址
base address(base register)+Constant,Updates base register before access memory.
LDR r2, [r0, #4] ! ;r0=r0+4,R2=memory(new r0)
Immediate post-indexed 立即数后变址
base address(base register),Updates base register after data transfer.
LDR r2, [r0], #4 ;R2=memory(old r0), r0=r0+4
Register pre-indexed 寄存器前变址
base address(base register)+Another register, Updates base register before access memory.
LDR r2, [r0, r1] ! ;r0=r0+r1, R2=memory(new r0)
Scaled Register pre-indexed 寄存器移位前变址
base address(base register)+Another register(shift), Updates base register before access memory.
LDR r2, [r0, r1 LSL #2] ! ;r0=r0+r12, R2=memory(new r0)
Register post-indexed 寄存器后变址
base address(base register)+Another register,Updates base register after data transfer.
LDR r2, [r0], r1 ;R2=memory(old r0), r0=r0+r1
;3.2.5 ARM编程方法;example;;57;Thumb指令集;Thumb指令集与ARM指令集的区别;3.2.6 ARM混合编程;在C 语言中内嵌汇编;在汇
文档评论(0)