网站大量收购独家精品文档,联系QQ:2885784924

ARM架构解析.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM架构解析,arm架构,arm架构和x86架构,arm最新架构,arm处理器架构,armv8架构详解,arm架构是什么意思,arm公版架构,mips架构和arm架构,arm体系架构

ARM 架构 Agenda ARM公司简介 编程模式 指令集 系统设计 ARM Ltd 成立于1990年11月 前身为 Acorn计算机公司 Advance RISC Machine(ARM) 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴 ARM 公司不生产芯片 IP(Intelligence Property) 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件, 总线架构, 外围设备单元,等等 ARM Offices Worldwide ARM Partnership Model 目录 ARM公司简介 编程模式 指令集 系统设计 数据和指令类型 ARM 采用的是32位架构. ARM 约定: Byte : 8 bits Halfword :16 bits (2 byte) Word : 32 bits (4 byte) 大部分ARM core 提供: ARM 指令集(32-bit) Thumb 指令集(T变种)(16-bit ) Jazelle cores 支持 Java bytecode(J变种,4TEJ) 处理器工作模式 ARM 有7个基本工作模式: User:非特权模式,大部分任务执行在这种模式 正常程序执行的模式 FIQ:当一个高优先级(fast)中断产生时将会进入这种模式 高速数据传输和通道处理 IRQ:当一个低优先级(normal)中断产生时将会进入这种模式 通常的中断处理 Supervisor:当复位或软中断指令执行时将会进入这种模式 供操作系统使用的一种保护模式 Abort: 当存取异常时将会进入这种模式 虚拟存储及存储保护 Undef: 当执行未定义指令时会进入这种模式 软件仿真硬件协处理器 System: 使用和User模式相同寄存器集的特权模式 特权级的操作系统任务 ARM 寄存器 寄存器组织概要 ARM 寄存器 ARM 有37个32-Bits长的寄存器. 1 个用作PC( program counter) 1个用作CPSR(current program status register) 5个用作SPSR(saved program status registers) 30 个通用寄存器 当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取: 相应的r0-r12子集 相应的 r13 (the stack pointer, sp) and r14 (the link register, lr) 相应的 r15 ( the program counter, pc) 相应的CPSR(current program status register, cpsr) 特权模式 (除system模式) 还可以存取; 相应的 spsr (saved program status register) 程序状态寄存器 条件位: N = 1-结果为负,0-结果为正或0 Z = 1-结果为0,0-结果不为0 C =1-进位,0-借位 V =1-结果溢出,0结果没溢出 Q 位: 仅ARM 5TE/J架构支持 指示增强型DSP指令是否溢出 J 位 仅ARM 5TE/J架构支持 J = 1: 处理器处于Jazelle状态 中断禁止位: I = 1: 禁止 IRQ. F = 1: 禁止 FIQ. T Bit 仅ARM xT架构支持 T = 0: 处理器处于 ARM 状态 T = 1: 处理器处于 Thumb 状态 Mode位(处理器模式位): 0b10000 User 0b10001 FIQ 0b10010 IRQ 0b10011 Supervisor 0b10111 Abort 0b11011 Undefined 0b11111 System 程序指针PC (r15) 当处理器执行在ARM状态: 所有指令 32 bits 宽 所有指令必须 word 对齐 所以 pc值由bits [31:2]决定, bits [1:0] 未定义 (所以指令不能halfword / byte对齐). 当处理器执行在Thumb状态: 所有指令 16 bits 宽 所有指令必须 halfword 对齐 所以 pc值由bits [31:1]决定, bits [0] 未定义 (所以指令不能 byte对齐). 当处理器执行在Jazelle状态: 所有指令 8 bits 宽 处理器执行 word 存取一次取4条指令 异常处理 当异常产生时, ARM core: 拷贝 CPSR 到 SPSR_mode 设置适当的 CPSR 位: 改变处理器状态进入 ARM 态 改变处理器模式进入相应的异常模式 设置中断禁止位禁止相应中断 (如

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档