arm体系结构编程1

arm体系结构编程1

ID:44189522

大小:422.00 KB

页数:25页

时间:2019-10-19

arm体系结构编程1_第1页
arm体系结构编程1_第2页
arm体系结构编程1_第3页
arm体系结构编程1_第4页
arm体系结构编程1_第5页
资源描述:

《arm体系结构编程1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ARM体系结构编程课程内容复习Arm体系结构Arm体系结构版本:V1V2V3V4V5V6Arm处理器系列:Arm7系列:Arm7TDMI、Arm7TDMI-S、ARM7EJ-S、ARM720TArm9系列:Arm920T、Arm922T、Arm940TArm9E系列:Arm926EJ-S、Arm946E-S、Arm966E-SArm10E系列:Arm1020E、Arm1022E、Arm1026EJ-SArm11系列SecureCore系列StrongArm系列Xscale系列体系结构的变种及命名格式:Armv3Armv4TxMArmv5xMArmv5TxMArmv6Arm处理器产品:例子:

2、SamsungS3c2410基于Arm内核(处理器):Arm920TArm体系结构版本:Armv58/3/20212CUNARM处理器的特点RISC架构具有大量的寄存器绝大多数操作都在寄存器中进行寻址方式简单采用固定长度的指令格式体积小、低功耗、低成本、高性能支持Thumb/ARM指令集8/3/20213CUNArm处理器编程基础1.数据类型2.ARM处理器的工作状态3.ARM处理器工作模式4.寄存器组织5.异常(Exceptions)6.ARM体系结构的存储器格式8/3/20214CUN数据类型字(Word)在ARM体系结构中,字的长度为32位,其它8位/16位处理器体系结构中,字的长度

3、一般为16位半字(Half-Word)在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致字节(Byte)在ARM体系结构8位8/3/20215CUNARM处理器工作状态ARM处理器的工作状态一般有两种,并可在两种状态之间切换第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令8/3/20216CUNARM处理器工作模式ARM有7个基本工作模式:User:非特权模式,大部分任务执行在这种模式正常程序执行的模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式高速数据传输

4、和通道处理IRQ:当一个低优先级(normal)中断产生时将会进入这种模式通常的中断处理Supervisor:当复位或软中断指令执行时将会进入这种模式供操作系统使用的一种保护模式Abort:当存取异常时将会进入这种模式虚拟存储及存储保护Undef:当执行未定义指令时会进入这种模式System:使用和User模式相同寄存器的特权模式特权级的操作系统任务异常模式(Exception)特权模式(Privilege)8/3/20217CUN模式改变方法方法:软件控制外部中断或异常处理通常在用户模式下不能访问被保护的系统资源一般不能改变模式异常发生可以导致模式改变8/3/20218CUN寄存器组织8

5、/3/20219CUN寄存器描述ARM有37个32-Bits长的寄存器.1个用作PC(programcounter)1个用作CPSR(currentprogramstatusregister)5个用作SPSR(savedprogramstatusregisters)30个通用寄存器当前处理器的模式决定着哪组寄存器可操作.任何模式都可以存取:相应的r0-r12子集相应的r13(thestackpointer,sp)andr14(thelinkregister,lr)相应的r15(theprogramcounter,pc)相应的CPSR(currentprogramstatusregister

6、,cpsr)特权模式(除system模式)还可以存取;相应的spsr(savedprogramstatusregister)8/3/202110CUN通用寄存器(1)通用寄存器包括R0~R15,可以分为三类:未分组寄存器R0~R7;分组寄存器R8~R14程序计数器PC(R15)寄存器R13在ARM指令中常用作堆栈指针R14也称作子程序连接寄存器(SubroutineLinkRegister)或连接寄存器LR当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份8/3/202111CUN通用寄存器(2)寄存器R15用作程序计数器(PC)由于ARM体系结构采用了多级流水线技术,

7、对于ARM指令集而言,PC总是指向当前指令的下两条指令的地址,即PC的值为当前指令的地址值加8个字节8/3/202112CUN程序状态寄存器(1)寄存器R16寄存器R16用作CPSR(CurrentProgramStatusRegister,当前程序状态寄存器),CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位每一种运行模式下又都有一个专用的物理状态寄存

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

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

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