ImageVerifierCode 换一换
格式:PPT , 页数:40 ,大小:900KB ,
资源ID:5889769      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5889769.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(ARM处理器的工作模式PPT.ppt)为本站上传会员【丰****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

ARM处理器的工作模式PPT.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,嵌入式系统设计,:ARM,处理器的工作模式,1,1.1 ARM,处理器的工作状态和模式,为了能够体现,ARM,的特点和性能,,ARM,处理器有两种工作状态和,7,种工作模式。,1.1.1 ARM,处理器的工作状态,有两种工作状态:,ARM,状态:,处理器执行,32,位的字对齐的,ARM,指令;,Thumb,状态:,处理器执行,16,位的半字对齐的,Thumb,指令。,两种状态可以切换,。程序执行过程中,通过执行,带状态切换的分支指令,BX,,随时在两种工作状态之间进行切换。并且,处理器工作状态的转变,并不影

2、响处理器的工作模式和相应寄存器中的内容。,2,1.1 ARM,处理器的工作状态和模式,(2),从,ARM,状态切换到,Thumb,状态,有两种情况,ARM,处理器自动切换到,Thumb,状态。,(,1,)执行,BX,指令,当操作数寄存器的位,0,为,1,时,则微处理器从,ARM,状态切换到,Thumb,状态。此为主动切换。,(,2,)当处理器处于,Thumb,状态时发生异常(如,IRQ,、,FIQ,、,Undef,等),处理完异常后,在异常处理返回时,自动切换到,Thumb,状态。此为自动切换。,从,Thumb,状态切换到,ARM,状态,有两种情况,ARM,处理器自动切换到,Thumb,状态。

3、1,)执行,BX,指令,当操作数寄存器的位,0,为,0,时,则微处理器从,Thumb,状态切换到,ARM,状态。,(,2,)当处理器在,Thumb,状态时发生异常(如,IRQ,、,FIQ,、,Undef,等),则处理器从,Thumb,状态自动切换到,ARM,状态进行异常处理,3,1.1 ARM,处理器的工作状态和模式,(3),例,1.1,状态切换程序,;,从,ARM,状态切换到,Thumb,状态,LDRR0,=Lable+1,BXR0,;,从,Thumb,状态切换到,ARM,状态,LDRR0,=Lable,BXR0,注意:,ARM,和,Thumb,之间状态的切换不影响处理器的模式或寄存器

4、的内容。,ARM,处理器在开始执行代码时,只能处于,ARM,状态。,4,1.1.2 ARM,处理器的工作模式,一、,ARM9,的,7,种工作模式,1,、用户模式(,usr),:,非特权模式,大部分任务执行在这种模式。,正常程序执行的模式,2,、快速中断模式(,fiq,):,当一个高优先级,(fast),中断产生时将会进入这种模式。,高速数据传输或通道处理,3,、外部中断模式(,irq,):,当一个低优先级,(normal),中断产生时将会进入这种模式。,通常的中断处理,4,、管理模式(,svc),:,当复位或软中断指令执行时将会进入这种模式。,供操作系统使用的一种保护模式,5,1.1.2 AR

5、M,处理器的工作模式,(2),5,、中止模式(,abt,):,当存取异常时将会进入这种模式,虚拟存储及存储保护,6,、未定义模式(,und,):,当执行未定义指令时会进入这种模式,软件仿真硬件协处理器,7,、系统模式(,sys,):,供需要访问系统资源的操作系统任务使用,特权级的操作系统任务,6,1.1.2 ARM,处理器的工作模式,(2),二、模式分类及特点,七种模式可以划分成四类,1,、用户模式特点:,应用程序不能够访问受操作系统保护的系统资源。,应用程序不能进行处理器模式的切换。,2,、系统模式特点:,不属于异常模式,不是通过异常进入的。系统模式属于特权模式,可以访问所有的系统资源,也可

6、以直接进行模式的切换。它主要供操作系统使用。,3,、特权模式及其特点:,特权模式:,除用户模式之外的工作模式又称为特权模式,特点:,应用程序可以访问所有的系统资源,可以任意地进行处理器模式的切换,7,1.1.2 ARM,处理器的工作模式,(3),4,、异常模式及其特点:,异常模式:,除用户模式、系统模式之外的五种模式称为异常模式。,特点:以各自的中断或异常方式进入,并且处理各自的中断或异常。对管理模式,(svc),进入方式和处理内容有,:,系统上电复位后进入管理模式,运行系统初始化程序,如中断允许,/,禁止,主时钟设置,,SDRAM,配置,各个功能模块初始化等。,当执行软件中断指令,SWI,时

7、进入管理模式。,8,1.1.2 ARM,处理器的工作模式,(4),处理器模式的切换方式:,软件控制进行切换。,通过外部中断和异常进行切换,处理器启动时的模式转换图,管理模式,(Supervisor),多种特权,模式变化,用户程序的,运行模式,复位后的缺省模式,主要完成各模式的堆栈设置,注意不要进入用户模式,一般为用户模式,User,9,1.2 ARM9,寄存器,本节主要内容,1,、,ARM,寄存器概述,2,、,ARM,通用寄存器,3,、,ARM,状态寄存器,10,1.2 ARM9,寄存器,1.2.1,、,ARM,寄存器概述,ARM,处理器,v4,及以上版本有,37,个,32,位的寄存器,其中

8、31,个为通用寄存器;,6,个为状态寄存器。,31,个通用寄存器,R0,R15,;,R13_svc,、,R14_svc,;,R13_abt,、,R14_abt,;,R13_und,、,R14_und,;,R13_irq,、,R14_irq,;,R8_fiq-R14_fiq,6,个状态寄存器,CPSR,SPSR_svc,、,SPSR_abt,、,SPSR_und,、,SPSR_irq,和,SPSR_fiq,11,1.2 ARM9,寄存器,(2),每一类处理器模式都有一组相应的寄存器组;,在任意的处理器模式下,可见的寄存器包括,15,个通用寄存器(,R0,R14,)、,1,个或,2,个状态寄存器

9、和程序寄存器。,带灰色底纹的单元格表示,用户模式或系统模式使用的一般寄存器,已被异常模式特定的另一寄存器所替代。,12,1.2 ARM,寄存器,(4),1.2.2 ARM,的通用寄存器,通用寄存器包括,R0,R15,,可以分为三类:,未分组寄存器,R0,R7,分组寄存器,R8,R14,程序计数器,PC(R15),一、未分组寄存器,R0,R7,在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途,,是真正的通用寄存器,。,因此,在中断或异常处理进行运行模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏,这一点在进行程序设计时应引

10、起注意。,13,1.2 ARM,寄存器,(5),二、分组的寄存器,R8,R14,对于,R8,R12,,每一次所访问的物理寄存器,与处理器当前的工作模式有关。,1,、,R8,R12,当处理器工作于,fiq,模式时,访问的寄存器为,R8_fiq,R12_fiq,;,除,fiq,模式以外的其他模式,访问的寄存器为,R8_usr,R12_usr,。,2,、,R13,和,R14,:,每个寄存器对应,6,个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外,5,个物理寄存器,对应于其他,5,种不同的异常模式。,采用以下的记号来区分不同的物理寄存器:,R13_,R14_,其中,,mode,为以下几种

11、模式之一:,usr,、,fiq,、,irq,、,svc,、,abt,、,und,。,14,1.2 ARM,寄存器,(6),R13,:,寄存器,R13,在,ARM,指令中,常用作堆栈指针,SP,。,但这只是一种习惯用法,用户也可使用其他的寄存器作为堆栈指针。而在,Thumb,指令集中,某些指令强制性的要求使用,R13,作为堆栈指针。,R14,:,寄存器,R14,也称作子程序链接寄存器(,Subroutine Link Register,)或,链接寄存器,LR,。,当执行,BL,子程序调用指令时,,R14,中得到,R15,(程序计数器,PC,)的备份。其他情况下,,R14,用作通用寄存器。,与之类

12、似,当发生中断或异常时,对应的分组寄存器,R14_svc,、,R14_irq,、,R14_fiq,、,R14_abt,和,R14_und,用来保存,R15,的返回值。,15,1.2 ARM,寄存器,(7),三、程序计数器,PC,(,R15,),寄存器,R15,用作程序计数器(,PC,),。,在,ARM,状态下,位,1:0,为,0,,位,31:2,用于保存,PC,;在,Thumb,状态下,位,0,为,0,,位,31:1,用于保存,PC,;,使用,R15,时注意:,虽然,R15,可以用作通用寄存器,但是有一些指令在使用,R15,时有一些特殊限制,若不注意,执行的结果将是不可预料的。所以,一般不这么

13、使用。,关于,PC,的值:,由于,ARM,采用多级流水线技术,所以,PC,总是指向正在取指的指令,而不是正在执行的指令。也即,PC,总是指向当前指令的下两条指令的地址。因此,对于,ARM,指令集而言,,PC,的值为当前指令的地址值加,8,个字节。,16,1.2 ARM,寄存器,(8),1.2.3 ARM,的状态寄存器,一、两种程序状态寄存器,在,ARM,微处理器中,有,CPSR,和,SPSR,两种程序状态寄存器。,1,、当前程序状态寄存器,CPSR,(Current Program Status Register,),用来保存当前程序状态的寄存器。,所有处理器模式下都可以访问当前程序状态寄存器

14、CPSR,。仅一个,CPSR,。,2,、保存程序状态寄存器,SPSR_mode,(Saved Program Status Register),SPSR_mode,用来进行异常处理,其功能包括:,保存,ALU,中的当前操作信息,当异常发生时,用来保存,CPSR,的值,从异常返回时,将,SPSR_mode,复制到,CPSR,中,恢复,CPSR,的值。,控制允许和禁止中断,修改,SPSR,的值,设置处理器的运行模式,修改,SPSR,的值,问题:,一共有多少个,SPSR,?为什么?,17,1.2.3 ARM,的状态寄存器,(2),二、,ARM,状态寄存器的格式,1,、条件码标志位,(保存,ALU,

15、中的当前操作信息),N,:正负号,/,大小 标志位,0,表示:正数,/,大于;,1,表示:负数,/,小于,Z,:零标志位,0,表示:结果不为零;,1,表示:结果为零,C,:进位,/,借位,/,移出位,0,表示:未进位,/,借位,/,移出,0,;,1,表示:进位,/,未借位,/,移出,1,V,:溢出标志位,0,表示:结果未溢出;,1,表示:结果溢出,31,30,29,28,27 8,7,6,5,4,3,2,1,0,N,Z,C,V,(保留),I,F,T,M4,M3,M2,M1,M0,18,1.2.3 ARM9,的状态寄存器,(3),2,、控制位,I,、,F,中断控制位,控制允许和禁止中断,I,1,

16、禁止,IRQ,中断,I,0,允许,IRQ,中断,F,1,禁止,FIQ,中断,F,0,允许,FIQ,中断,T,控制,(,标志,),位,反映处理器的运行状态,T=1,时,程序运行于,Thumb,状态,T=0,时,程序运行于,ARM,状态,M,控制位,决定了处理器的运行模式,当发生异常时这些位被改变。,如果处理器运行在特权模式,这些位也可以由程序修改。,M4:0,10000,10001,10010,10011,10111,11011,11111,模式,用户,快中断,中断,管理,中止,未定义,系统,19,1.2.3 ARM9,的状态寄存器,(4),3,、保留位,CPSR,中的其余位为保留位,当改变,C

17、PSR,中的条件码标志位或者控制位时,保留位不要改变,在程序中也不要使用保留位来存储数据。保留位将用于,ARM,版本的扩展。,1.2.4 Thumb,状态下的寄存器组织,Thumb,状态下的寄存器集是,ARM,状态下寄存器集的子集。程序员可以直接访问,8,个通用的寄存器(,R0R7,),程序计数器,PC,、堆栈指针,SP,、链接寄存器,LR,和当前状态寄存器,CPSP,。,20,本节主要内容,1,、中断和异常的概念,2,、,ARM,的异常中断介绍,3,、,ARM,的异常中断响应过程,4,、中断向量和中断优先级,1.3 ARM,异常,21,1.3 ARM,异常,1.3.1,中断和异常的概念,1,

18、中断,当,CPU,正在执行程序时,系统发生了一件急需处理的事件,,CPU,暂时停下正在执行的程序,转去处理相应的事件,事件处理完后,,CPU,再返回执行原来的程序,这种情况称为中断。这是中断的本来意义。,中断事件:,引起,CPU,产生中断、并且与,CPU,当前所执行的程序无关的、由外部硬件产生的事件,也叫中断源。中断事件也常称为,外中断,。,常说的中断:,有时指的是中断的本意,有时指的是外部中断事件,即外中断。,中断是计算机系统基本的功能,利用中断,外设可以与,CPU,并行工作,当外设需要传输数据或控制时,向,CPU,发出中断请求信号。,CPU,响应其请求进行处理。因此,使用中断既可以实现,

19、CPU,与外设并行工作,又可以实时处理各种紧急事件。,22,1.3 ARM,异常,2,、异常,是指,CPU,在执行指令时出现的错误,即不正常的情况。异常是与当前所执行的程序有关的。如存取数据或指令错误、计算结果溢出等。,异常的处理:,也用中断的方式进行处理。,计算机通常是用中断来处理外中断和异常,因此下面将二者均称为异常。,3,、,ARM,程序的三种执行流程,顺序流程:,每执行一条,ARM,指令,程序计数器(,PC,)的值加,4,;每执行一条,Thumb,指令,程序计数器寄存器(,PC,)的值加,2,,整个过程是按顺序执行。,23,对异常的说明,当系统运行时,异常可能会随时发生,为保证在,AR

20、M,处理器发生异常时不至于处于未知状态,在应用程序的设计中,首先要进行异常处理,采用的方式是在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序,当,ARM,处理器发生异常时,程序计数器,PC,会被强制设置为对应的异常向量,从而跳转到异常处理程序,当异常处理完成以后,返回到主程序继续执行。,我们需要处理所有的异常,尽管我们可以简单的在某些异常处理程序处放置死循环。,1.3 ARM,异常,24,1.3 ARM,异常,跳转流程:,程序执行了跳转指令,则要跳转到特定的地址标号处执行,包括跳转到子程序。例如,跳转指令,,B,、,BL,、,BLX,和,BX,。,中断流程:,当异常中断发生时,系统

21、执行完当前指令后,将跳转到相应的异常中断处理程序处执行。在当异常中断处理程序执行完成后,程序返回到发生中断的指令的下条指令处执行。,在进行异常中断处理程序时,要保存被中断的程序的执行现场,在从异常中断处理程序退出时,要恢复被中断的程序的执行现场。,中断处理与子程序调用的区别:,中断是随机的,并且与正在执行的程序无关;子程序调用是程序的主动行为,并且与正在执行的程序密切相关。,25,1.3.2 ARM,的异常,ARM,有,7,种异常,1,、复位,处理器上一旦有复位输入,,ARM,处理器立刻停止执行当前指令。复位后,,ARM,处理器在禁止中断的管理模式下,从地址,0 x00000000,或,0 x

22、FFFF0000,开始执行指令。,2,、未定义指令异常,当,ARM,处理器执行,协处理器指令,时,它必须等待任一外部协处理器应答后,才能真正执行这条指令。若协处理器没有响应,就会出现未定义指令异常。,未定义指令异常可用于在没有物理协处理器(硬件)的系统上,对协处理器进行软件仿真,或在软件仿真时进行指令扩展。,1.3 ARM,异常,26,3,、软件中断异常,该异常由执行,SWI,指令产生,可使用此机制进行软件仿真。,4,、预取中止(取指令存储器中止),若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。,5,、

23、数据中止(访问数据存储器中止),若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。,1.3 ARM,异常,27,6,、,IRQ,异常,当处理器的外部中断请求引脚有效,且,CPSR,中的,I=0,,产生,IRQ,异常。,系统的外设可通过该异常请求中断服务。,7,、,FIQ,异常,当处理器的外部中断请求引脚有效,且,CPSR,中的,F=0,,产生,FIQ,异常。,FIQ,支持数据传送和通道处理,并有足够的私有寄存器,从而在应用中可避免对寄存器保存的需求,减少了开销。,1.3 ARM,异常,28,1.3.3 ARM,异常中断响应过程,一、进入异常,当发生异常时,除了复

24、位异常立即中止当前指令外,处理器尽量完成当前指令,然后脱离当前的程序去处理异常。,ARM,处理器对异常中断的响应过程如下:,1,、保存返回地址,将引起异常指令的下一条指令的地址保存到新的异常模式,x,下的,R14,,即,R14-,中,使异常处理程序执行完后能正确返回原程序。,2,、保存当前状态寄存器,CPSR,的内容,将,CPSR,的内容保存到将要执行的异常中断对应的,SPSR,中,便于中断返回时恢复处理器当前的状态位、中断屏蔽位以及各条件标志位。,1.3 ARM,异常,29,3,、设置当前状态寄存器,CPSR,中的相应位,设置,CPSR,模式控制位,CPSR,4,:,0,,使处理器进入相应的

25、执行模式;,设置中断标志位,(,CPSR,6,=1,),禁止,IRQ,中断;,设置中断标志位,(,CPSR,7,=1,)禁止,FIQ,中断,当进入,Reset,或,FIQ,模式时。,4,、转去执行中断处理程序,取相应的中断向量给程序计数器,PC,,使程序开始执行中断处理程序。,一般地说,矢量地址处将包含一条指向相应程序的转移指令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。,1.3 ARM,异常,30,1.3 ARM,异常,ARM,处理器对异常的响应过程可以用伪代码描述如下,:,R14_=return link,SPSR_=CPSR,CPSR,4,:,0,=exception m

26、ode number,CPSR,5,=0 /*,当运行于,ARM,状态时*,/,CPSR,6,=1 /*,禁止新的,IRQ,中断*,/,if =Reset or FIQ then,CPSR,7,=1 /*,当,Reset,或,FIQ,异常中断时*,/,/*,禁止新 的,FIQ,中断*,/,PC=exception vector address,31,注意使用异常模式下的特有寄存器,每个异常模式对应有两个寄存器,R13_,、,R14_,分别保存相应模式下的堆栈指针、返回地址;堆栈指针可用来定义一个存储区域保存其它用户寄存器,在程序初始化时应该对各种模式堆栈设置,便于随时使用。,FIQ,模式还有额

27、外的专用寄存器,R8_fiq,R12_fiq,,使用这些寄存器可以加快快速中断的处理速度。,1.3 ARM,异常,32,二、异常返回,1,、异常返回应执行的操作,异常处理完毕之后,,ARM,微处理器会执行以下几步操作从异常返回:,将返回地址装入,PC,把连接寄存器,LR,的值减去相应的偏移量,然后送到,PC,中。,恢复,CPSR,的值,将,SPSR,复制回,CPSR,中。,清除中断屏蔽位,若在进入异常处理时设置了中断禁止位,要在此清除。,可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。,1.3 ARM,异常,33,2,、各种异常返回方法,FIQ,中断返回,不管

28、是在,ARM,状态还是在,Thumb,状态下进入,FIQ,模式,,FIQ,处理程序均可以执行以下指令从,FIQ,模式返回:,SUBS PC,R14-fiq,#4,指令预取中止(,Abort,)异常返回,当指令预取访问存储器失败时,存储器系统向,ARM,处理器发出存储器中止(,Abort,)信号,预取的指令被记为无效,但只有当处理器试图执行无效指令时,指令预取中止异常才会发生,如果指令未被执行,例如在指令流水线中发生了跳转,则预取指令中止不会发生。,如果发生了,指令,预取中止异常,,无论是在,ARM,状态还是,Thumb,状态,其返回指令为:,SUBS PC,R14_abt,#4,;重新执行被中

29、止的指令,1.3 ARM,异常,34,数据中止(,Abort,)异常返回,如果发生了,数据,中止异常,,无论是在,ARM,状态还是,Thumb,状态,其返回指令为:,SUBS PC,R14_abt,#8,重新执行被中止的指令,软件中断指令(,SWI,)异常返回,用于进入管理模式,常用于请求执行特定的管理功能。软件中断处理程序执行以下指令可以从,SWI,模式返回,无论是在,ARM,状态还是,Thumb,状态:,MOVS PC,R14_svc,以上指令恢复,PC,(从,R14_svc,)和,CPSR,(从,SPSR_svc,)的值,并返回到,SWI,的下一条指令。,1.3 ARM,异常,35,未定

30、义指令异常返回,当,ARM,处理器遇到不能处理的指令时,会产生未定义指令异常。采用这种机制,可以通过软件仿真扩展,ARM,或,Thumb,指令集。,处理器执行以下程序返回,无论是在,ARM,状态还是,Thumb,状态:,MOVS PC,R14_und,以上指令恢复,PC,(从,R14_und,)和,CPSR,(从,SPSR_und,)的值,并返回到未定义指令后的下一条指令。,1.3 ARM,异常,36,异常类型,模式,低向量地址,高向量地址,复位,管理,0 x00000000,0 xFFFF0000,未定义指令,未定义,0 x00000004,0 xFFFF0004,软件中断(,SWI,),管

31、理,0 x00000008,0 xFFFF0008,预取中止,(取指令存储器中止),中止,0 x0000000C,0 xFFFF000C,数据中止,(,访问数据存储器中止,),中止,0 x00000010,0 xFFFF0010,IRQ,(中断),IRQ,0 x00000018,0 xFFFF0018,FIQ,(快速中断),FIQ,0 x0000001C,0 xFFFF001C,ARM,中断向量,1.3.4 ARM,中断向量和优先级,37,异常中断向量表,1.3 ARM,的异常,地 址,异 常,进入模式,0 x0000,0000,复位,管理模式,0 x0000,0004,未定义指令,未定义模式

32、0 x0000,0008,软件中断,管理模式,0 x0000,000C,中止(预取指令),中止模式,0 x0000,0010,中止(数据),中止模式,0 x0000,0014,保留,保留,0 x0000,0018,IRQ,IRQ,0 x0000,001C,FIQ,FIQ,38,异常中断向量表说明:,存储器的前,8,个字中除了地址,0 x00000014,之外,全部被用作异常矢量地址。,这是因为在早期的,26,位地址空间的,ARM,处理器中,曾使用地址,0 x00000014,来捕获落在地址空间之外的,load,和,store,存储器地址。这些陷阱称为“地址异常”,因为,32,位的,ARM,不会产生落在它的,32,位地址空间之外的地址,所以地址异常在当前的体系结构中没有作用,,0 x00000014,的矢量地址也就不再使用了。,1.3 ARM,的异常,39,ARM,中断的优先级,1.3 ARM,异常,优先级,异 常,1,(最高),复位,2,数据中止,3,FIQ,4,IRQ,5,预取指令中止,6,(最低),未定义指令、,SWI,40,

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服