初学arm知识总结

初学arm知识总结

ID:36812194

大小:1.19 MB

页数:29页

时间:2019-05-10

初学arm知识总结_第1页
初学arm知识总结_第2页
初学arm知识总结_第3页
初学arm知识总结_第4页
初学arm知识总结_第5页
资源描述:

《初学arm知识总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式技术基础扬州职业大学计算机应用教研室ARM处理器体系结构简要总结RISC处理器种类比较多,指令长度固定,执行周期固定,微控制器子类又很多,目前很多较小的嵌入式控制场合都用得是微控制器,比如sim卡,一卡通,电子表等。mips是mips公司研究出的一套体系结构,目前龙芯,聚芯都是基于mips。Alpha是惠普在与康柏电脑公司合并之后拥有Alpha芯片的,在2003年1月推出一款新的Alpha处理器。18月后Alpha芯片正式“退休”。powerpc是ibm,hp等公司合力出的一套,挺复杂,结构严谨,但推广不好,sparc只在sun得到大力支持。arm是目前应用最广泛的一套指令系

2、统,支持多任务,只要是超出单片机能力、x86又太浪费的场合大部分都用arm。90%的智能手机都是arm处理器。ARM处理器体系结构简要总结X86处理器工作模式:实模式保护模式虚拟8086模式arm处理器7工作模式:用户模式、管理模式、未定义模式、中止模式、特权模式、irq模式,fiq模式。ARM处理器体系结构简要总结用户模式和管理模式:共用r0-r14通用寄存器,pc寄存器,共用一个cpsr。未定义模式、中止模式、特权模式、irq模式:共享用户模式和管理模式的r0-r12,各自专用的r13-r14,pc寄存器,各自专用的cpsr和spsr。fiq模式:共享用户模式和管理模式的r0-

3、r7,专用的r8-r14,pc寄存器,专用的cpsr和spsr。注意pc寄存器是所有模式共享一个。ARM体系的各种异常的分析1.复位异常(1)当内核的nRESET信号被拉低时,ARM处理器放弃正在执行的指令,当nRESET信号再次变高时,ARM处理器进行复位操作;(2)系统复位后,进入管理模式对系统进行初始化,复位后,只有PC(0x00000000)和CPSR(nzcvqIFt_SVC)的值是固定的,另外寄存器的值是随机的。ARM体系的各种异常的分析2.IRQ异常(1)当CPSR中的相应的中断屏蔽被清除时,内核的nIRQ信号被拉低时可产生IRQ异常;(2)由于ARM处理器的三级流水

4、线结构,当异常发生时,PC的值等于当前执行指令的地址+8(即正确的中断返回地址+4),因此R14保存的值是中断返回地址+4,所以当异常要返回时须执行以下指令:SUBS  PC,R14_irq,#4;PC=R14-4注意:在SUB指令尾部有个S,并且PC是目标寄存器,所以程序返回时CPSR将自动从SPSR寄存器中恢复;(3)将用户模式下的CPSR保存到SPSR_irq中;(4)设置PC为IRQ异常处理程序的中断入口向量地址,在IRQ模式下该向量地址为0x00000018。ARM体系的各种异常的分析3.FIR异常(1)当CPSR中的相应F位被清零时,内核的nFIR信号被拉低时可产生FI

5、R异常,FIQ异常是优先级最高的中断(2)FIQ异常的进入和退出与IRQ异常类似;(3)快速中断模式有8个专用的寄存器,可用来满足寄存器保护的需要,因此从其他模式进入FIQ模式时这些寄存器不用压栈了,提高程序运行的速度,且在中断入口地址的安排上,FIQ处于所有异常入口的最后,这是为了让用户可以从FIQ异常入口处(0x1c)就开始安排中断服务程序,而不需要再次跳转。。ARM体系的各种异常的分析4.未定义指令异常(1)当ARM在对一条未定义指令进行译码时,发现这是一条自己和系统内任何协处理器都无法执行的指令时,就会发生未定义指令异常;(2)由于是在对未定义指令译码时发生异常,所以PC的

6、值等于未定义指令的地址+4(即刚好为中断返回地址),因此R14保存的值是中断返回地址,所以当异常要返回时可执行以下指令:MOVS  PC,R14_undARM体系的各种异常的分析5.中止异常中止表示当前存储器的访问不能完成,是由外部的ABOUT输入信号引起的异常,分为两类:(1)预取指中止:由程序存储器引起的中止异常;(2)数据中止:由数据存储器引起的中止异常;ARM体系的各种异常的分析5.中止异常数据存储器引起的中止异常;预取指中止异常当程序发生预取指中止时,ARM内核将预取的指令标记为无效,但在指令到达流水线的执行阶段时才进入异常,因此当前PC的值为当前执行指令的地址+8(即正

7、确的中断返回地址+4),因此R14保存的值是中断返回地址+4,所以当修复了产生中止的原因后,不管在什么操作状态,处理器都会执行以下指令SUBS  PC,R14_abt,#4;PC=R14-4ARM体系的各种异常的分析5.中止异常数据中止异常当发生数据中止异常时,异常会在“导致异常的指令”执行后的下一条指令时才发生,因此当前PC的值为“导致异常的指令”执行后的下一条指令的地址+8(即正确的中断返回地址+8),因此R14保存的值是中断返回地址+8,所以当修复了产生中止的原

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

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

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