第二章ARM微处理器的编程模型

第二章ARM微处理器的编程模型

ID:44972662

大小:1.03 MB

页数:86页

时间:2019-11-06

第二章ARM微处理器的编程模型_第1页
第二章ARM微处理器的编程模型_第2页
第二章ARM微处理器的编程模型_第3页
第二章ARM微处理器的编程模型_第4页
第二章ARM微处理器的编程模型_第5页
资源描述:

《第二章ARM微处理器的编程模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ARM应用系统设计 第二章ARM微处理器的编程模型 (体系结构)佘黎煌东北大学信息科学与工程学院电子信息工程研究所ARM微处理器的编程模型ARM微处理器的数据类型ARM微处理器的工作状态ARM体系结构的存储器格式ARM微处理器的处理器模式ARM体系结构的寄存器组织ARM微处理器的异常状态2.1数据类型字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。(注:字必须与4字节的边界对准。)半字(Half-Word):在ARM体系结构中,半字的长

2、度为16位,与8位/16位处理器体系结构中字的长度一致。(注:半字必须与2字节的边界对准。)1112342ARM微处理器的编程模型ARM微处理器的数据类型ARM微处理器的工作状态ARM体系结构的存储器格式ARM微处理器的处理器模式ARM体系结构的寄存器组织ARM微处理器的异常状态ARM的体系结构ARM的指令存储结构THUMB的指令存储结构32位存储结构16位存储结构ARM微处理器的工作状态窄带系统当系统具有32位的数据总线宽度时,ARM比THUMB有更好的性能表现当系统的数据总线宽度小于32位时,THUMB比ARM性能更好(比如16的存储器,1条ARM指令需要两个存储器访问周期)代

3、码尺寸同样一段C代码,用THUMB指令编译的结果,其长度只占ARM编译结果的65%左右.2.2ARM微处理器的工作状态ARM微处理器的工作状态一般有两种:ARM状态—处理器执行32位的字对齐的ARM指令;Thumb状态—处理器执行16位的、半字对齐的Thumb指令。ARM微处理器的工作状态THUMB指令集在功能上只是ARM指令集的一个子集,某些功能只能在ARM状态下执行,如CPSR和协处理器的访问.进行异常响应时,处理器会自动进入ARM状态.即使是一个单纯的THUMB应用系统,必须加一个汇编的交互头程序,因为系统总是自动从ARM开始启动.处理器状态切换进入Thumb状态:当操作数寄

4、存器的状态位(位[0])为1时,执行BX指令进入Thumb状态。如果处理器在Thumb状态进入异常,则当异常处理返回时,自动转换到Thumb状态。进入ARM状态。当操作数寄存器的状态位(位[0])为0时执行BX指令进入ARM状态。当处理器进行异常处理是时,进入ARM状态从异常向量地址处开始执行。处理器状态切换使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行切换,程序如下所示。;从Arm状态切换到Thumb状态LDRR0,=Lable+1BXR0;从Thumb状态切换到ARM状态LDRR0,=LableBXR0地址最低位为1,表示切换到Thumb状态地

5、址最低位为0,表示切换到ARM状态跳转地址标号2.2ARM微处理器的工作状态处理器状态切换CODE32;ARM状态下的代码LDRR0,=Into_Thumb+1;产生跳转地址并且设置最低位BXR0;BranchExchange进入Thumb状态…CODE16;Thumb状态下的子函数Into_Thumb…LDRR3,=Back_to_ARM;产生字对齐的跳转地址,最低位被清除BXR3;BranchExchange返回到ARM状态CODE32;ARM状态下的子函数Bach_to_ARMARM微处理器的编程模型ARM微处理器的数据类型ARM微处理器的工作状态ARM体系结构的存储器格式A

6、RM微处理器的处理器模式ARM体系结构的寄存器组织ARM微处理器的异常状态2.3ARM体系结构的存储器格式ARM体系结构所支持的最大寻址空间为4GB(232字节)大端格式(BigEndian)字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端格式(LittleEndian)低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。2.3ARM体系结构的存储器格式(0H)=0123H(4H)=4567H(8H)=89ABHBigEndian(0H)=3210H(4H)=7654H(8H)=BA98HLittleEndian字地址0123456789AB048低高

7、字地址0123456789AB048低高2.3ARM体系结构的存储器格式r0=0x11223344STRr0,[r1]LDRBr2,[r1]r1=0x100Memory32100123ByteLane312423161587011223344312423161587011223344312423161587011223344312423161587000000044312423161587000000011LittleendianBigendianR2=0x44R2=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。