收藏 分销(赏)

ARM体系结构与编程备份.pptx

上传人:丰**** 文档编号:8665643 上传时间:2025-02-24 格式:PPTX 页数:130 大小:3.11MB
下载 相关 举报
ARM体系结构与编程备份.pptx_第1页
第1页 / 共130页
ARM体系结构与编程备份.pptx_第2页
第2页 / 共130页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,这门课主要讲的是什么?,ARM,A,dvanced,R,ISC,M,achine,1,、,ARM,基础知识(第,1,、,2,章),2,、,ARM,汇编(第,3,、,4,、,8,章),3,、,ARM,存储系统,MMU,(第,5,章),M,emory,M,anagement,U,nit,4,、异常中断处理(第,9,章),学习这门课的目的是什么?,几本书,利用互联网,ADS1.2,的帮助文档,online books,前言,了解,嵌入式系统概述,1,嵌入式系统,简介,2,嵌入式系统的,定义,3,嵌入式系统的,特点,4,嵌入式系统的,组成,5,嵌入式系统的,应用,嵌入式系统简介,嵌入式系统的历史与现状,从,1946,年电子计算机的诞生,发展到今天在许多场合,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。,为了,区别于,通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作,嵌入式计算机系统,。,嵌入式系统简介,现代计算机技术的,两大分支,标志计算机进入了,通用,计算机与,嵌入式,计算机两大分支,并行,发展时代。,通用,计算机侧重的发展方向:高速、海量的数值计算、总线速度提升,扩大存储容量。,而,嵌入式,计算机对体积、功耗、功能、可靠性、专用性有较高要求。,2,嵌入式系统的定义,嵌入式系统的定义,参考,IEEE(,国际电气和电子工程师协会)的定义:,嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”,嵌入式系统:以计算机技术为基础、软件硬件,可裁剪,、面向应用,对功能、可靠性、,成本、体积、功耗,严格要求的专用计算机系统。,嵌入式系统组成,ESOFTWARE,嵌入式软件,嵌入式操作系统,处理器,(内核),ARM MIPS PowerPC,Sparc,嵌入式微处理器,配置硬件,补平硬件差异,为软件搭建平台,如,linux,、,win ce,提供功能应用,嵌入式系统的应用,消费电子,嵌入式应用,信息家电,智能玩具,军事电子,通信设备,移动存贮,工控设备,智能仪表,汽车电子,网络设备,工业,军事国防,电子商务,网络,现实生活中的嵌入式系统实例,家庭环境,现实生活中的嵌入式系统实例,办公室环境,现实生活中的嵌入式系统实例,工业自动化领域,现实生活中的嵌入式系统实例,国防领域,现实生活中的嵌入式系统实例,交通领域,现实生活中的嵌入式系统实例,航空领域,现实生活中的嵌入式系统实例,医疗系统,第,1,章,ARM,概述及其基本编程模型,第,1,章 目录,8.,异常,9.,复位,10.,存储器及存储器映射,I/O,11.,寻址方式简介,12.ARM7,指令简介,13.,协处理器接口,14.,调试接口简介,1.,简介,2.ARM7,三级流水线,3.,处理器状态,4.,处理器模式,5.,内部寄存器,6.,程序状态寄存器,7.,体系结构直接支持的数据类型,1.1 ARM,简介,ARM,公司简介,ARM,是,A,dvanced,R,ISC,M,achines,的缩写,它是英国一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的,RISC,(精简指令集)处理器。,公司的特点是,只设计芯片,,,而不生产,。它将,技术,授权给世界上许多著名的半导体、软件和,OEM,厂商,并提供服务。,1.1 ARM,简介,ARM,公司简介,将技术授权给芯片厂商,形成各具特色的,ARM,芯片,.,1.1 ARM,简介,ARM,有三种含义:一个公司的名称;一类处理器的通称;一种技术的名称。,ARM,不是完整的单片机,它只是一个单片机的,内核,。,所谓以,ARM,为核的单片机,就是把,ARM,作为中央处理器(核),根据需要设计出外围功能模块,,用总线把这些功能模块和,ARM,核连接在一起,组成一个单片机。这个单片机由,ARM,核控制。,1.1 ARM,简介,一点启示,学习,ARM,核时,涉及具体管脚和功能寄存器的设置不多。在学习,51,系列单片机时,能学会控制定时器,/,计数器,学会串口的使用,知道每个引脚的作用。但学习,ARM,核时,还未大范围涉及这些内容。但使用,具体芯片,就会用到,arm,核的知识,来使用管脚实现功能。,应该牢记,学会,ARM,核,以后,就大致掌握了所有以,ARM,为核的单片机。无论这个单片机结构多么复杂,功能多么强大,也无论它来自哪个厂家。,1.1 ARM,简介,ARM,体系结构,ARM,处理器为,RISC,(,reduce instruction set computing),芯片,其,简单的结构,使,ARM,内核非常小,这使得器件的功耗也非常低。它具有经典而先进的,RISC,特点:,数据处理操作绝大多数只针对,寄存器,(暂时存储数据,在,CPU,内部,离,cpu,最近,速度最快),的内容,而不直接对,存储器,(内存和外存,在,CPU,外部,存储器能够保存的数据量大),进行操作;通过,load/store,指令在寄存器和存储器之间传递数据。,简单的寻址模式,;,统一和固定长度,的指令域,(32,位)简化了指令的译码。,具有大量的寄存器,ARM,体系还采用一些特别技术,见教材第,2,页,1,、在同一条数据处理指令中包含算术逻辑处理和移位处理。,如:,ADD R0,R1,R1,LSL#3;,R0=R1+R1*8,2,、使用地址自动增加(减少)来优化程序中的循环。,如:,LDR R0,R1#4 ;,先,R0,R1,,然后自动使,R1+4,3,、,Load/Store,指令可以批量传输数据,效率很高。一条指令就可以完成入栈或出栈操作。,如:,STMFD R13,R4-R6,;,将,R4-R6,的内容放入以,R13,为栈基址的连续,3,个单元中,4,、所有指令都可以根据前面指令的执行结果,决定是否执行。如:,CMP R2,R3;R2,与,R3,相等跳到,loop,,不等则执行,MOV R1,R0,语句,BEQ loop,MOV R1,R0,1.1 ARM,简介,各,ARM,体系结构版本,(,这里主要指,指令集,),目前,ARM,公司定义了,6,种主要的,ARM,指令集体系结构版本,以版本号,V1,V6,表示。,拥有相同指令集版本的,ARM,芯片,虽然出自不同的生产厂商,但它们使用的,指令,和,应用软件,是相互,兼容,的。,1.1 ARM,简介,各,ARM,体系结构版本,V1,该版本的,ARM,体系结构,只有,26,位的寻址空间,如今现在已经废弃不再使用,没有商业化,其特点为:,基本的数据处理指令,(,加,减,与,或,非,比较)(这个版本不包括乘法);,字节、字和半字加载,/,存储指令;,具有分支指令,包括在子程序调用中使用的分支和链接指令;,在操作系统调用中使用的软件中断指令(,SWI,)。,1.1 ARM,简介,各,ARM,体系结构版本,V2,同样为,26,位寻址空间,,如今现在已经废弃不再使用,它相对,V1,版本有以下改进:,具有乘法和乘加指令;,支持协处理器,(专门用于进行,辅助运算,的芯片,其本身除了,运算功能,外没有其他功能,因此不能独立工作,必须和,CPU,一起工作),;,快速中断模式,(FIQ),中,提供两个额外备份寄存器;,原子性(不可分割)加载,/,存储指令,SWP,和,SWPB,(见备注)。,1.1 ARM,简介,各,ARM,体系结构版本,V3,寻址范围扩展到,32,位,:,增加了程序状态保护寄存器,SPSR,;,增加了两种处理器模式(,ARM,和,THUMB,);,修改了,v3,以前用于异常返回指令的功能;,教材有更详细的介绍,1.1 ARM,简介,各,ARM,体系结构版本,V4,目前大多使用的,arm,核,使用的是,V4t,,,v5te,版本,,它相对,V3,版本作了以下的改进:,增加了半字加载(,LDRH,),/,存储(,STRH,)指令;,增加了字节(,LDRSB/STRSB,)和半字的加载和符号扩展指令(,LDRSH/STRSH,);,增加了,T,变种,,具有可以转换到,Thumb,状态的指令;,增加了新的特权处理器模式。,1.1 ARM,简介,各,ARM,体系结构版本,V5,在,V4,版本的基础上,对现在指令的定义进行了必要的修正,对,V4,版本的体系结构进行了扩展并增加了指令,具体如下:,改进了,ARM/Thumb,状态之间的切换效率;,允许,T,变种(支持,Thumb,指令集)和非,T,变种一样,使用相同的代码生成技术;,增加前导零计数,(,最高有效位前,0,的个数)指令,CLZ,和软件断点指令,BKPT,;,对乘法指令如何设置标志作了严格的定义。,1.1 ARM,简介,各,ARM,体系结构版本,V6,ARM,体系版本,6,是,2001,年发布的。其主要特点是增加了,SIMD,(Single Instruction Multiple Data,,单指令多数据流,),功能扩展。它,适合使用电池供电,的高性能的便携式设备,便携式设备一方面需要处理器提供高性能,另一方面又需要低功耗。,ARM,体系版本,6,首先在,2002,年春季发布的,ARM11,处理器中使用。,1.1 ARM,简介,ARM,处理器,核,简介,ARM,公司开发了很多系列的,ARM,处理器核,目前最新的系列已经是,ARM11,了,而,ARM6,核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:,ARM7,ARM9,ARM9E,ARM10,SecurCore,Xscale,StrongARM,ARM11E,1.1 ARM,简介,ARM,处理器,核,简介,ARM7,该系列包括,ARM7TDMI,和扩充了,Jazelle,(,Java,加速器)的,ARM7EJ-S,等等。,高档的单片机,除了,ARM720T,外,都缺少,mmu,(,m,emory,m,anagement,u,nit),不能运行真正的操作系统。,ARM7,系列广泛应用于多媒体和嵌入式设备,包括,Internet,设备、网络和调制解调器设备,以及移动电话、,PDA,等无线设备。,1.1 ARM,简介,ARM,处理器,核,简介,ARM7,特点,低功耗,0.9MIPS/MHz,(,mips,指每秒百万条指令)的,3,级流水线,结构,32,位,ARM,指令集和,16,位的,Thumb,指令集,主频最高可达,130MIPS,典型芯片,ATMEL,公司,AT91M40800/55800A,;,Samsung,公司的,S3C44B0,/4510B,1.2 ARM7,简介,ARM7,基于,ARM,体系结构,V4,版本,是目前低端的,ARM,核,。具有广泛的应用,其最显著的应用为,数字,移动电话。,注意,:,“,ARM,核,”,并不是芯片,,ARM,核与其它部件如,RAM,、,ROM,、片内外设、,GPIO,(,General Purpose I/O,通用的输入输出端口)组合在一起才能构成现实的芯片。,1.2 ARM7TDMI,简介,ARM7TDMI,支持,32,位寻址范围,使用了冯,诺依曼(,Von Neumann,)结构,,指令和数据共用一条,32,位总线。,ARM7TDMI,的后缀意义为:,支持高密度,16,位的,Thumb,指令集;,支持片上调试;,支持,64,位乘法;,支持,EmbededICE,(调试接口),观察硬件;,ARM7,T D M I,1.1 ARM,简介,ARM,处理器,核,简介,ARM9,该系列包括,ARM9TDMI,、,ARM920T,、,ARM940T,。除了兼容,ARM7,系列,而且能够更加灵活的设计。,ARM9,系列主要应用于,无线通信,、仪器仪表、安全系统和机顶盒等领域。,1.1MIPS/MHz,的哈佛结构(见备注),,5,级,流水线,32,位,ARM,指令集和,16,位,Thumb,指令集,全性能的,MMU(,存储器管理单元),,支持,Windows CE,、,Linux,、,Palm OS,等多种主流嵌入式操作系统,支持数据,Cache,和指令,Cache,,,具有更高的指令和数据处理能力,1.1 ARM,简介,ARM,处理器,核,简介,ARM9,特点,典型芯片,ATMEL,公司,AT91RM9200,;,Samsung,公司的,S3C2410,1.1 ARM,简介,ARM,处理器核简介,ARM10,该系列包括,ARM1020E,和,ARM1022E,处理器核,其核心在于使用向量浮点(,VFP,)单元,VFP10,提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。,可以用于视频游戏机和高性能打印机等场合。,支持,DSP,指令集,,适合于需要高速数字信号处理的场合。,6,级流水线,,指令执行效率更高。,支持,32,位,ARM,指令集和,16,位,Thumb,指令集。,支持,64,位的高速,AMBA,总线接口。,支持,VFP10,浮点处理协处理器。,全性能的,MMU,,支持,Windows CE,、,Linux,、,Palm OS,等多种主流嵌入式操作系统。,支持数据,Cache,和指令,Cache,,具有更高的指令和数据处理能力,主频最高可达,400MIPS,。,内嵌,并行读,/,写,操作部件。,1.1 ARM,简介,ARM,处理器核简介,ARM10,特点,ARM,公司在,2003,年,4,月,29,日宣布了其下一代,ARM,架构的,CPU,ARM11,(又名,Jaguar,美洲虎),基于,ARM11,的微处理器具有更强的性能,尤其是多媒体处理能力。,ARM11,微处理器采用,0.13,微米工艺,低端产品运行在,350MHz,500MHz,,高端产品运行在,533,750MHz,,如果将加工工艺减小到,0.10,微米,,那么芯片速度将达,1GHz,。,1.1 ARM,简介,ARM,处理器核简介,ARM11E,1.1 ARM,简介,ARM,处理器核简介,SecurCore,该系列处理器主要,针对新兴的安全市场,,以一种全新的安全处理器设计为智能卡和其它安全,IC,(集成电路)开发提供独特的,32,位系统设计,并具有特定反伪造方法,从而有助于防止对硬件和软件的盗版。,1.1 ARM,简介,ARM,处理器核简介,Xscale,Intel Xscale,微控制器,(ARMv5TE),核,操作系统包括,linux,Windows CE,Symbian OS,和其他一些,RTOS.,提供全性能、高性价比、低功耗的解决方案,支持,16,位,Thumb,指令并集成数字信号处理(,DSP,)指令。,Xscale,处理器是,Intel,目前主要推广的一款,ARM,微处理器。,典型芯片:,PXA250/255/,270,/272,Xscale,苹果,iPhone,手机,ARM,体系结构更新,第,1,章 目录,8.,异常,9.,复位,10.,存储器及存储器映射,I/O,11.,寻址方式简介,12.ARM7,指令简介,13.,协处理器接口,14.,调试接口简介,1.,简介,2.ARM7,三级流水线,3.,处理器状态,4.,处理器模式,5.,内部寄存器,6.,程序状态寄存器,7.,体系结构直接支持的数据类型,1.2 ARM7,流水线技术,三级流水线,有一种方法可以明显,改善硬件资源的使用率,和,处理器的吞吐量,,这就是,当前一条指令结束之前就开始后面的指令,,就是通常所说的,流水线技术。,这样可使几个操作同时进行。,ARM7,的流水线分,3,级,分别为:,取指,译码,执行,取指,译码,执行,从,程序存储器,中取出指令送到处理器内核,指令译码,(,指明处理器的操作),执行这些操作,取指,译码,执行,取指,译码,执行,取指,译码,执行,t,指令,指令,1,指令,2,指令,3,3,级流,水线功能段划分,PC,为某个正在取址指令所在的地址,确切地说是该指令最低字节的地址。,PC,指针,?,PC,8,指令,1,指令,2,指令,3,PC,指针,-,取指,译码,执行,PC,4,PC-4-,PC-8-,高地址,低地址,1.2 ARM7,三级流水线技术,虽然,ARM9,和,ARM10,为,5,、,6,级流水线,(流水线级数越多,说明单位时间内执行的指令条数可能就越多),,但它们都使用了与,ARM7,相同的流水线机制,(它们完全仿真,3,级流水线的行为),,因此,ARM7,上的代码也可以在,ARM9,和,ARM10,上运行。,第,1,章 目录,1.,简介,2.ARM7,三级流水线,3.,处理器状态,4.,处理器模式,5.,内部寄存器,6.,程序状态寄存器,7.,体系结构直接支持的数据类型,8.,异常,9.,复位,10.,存储器及存储器映射,I/O,11.,寻址方式简介,12.ARM7,指令简介,13.,协处理器接口,14.,调试接口简介,52,1.7,处理器,状态,处理器,状态,ARM,处理器有两种操作,状态,:,ARM,状态,:执行,32,位的,ARM,指令,Thumb,状态:,16,位,Thumb,指令,53,第,1,章 目录,8.,异常,9.,复位,10.,存储器及存储器映射,I/O,11.,寻址方式简介,12.ARM7,指令简介,13.,协处理器接口,14.,调试接口简介,1.,简介,2.ARM7,三级流水线,3.,处理器状态,4.,处理器模式,5.,内部寄存器,6.,程序状态寄存器,7.,体系结构直接支持的数据类型,54,1.4,处理器模式,简介,ARM,体系结构支持,7,种处理器模式,分别为:,用户模式(,usr,)、快中断模式(,fiq,)、中断模式(,irq,)、管理模式(,svc,)、中止模式(,abt,)、未定义模式(,und,)、系统模式(,sys,)。,如下表所示。这样的好处是可以更好的支持操作系统并提高工作效率。,55,处理器模式,说明,备注,用户,(usr),user,正常程序工作模式,不能直接切换到其它模式,系统,(sys),system,用于支持操作系统,与用户模式类似,但具有可以直接切换到其它模式等特权,快速中断,(fiq),fast interrupt request,支持高速数据传输及通道处理,FIQ,异常响应时(,引脚,低电平有效)进入此模式,中断,(irq),interrupt request,用于通用中断处理,引脚,低电平有效,,IRQ,异常响应时进入此模式,管理,(svc),supervisor,操作系统使用的保护模式(复位后执行,bootloader,,可以设置引导某个操作系统),系统复位和软件中断(执行,SWI,指令)响应时进入此模式,数据访问中止,(abt),abort,用于支持虚拟存储或存储器保护,当存取异常时进入此模式,未定义,(und),undefined,支持软件仿真硬件的协处理器,执行未定义指令时,会将该指令送到协处理器,如果协处理器都处理不了该指令,就产生未定义指令异常中断,进入此模式,1.4,处理器模式,56,1.4,处理器模式,特权模式,处理器模式,说明,备注,用户,(usr),正常程序工作模式,不能直接切换到其它模式,系统,(sys),用于支持操作系统的特权任务等,与用户模式类似,但具有可以直接切换到其它模式等特权,快中断,(fiq),支持高速数据传输及通道处理,FIQ,异常响应时进入此模式,中断,(irq),用于通用中断处理,IRQ,异常响应时进入此模式,管理,(svc),操作系统保护代码,系统复位和软件中断响应时进入此模式,中止,(abt),用于支持虚拟内存和,/,或存储器保护,在,ARM7TDMI,没有大用处,未定义,(und),支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式,除,用户,模式外,其它,6,种模式均为,特权模式,。特权模式下,可以访问所有系统资源。此外,,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式,,当用户模式需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理过程中进行处理模式的切换。,未定义,(und),中止,(abt),管理,(svc),中断,(irq),快中断,(fiq),系统,(sys),57,1.4,处理器模式,异常模式,处理器模式,说明,备注,用户,(usr),正常程序工作模式,不能直接切换到其它模式,系统,(sys),用于支持操作系统的特权任务等,与用户模式类似,但具有可以直接切换到其它模式等特权,快中断,(fiq),支持高速数据传输及通道处理,FIQ,异常响应时进入此模式,中断,(irq),用于通用中断处理,IRQ,异常响应时进入此模式,管理,(svc),操作系统保护代码,系统复位和软件中断响应时进入此模式,中止,(abt),用于支持虚拟内存和,/,或存储器保护,在,ARM7TDMI,没有大用处,未定义,(und),支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式,未定义,(und),中止,(abt),管理,(svc),中断,(irq),快中断,(fiq),这,五,种模式称为,异常模式,。它们除了可以通过程序,(,修改,CPSR,)切换进入外,也可以由特定的异常进入。,当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,供异常处理使用。,58,1.4,处理器模式,用户和系统模式,处理器模式,说明,备注,用户,(usr),正常程序工作模式,不能直接切换到其它模式,系统,(sys),用于支持操作系统的特权任务等,与用户模式类似,但具有可以直接切换到其它模式等特权,快中断,(fiq),支持高速数据传输及通道处理,FIQ,异常响应时进入此模式,中断,(irq),用于通用中断处理,IRQ,异常响应时进入此模式,管理,(svc),操作系统保护代码,系统复位和软件中断响应时进入此模式,中止,(abt),用于支持虚拟内存和,/,或存储器保护,在,ARM7TDMI,没有大用处,未定义,(und),支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式,这两种模式使用完全相同的寄存器组。,系统模式是特权模式,该模式为操作系统提供,可以访问所有资源的权限,,并可以通过指令,(mrs/msr),对,CPSR,设置,直接进行模式切换。,系统,(sys),用户,(usr),第,3,章 目录,8.,异常,9.,复位,10.,存储器及存储器映射,I/O,11.,寻址方式简介,12.ARM7,指令简介,13.,协处理器接口,14.,调试接口简介,1.,简介,2.ARM7,三级流水线,3.,处理器状态,4.,处理器模式,5.,内部寄存器,6.,程序状态寄存器,7.,体系结构直接支持的数据类型,60,1.5,内部寄存器,简介,在,ARM,处理器内部有,37,个用户可见的,通用寄存器。,在,不同的,工作,模式,和处理器,状态,下,程序员可以访问的寄存器也不同。,61,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(,SP,),S,tack,P,ointer,R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(,LR,),L,ink,R,egister,R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(,PC,),P,rogram,C,ounter,R15,状态寄存器,CPSR,C,urrent,P,rogram,S,tatus,R,egister,CPSR,SPSR,S,aved,P,rogram,S,tatus,R,egister,无,SPSR_abt,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,62,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(SP),R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(LR),R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(PC),R15,状态寄存器,CPSR,CPSR,SPSR,无,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,ARM,状态各模式下的寄存器,SPSR_fiq,SPSR_irq,SPSR_und,SPSR_abt,SPSR_svc,CPSR,R15,R14_fiq,R14_irq,R14_und,R14_abt,R14_svc,R14,R13_fiq,R13_irq,R13_und,R13_abt,R13_svc,R13,R12_fiq,R12,R11_fiq,R11,R10_fiq,R10,R9_fiq,R9,R8_fiq,R8,R7,R6,R5,R4,R3,R2,R1,R0,所有的,37,个寄存器,分成两大类:,绿色区:,31,个,通用,寄存器,每个,32,位。,黄色区:,6,个,状态,寄存器,每个,32,位,但目前仅使用其中,12,位。,63,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(SP),R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(LR),R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(PC),R15,状态寄存器,CPSR,CPSR,SPSR,无,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,无,CPSR,R15,R14,R13,R12,R11,R10,R9,R8,R7,R6,R5,R4,R3,R2,R1,R0,用户,无,CPSR,R15,R14,R13,R12,R11,R10,R9,R8,R7,R6,R5,R4,R3,R2,R1,R0,系统,SPSR_svc,CPSR,R15,R14_svc,R13_svc,R12,R11,R10,R9,R8,R7,R6,R5,R4,R3,R2,R1,R0,管理,SPSR_abt,CPSR,R15,R14_abt,R13_abt,R12,R11,R10,R9,R8,R7,R6,R5,R4,R3,R2,R1,R0,中止,SPSR_und,CPSR,R15,R14_und,R13_und,R12,R11,R10,R9,R8,R7,R6,R5,R4,R3,R2,R1,R0,未定义,SPSR_irq,CPSR,R15,R14_irq,R13_irq,R12,R11,R10,R9,R8,R7,R6,R5,R4,R3,R2,R1,R0,中断,SPSR_fiq,CPSR,R15,R14_fiq,R13_fiq,R12_fiq,R11_fiq,R10_fiq,R9_fiq,R8_fiq,R7,R6,R5,R4,R3,R2,R1,R0,快中断,ARM,状态各模式下可以访问的寄存器,64,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(SP),R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(LR),R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(PC),R15,(即,PC,),状态寄存器,CPSR,CPSR,SPSR,无,SPSR_abt,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,一般的通用寄存器,R13_fiq,R13_irq,R13_und,R13_abt,R13_svc,R13,R12_fiq,R12,R11_fiq,R11,R10_fiq,R10,R9_fiq,R9,R8_fiq,R8,R7,R6,R5,R4,R3,R2,R1,R0,寄存器,R0,R15,为保存数据或地址值的,通用寄存器,。,65,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(SP),R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(LR),R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(PC),R15,状态寄存器,CPSR,CPSR,SPSR,无,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,一般的通用寄存器,R13_fiq,R13_irq,R13_und,R13_abt,R13_svc,R13,R12_fiq,R12,R11_fiq,R11,R10_fiq,R10,R9_fiq,R9,R8_fiq,R8,R7,R6,R5,R4,R3,R2,R1,R0,R7,R6,R5,R4,R3,R2,R1,R0,其中,R0,R7,为,未分组(未备份)的寄存器,,对于任何处理器模式,都使用相同的同一组物理寄存器。,66,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(SP),R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(LR),R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(PC),R15,(即,PC,),状态寄存器,CPSR,CPSR,SPSR,无,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,一般的通用寄存器,R14_fiq,R14_irq,R14_und,R14_abt,R14_svc,R14,R13_fiq,R13_irq,R13_und,R13_abt,R13_svc,R13,R12_fiq,R12,R11_fiq,R11,R10_fiq,R10,R9_fiq,R9,R8_fiq,R8,寄存器,R8,R14,为,分组(备份)寄存器,。它们所对应的物理寄存器取决于当前的处理器模式。不同模式下寄存器的使用,要使用寄存器,后缀,加以区分。,67,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(SP),R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(LR),R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(PC),R15,状态寄存器,CPSR,CPSR,SPSR,无,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,一般的通用寄存器,R12_fiq,R12,R11_fiq,R11,R10_fiq,R10,R9_fiq,R9,R8_fiq,R8,寄存器,R8,R12,有两个分组的物理寄存器。一个用于,除,FIQ,模式之外,的所有模式,另一个用于,FIQ,模式。这样在发生,FIQ,中断后,可以不必执行保存和恢复(,R8-R12,)的指令,从而加速,FIQ,的处理速度。,68,寄存器类别,寄存器在汇编中的名称,各模式下实际访问的寄存器,用户,系统,管理,中止,未定义,中断,快中断,通用寄存器和程序计数器,R0(a1),R0,R1(a2),R1,R2(a3),R2,R3(a4),R3,R4(v1),R4,R5(v2),R5,R6(v3),R6,R7(v4),R7,R8(v5),R8,R8_fiq,R9(SB,v6),R9,R9_fiq,R10(SL,v7),R10,R10_fiq,R11(FP,v8),R11,R11_fiq,R12(IP),R12,R12_fiq,R13(SP),R13,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq,R14(LR),R14,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq,R15(PC),R15,状态寄存器,CPSR,CPSR,SPSR,无,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq,一般的通用寄存器,寄存器,R13,、,R14,分别有,6,个分组的物理寄存器。,1,个用于,用户和系统,模式,其余,5,个分别用于,5,种异常模式。刚才提到过,不同模式下寄存器的使用,要使用寄存器,后缀,加以区分。,R14_fiq,R14_irq,R14_und,R14_abt,R14_svc,R14,R13_fiq,R13_irq,R13_und,R13_abt,R13_svc,R13,69,寄存器类别,寄存器在汇编中
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服