




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第3章ARM体系结构 本章主要内容 1 片上系统 SystemonChip SoC 与嵌入式处理器 2 ARM体系结构概述 3 ARM的2种状态和7种模式 2 4 ARM的模式无关寄存器 模式相关寄存器和专用寄存器的组织 5 ARM指令集和Thumb指令集概述 6 基于ARM体系结构的嵌入式处理器 3 3 1ARM及其嵌入式处理器的研发与生产方式 ARM是ARMA AdvancedRISCMachineLimited 公司推出的一种RISC处理器体系结构及相关技术 在一个芯片上集中制作多个功能模块 这种芯片可以实现一个系统的功能 这种芯片叫做片上系统 SystemonChip SoC 4 3 1 1SoC与嵌入式处理器 计算机SoC的概念如下图所示 5 计算机的这种单片系统特别适合于嵌入式应用 所以这种SoC也叫做嵌入式处理器 3 1 2嵌入式处理器的研发和生产方式 宿主对象的多样化 势必决定了嵌入式系统的多样化 个性化 1 在SoC技术出现之前 6 CPU和与其配合的接口及功能模块都是单独的芯片 2 在SoC技术出现之后 单片系统 3 单片系统问题 提高效率 通用化和个性化 用户和芯片制造商如何分工 7 8 4 如何分工 9 从上图可知由生产厂商负责的部分分为两个层次 一个层次为CPU及通用接口和功能模块 另一个层次为应用相关且较为通用的接口和功能模块 由精通计算机系统结构的研发人员专门来完成核心部分的研发工作 深阴影部分 10 由熟悉应用及生产销售的芯片生产厂商来完成在核心基础上的二次开发 浅阴影部分 及芯片的生产 核心的研发者既不设计芯片 也不生产芯片 其产品只是一种处理器的体系结构及微处理器和相关功能模块的知识产权 IntellectualProperty IP 11 半导体芯片生产厂商向核心的研发者购买知识产权的使用权 然后根据市场的需求 在购得的知识产权基础上进行二次开发来生产适合各种类型应用的嵌入式处理器芯片 将上图中的CPU部分叫做处理器核 把处理器核与其通用功能模块的组合叫做处理器 12 把在处理器基础上经芯片厂商二次开发 以芯片形式提供的用于嵌入式系统的产品叫做嵌入式处理器 IP商提供的是处理器核和处理器的知识产权 而半导体芯片生产厂商生产的则是嵌入式处理器芯片 世界上知名的IP商当属ARM公司和MIPS公司 13 采用ARM核的嵌入式占据了世界嵌入式处理器市场份额的70 以上 提供ARM处理器知识产权的ARM公司与嵌入式处理器生产厂商之间的关系如下图所示 14 一种使用了ARM处理器的嵌入式处理器芯片的示意图如下 15 部分使用ARM核和处理器IP来生产产品的厂商的部分产品如下表所示 16 17 3 2ARM处理器核的结构 ARM处理器核的结构如图所示 18 1 算术逻辑运算单元ALU ALU是一个可以进行算术和逻辑运算的电路 是处理器进行运算的核心部件 2 桶式移位寄存器 为了加速数据的移位运算 ARM采用了如下所示的桶式移位寄存器 19 20 优点 移位操作的速度快 且移位操作所耗费的时间与移动的位数无关 3 高速乘法器 ARM把传统的根据一位乘数 加 移位 的乘法运算方法改为根据两位乘数 加 移位 方法 提高乘法运算速度 4 寄存器 21 ARM处理器共有37个32位寄存器 4 指令流水线 目前ARM采用的指令流水线有3级 5级 6级 8级几种 22 3 3冯 诺依曼结构及哈佛结构在ARM中的应用 1 冯 诺依曼结构 冯 诺依曼结构也称为普林斯顿结构 是一种将程序指令存储器和数据存储器合并在一起的存储器结构 程序指令和数据的宽度相同 23 ARM7采用了冯 诺依曼结构 2 哈佛结构 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构 程序指令存储和数据存储分开 可以使指令和数据有不同的数据宽度 24 哈佛结构的处理器通常具有较高的执行效率 ARM9 ARM10和ARM11属于哈佛结构 25 3 4ARM处理器的运行模式 ARM处理器可以为程序提供提供7种不同的硬件资源组合 每一种硬件资源组合都叫做一种运行模式 ARM共有7种运行模式 如下表所示 26 27 用户模式是一种只为用户程序提供了有限硬件资源的运行模式 但对于操作系统 这类负责系统底层管理工作的软件 系统资源的开放程度就要大得多 相对于用户模式来说 这种对于硬件资源的使用有某种特权的运行模式叫做特权模式 28 根据处理器硬件资源开放的具体情况 ARM把特权模式分成6种 特权模式中还分为系统模式和异常模式 见下 ARM处理器运行模式 用户模式 USR 特权模式 29 特权模式 系统模式 SYS 异常模式 系统模式 SYS 快中断模式 FIQ 中断模式 IRQ 中止模式 ABT 未定义指令中止模式 UND 30 ARM处理器的运行模式是由程序状态寄存器PSR的D0 D4位的值来决定的 除用户模式之外的其他运行模式都可以通过修改这5位值的方法来切换处理器的运行模式 31 3 5ARM的两种工作状态 ARM体系结构有两个不同的指令集 32位的ARM指令集和16位的Thumb指令集 ARM处理器有两种工作状态 ARM状态和Thumb状态 ARM状态下 处理器执行32位32位ARM指令 Thumb状态下 处理器则执行Thumb指令 32 ARM处理器的工作状态由程序状态寄存器CPSR的D5位的值来决定 ARM指令集和Thumb指令集都设有处理器工作状态切换指令 启动时 处理器的默认状态为ARM状态 33 3 6ARM处理器的寄存器 ARM处理器共有37个寄存器 根据处理器的工作状态 这37个寄存器有两种不同的组织方式 ARM方式和Thumb方式 37个寄存器的组织如下所示 34 35 3 6 1ARM状态下寄存器的组织方式 ARM处理器有37个寄存器 但根据处理器的运行模式 程序能够真正使用的只是其中的18个或17个 1 基本寄存器 把两种及两种以上运行模式所共享的寄存器叫做基本寄存器 36 基本寄存器包括 R0 R15 CPSR 其中R0 R7 R15 CPSR为所有运行模式共享 R8 R12为除了快中断模式之外的其他所有运行模式共享 R14 R14为用户模式和系统模式所共享 2 模式私有寄存器 ARM为某些运行模式设置了一些只能在该运行模式下使用的私有寄存器 37 模式私有寄存器的命名方式为R ARM规定 当处理器在某种模式运行时 凡是与该模式私有寄存器序号相同的基本寄存器将被禁用 为了减少寄存器名称的数量 ARM还规定 寄存器名称统一写为 R 方式 但这个名称所对应的实际物理寄存器则与处理器当前运行模式有关 38 3 程序计数器R15 PC 在ARM中 基本寄存器R15固定地作为程序计数器来使用 为了提高程序的可读性 也通常使用PC来标识 4 程序状态寄存器PSR 基本寄存器R16专门用作程序状态寄存器 同样为了提高程序的可读性 在程序中用PSR来标识他 39 PSR的示意图和表示意义如下 40 41 42 43 ARM处理器中有6个PSR 其中1个叫做当前状态寄存器CPSR 是所有运行模式所共享的另外5个PSR为私有模式 是用来对CPSR进行备份的寄存器 叫做SPSR SavedProgramStatusRegister 由于用户模式和系统模式不属于异常模式 所以这两个模式没有SPSR 44 5 堆栈指针R13 SP 因为Thumb指令集中有某些指令强制性的要求使用寄存器R13作为堆栈指针 所以寄存器R13也通常被用作堆栈指针SP ARM的每种运行模式都可以有自己的堆栈 6 连接寄存器R14 LR 45 寄存器R14也叫做子程序连接寄存器 SubroutineLinkRegister 或连接寄存器LR 当执行子程序调用指令BL时 R14会备份R15 程序计数器PC 的内容 以便子程序结束后能使程序正确返回 3 6 2Thumb状态下寄存器的组织方式 46 Thumb状态下的寄存器同样也分为模式相关寄存器和模式无关寄存器两种 其命名及使用方式与ARM状态下方式一样 但Thumb状态下的寄存器是ARM状态下寄存器集的一个子集 7种模式中R12 R8都没有使用 具体参见教材P66页 47 在Thumb状态下 高端寄存器R8 R15并不是Thumb状态标准寄存器集的一部分 但在汇编语言程序设计中可以受限制的访问这些寄存器 具体使用方法请参见其它资料 48 3 7存储器的组织 1 数据的存储方式 ARM是一种32位处理器 几处理器的数据通常是以32位二进制数为基本单位的 ARM中的一个32位数也叫做一个字 Word ARM规定一个字所占的4个连续存储单元的第一个单元地址的低2位必须是00 49 根据字的4字节在4个存储单元中的存储顺序 ARM提供了2种存储方式 小端方式和大端方式 系统默认的是小端方式 即字的低位字节在地址的低端 小端 50 51 2 ARM的堆栈组织方式 存储区域中的数据的读 写方式是按先进后出 FirstInLastOut FILO 的原则来组织的 这种存储区域就叫做堆栈 堆栈按照其生成方式分为2种 一种叫做地址递增式的堆栈 另一种是地址递减式的堆栈 52 另外 按照堆栈指针的指向还分为空堆栈和满堆栈 如果一个堆栈的堆栈指针一直指向将要存入数据的空单元 则该堆栈称为空堆栈 而堆栈指针一直指向最后存入数据所在的单元的堆栈 称为满堆栈 53 根据堆栈的生成方式和满堆栈及空堆栈的区别 就有4种类型的堆栈工作方式 1 满递增堆栈 2 满递减堆栈 3 空递增堆栈 4 空递减堆栈 54 ARM支持全部全部这4种方式 在ARM中 通常使用寄存器R13来作为堆栈指针SP 55 3 8ARM体系结构的其他特点 3 8 1灵活方便的协处理器接口 在ARM中可以通过ARM核的协处理器接口配置一个或多个协处理器的方法来增强ARM处理器的功能 一个ARM核最多可以配置16个协处理器 每个协处理器都通过一个唯一的ID号来识别 56 用户应用程序可以通过一组专门的 提供Load Store类型接口的ARM指令来对协处理器进行访问 系统中可配置的协处理器及其用途如下 57 ARM体系结构的3组总线 AHB AdvancedHighPerformanceBus ASB AdvancedSystemBus 和APB AdvancedPeripheralBus 可以方便地扩充各种处理器 DSP或I O 把它们集成在一个芯片中 58 3 8 2嵌入式的在线仿真调试 大多数基于ARM的处理器嵌入了ICE RT逻辑 以便通过JTAG来进行仿真调式 另外处理器中还可以嵌入跟踪宏单元ETM EmbeddedTraceMacrocell 用于监控内部总线 以实时跟踪指令和数据的执行 59 3 8 3低电压低功耗的设计 ARM架构通过降低工作电压 减少门电路的翻转次数 降低时钟频率等措施 大大降低了处理器的功耗 60 3 9ARM体系结构的版本及处理器系列 3 9 1ARM体系结构的版本 迄今为止 ARM体系结构定义了ARMv1 ARMv6个版本 通过增加一些特定功能 从而使各个版本还有一些变种版本 这些变种版本用在版本号的后面增加特定的大写字母来标识 61 62 M变种增加了两条用于进行长乘法操作的ARM指令 一条为32位乘32位生成64位 另一种为32位乘32位 然后在加上32位生成64位 在ARM体系版本4及其后的版本中 M变种是系统中的标准部分 故字符M不在版本标识中出现 但如果有变种版本中不支持长乘法指令 则在版本标识中用XM来标识 63 虽然ARM的版本有6个 但是其中一些早期的版本已不在使用 目前仍然有效版本及特点如下所示 64 65 3 9 2ARM处理器系列 基于ARM体系结构的ARM处理器包括ARM7 ARM9 ARM9E ARM10E SecurCore和Intel公司的XScale等多个系列 它们除了具有ARM体系结构的共同特点之外 每个系列还都有各自的特点和应用领域 ARM处理器的命名规则如下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料能源物理重点基础知识点
- 电子气体 六氟化钨 征求意见稿
- 行政法学多样化试题及答案分析
- 绿色政策在经济建设中的重要性试题及答案
- 遏制通货膨胀政策与经济增长的互动试题及答案
- 2025年用户体验设计试题及答案
- 小学发生大火灾应急预案(3篇)
- 网络监控和维护试题及答案
- 2025年软件考试测试参考试题及答案
- 代码注释的重要性与形式试题及答案
- 天然气安全技术说明书
- 供电公司隐患排查总结报告
- 《揭开货币神秘面纱》课件
- 商业银行业务与经营练习题
- 系统云迁移方案
- 山东省医院护理服务质量评价细则
- HSK六级真题与答案下载(第一套)
- 工程量确认单
- CISP-PTE认证培训考试复习题库(附答案)
- 无机化学之锡铅重要化合物介绍课件
- 分析色觉检查图让色弱色盲不再痛苦
评论
0/150
提交评论