- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5第三章体系结构1ppt.ppt
3)ARM处理器内核/处理器核的分类1 3)ARM处理器内核/处理器核的分类2 3)ARM处理器内核/处理器核的分类 3)ARM处理器内核/处理器核的分类3 3)ARM处理器内核/处理器核的分类4 * * * * * * 2) ARM处理器的寄存器 如ARM处理器共有37个寄存器被分为若干个组:30个通用寄存器;6个状态寄存器;1个程序计数器PC。 ARM处理器有7种不同的处理器模式,在每一种模式下都有一组相应的寄存器与之对应。 即在每一种处理器模式下,可访问的寄存器包括15个通用寄存器、1至2个状态寄存器和程序计数器。在使用的寄存器中,有些是公用的、有些是独立使用的。 * ARM微处理器:程序状态寄存器 置0表示执行32bit的ARM指令 置1表示执行16bit的Thumb指令 Negative Zero Carry Overflow IRQ中断的响应: 置1:禁止响应 置0:允许响应 FIQ中断的响应: 置1:禁止响应 置0:允许响应 条件标志 模式控制位 ARM/Thumb控制标志 中断标志 * 3) ARM处理器对异常的响应 (1)将下一条指令的地址存入相应连接寄存器LR(R14),以便程序在处理异常返回时能从正确的位置重新开始执行。 (2)将CPSR复制到相应的SPSR中,工作模式不同使用的SPSR也不同。 (3)根据异常类型,强制设置CPSR的运行模式位。 (4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。 * 4)异常返回后的处理操作 * 3.2 ARM微处理器的指令系统 名词解释:? * 1) ARM指令系统概述 (1)指令系统概念 指令:是规定计算机进行某种操作的命令。 指令系统:计算机能够执行的各种指令的集合。 (2)ARM指令的特点 所有指令都是32位的。 大多数指令都在单周期内完成。 所有指令都可以条件执行。 ARM指令为load/store类型。 基本指令仅36条,分成五类。 有7种寻址方式。 指令集可以通过协处理器扩展。 * 1) ARM指令系统概述 (3)ARM指令的格式 ARM指令基本的语法格式为: Opcode {cond}{s} Rd, Rn {, Operand2} ARM指令典型的编码格式为:(数据处理指令类) Cond Opcode S Rn Rd Operand2 0 11 12 15 16 19 20 21 24 25 27 28 31 7 8 * 1) ARM指令系统概述 (4)指令的条件码 条件码的位数和位置:每条ARM指令包含4位条件码域cond,它占用指令编码的最高四位[31:28]。 条件码的表示:条件编码共 24 =16 种,其中,15种用于指令的条件码。每种条件码用2个英文缩写字符表示。(见P47 表2-6) 带条件指令的执行:ARM处理器根据指令的执行条件是否满足,决定当前指令是否执行。 条件码的书写方法:条件码的位置在指令助记符的后面。 * 2)ARM 指令总体介绍 ARM体系结构支持ARM的汇编语言与C与C++的混合编程。一般的在一个完整的程序设计的中,除了初始化部分用汇编语言完成外,其大部分的编程任务一般都用C或C++完成。 寻址方式:立即数寻址、寄存器寻址、寄存器移位寻址、寄存器间接寻址、基址变址寻址、相对寻址、多寄存器寻址、块拷贝寻址、堆栈寻址。 * 3)ARM指令集 * 3.2.1 ARM 指令的寻址方式 目前ARM指令集支持如下几种常见的寻址方式。 1、立即寻址(立即数寻址) 例如ADD R0,R0,#1 ;R0←R0+1 2、寄存器寻址 例如ADD R0,R1,R2 ;R0←R1+R2 3、寄存器间接寻址 例如ADD R0,R1,[R2] ;R0←R1+[R2] 4、基址变址寻址 例如LDR R0,[R1,#4] ;R0←[R1+4] 5、多寄存器寻址 一次可以传送几个寄存器的值。允许一条指令传送16 个寄存器的任何子集。 * 3.2.1 ARM 指令的寻址方式 6、堆栈寻址 ARM 微处理器支持4种类型的堆栈工作方式,即 满递增堆栈:堆栈指针指向最后压入的数据,由低地址向高地址生成。 满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生成。 空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成。 空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成。 7、相对寻址 以程序计数器PC的当前值为
文档评论(0)