第3章ARM处理器_第1页
第3章ARM处理器_第2页
第3章ARM处理器_第3页
第3章ARM处理器_第4页
第3章ARM处理器_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 ARMARM处理器处理器ARM既是一种嵌入式处理器体系结构的缩写,也是一既是一种嵌入式处理器体系结构的缩写,也是一家公司的名字。目前有数十家公司使用家公司的名字。目前有数十家公司使用ARM体系结构开发体系结构开发自己的芯片,支持的外部设备和功能丰富多样。自己的芯片,支持的外部设备和功能丰富多样。ARM体系体系相比其他的体系具有结构简单、入门快等特点。使用相比其他的体系具有结构简单、入门快等特点。使用ARM核心的处理器虽然众多,但是核心都是相同的。因此,掌握核心的处理器虽然众多,但是核心都是相同的。因此,掌握了了ARM的体系结构,用不同的处理器只要是基于的体系结构,用不同的处理器

2、只要是基于ARM核心核心都能很快上手。本章的主要内容包括:都能很快上手。本章的主要内容包括:微处理器和微控制器的关系微处理器和微控制器的关系ARM处理器介绍处理器介绍ARM体系结构体系结构ARM的功能选型的功能选型3.1 3.1 微处理器和微控制器微处理器和微控制器微处理器可以根据应用领域大致分成通用微处理器、微处理器可以根据应用领域大致分成通用微处理器、嵌入式微处理器和微控制器。通用微处理器主要用于高性能嵌入式微处理器和微控制器。通用微处理器主要用于高性能计算,如常用的计算,如常用的PC机的机的CPU就是一个通用微处理器;嵌入就是一个通用微处理器;嵌入式微处理器是针对某种特定应用的高能力计算

3、,如式微处理器是针对某种特定应用的高能力计算,如MP3的解的解码、移动电话的控制等;微控制器主要用于控制某种设备,码、移动电话的控制等;微控制器主要用于控制某种设备,通常集成了多种外部设备控制器,处理指令的能力一般不是通常集成了多种外部设备控制器,处理指令的能力一般不是很强,但是价格低廉,多用在汽车、空调等设备上。很强,但是价格低廉,多用在汽车、空调等设备上。微控制器除了针对专门设备设计以外,还具备微处理微控制器除了针对专门设备设计以外,还具备微处理器不具备的特点。如很好的环境适应性,可以在特殊的高温器不具备的特点。如很好的环境适应性,可以在特殊的高温或者低温环境工作。这些特点一般的微处理器是

4、不具备的。或者低温环境工作。这些特点一般的微处理器是不具备的。目前的嵌入式微处理器大多集成了外部设备控制器,功能不目前的嵌入式微处理器大多集成了外部设备控制器,功能不断增强,价格也在下降。使用嵌入式微处理器替代微控制器断增强,价格也在下降。使用嵌入式微处理器替代微控制器俏蠢捶俏蠢捶沟那魇啤沟那魇啤3.2 ARM3.2 ARM处理器介绍处理器介绍ARM是英文是英文Advanced RISC Machines的缩写,中文译的缩写,中文译为高性能为高性能RISC机器。从名称可以看出,机器。从名称可以看出,ARM是一种基于是一种基于RISC架构的高性能处理器。实际上架构的高性能处理器。实际上ARM同时

5、也是它的设计同时也是它的设计公司的名字。与其他的嵌入式芯片不同,公司的名字。与其他的嵌入式芯片不同,ARM是由是由ARM公公司设计的一种体系结构,主要用于出售技术授权,并不生产司设计的一种体系结构,主要用于出售技术授权,并不生产芯片。其他芯片设计公司可以通过购买芯片。其他芯片设计公司可以通过购买ARM的授权,设计的授权,设计和生产基于和生产基于ARM体系的芯片。体系的芯片。3.2.1 ARM3.2.1 ARM微处理器的应用领域微处理器的应用领域在前面提到在前面提到ARM已经渗透到许多的应用领域。已经渗透到许多的应用领域。1工业控制工业控制2无线通信无线通信3网络应用网络应用4消费电子产品消费电

6、子产品3.2.2 ARM3.2.2 ARM的功能特点的功能特点ARM核心的处理器采用核心的处理器采用RISC体系结构,具有以下优点体系结构,具有以下优点:芯片体积小,功耗低,制造成本低,性能优异芯片体积小,功耗低,制造成本低,性能优异支持支持Thumb(16位)和位)和ARM(32位)两种指令集,位)两种指令集,8位和位和16位设备兼容性好位设备兼容性好由于采用由于采用RISC架构,在内部大量使用寄存器,执行指架构,在内部大量使用寄存器,执行指令速度快令速度快大部分的指令都是操作寄存器,只有很少指令会访问大部分的指令都是操作寄存器,只有很少指令会访问外部内存外部内存采用多级流水线结构处理速度快

7、采用多级流水线结构处理速度快支持多种寻址方式,数据存取方式灵活支持多种寻址方式,数据存取方式灵活指令长度固定,便于编译器操作以及执行指令指令长度固定,便于编译器操作以及执行指令3.3 ARM3.3 ARM指令集指令集指令集指一个微处理器所有指令的集合,每种微处理指令集指一个微处理器所有指令的集合,每种微处理器都有自己的指令集。在第器都有自己的指令集。在第2章讲过处理器的指令集可以分章讲过处理器的指令集可以分成成CISC(复杂指令集)和(复杂指令集)和RISC(精简指令集)两种,(精简指令集)两种,ARM处理器使用处理器使用RISC(精简指令集)。(精简指令集)。精简指令集的最大特点是所有的指令

8、占用相同的存储精简指令集的最大特点是所有的指令占用相同的存储空间。空间。ARM处理器支持处理器支持ARM和和Thumb两种指令集:两种指令集:ARM指令集工作在指令集工作在32位模式下,指令长度都是位模式下,指令长度都是32比特;比特;Thumb指指令集工作在令集工作在16位模式下,指令长度都是位模式下,指令长度都是16比特。比特。ARM指令集按照功能可以分为算术运算指令、逻辑运指令集按照功能可以分为算术运算指令、逻辑运算指令、分支指令、软件中断指令和程序数据装载指令等。算指令、分支指令、软件中断指令和程序数据装载指令等。3.3.1 3.3.1 算术运算指令算术运算指令算术运算指令用于普通数据

9、计算。常见的指令有算术运算指令用于普通数据计算。常见的指令有ADD、ADC、SUB和和SBC。1ADD指令指令2ADC指令指令3SUB指令指令4SBC指令指令3.3.2 3.3.2 逻辑运算指令逻辑运算指令逻辑运算不同与算术运算。逻辑运算按照逻辑代数的逻辑运算不同与算术运算。逻辑运算按照逻辑代数的运算法则操作数据,得到逻辑结果。运算法则操作数据,得到逻辑结果。1AND指令指令2EOR指令指令3MOV指令指令3.2.3 3.2.3 分支指令分支指令在汇编语言中,代码的跳转都是通过分支指令完成了在汇编语言中,代码的跳转都是通过分支指令完成了,ARM的分支指令比较简单,本书介绍最基本的分支指令的分支

10、指令比较简单,本书介绍最基本的分支指令B指令。指令。B指令可以根据设置的条件跳转到指定的代码地址。指令可以根据设置的条件跳转到指定的代码地址。格式:格式:B条件条件 B指令是分支跳转指令。程序中遇到指令是分支跳转指令。程序中遇到B指令会立即跳转指令会立即跳转到指定地址,然后继续从新的地址开始运行程序。高级语言到指定地址,然后继续从新的地址开始运行程序。高级语言(例如(例如C语言)的语言)的goto语句常被翻译成语句常被翻译成B指令。指令。3.2.4 3.2.4 数据传送指令数据传送指令数据传送指令用于数据传送指令用于CPU和存储器之间的数据传送,是和存储器之间的数据传送,是ARM处理器唯一能与

11、外部存储器交换数据的一类指令。处理器唯一能与外部存储器交换数据的一类指令。1单一数据传送指令单一数据传送指令2多数据传送指令多数据传送指令3.4 ARM3.4 ARM的结构的结构基于基于ARM的芯片有许多,功能结构也不同,但是最基的芯片有许多,功能结构也不同,但是最基本的是本的是ARM核。无论学习哪种核。无论学习哪种ARM类型的处理器,基本的类型的处理器,基本的内容都是一样的。本节介绍内容都是一样的。本节介绍ARM体系结构。内容相对比较体系结构。内容相对比较抽象,读者可以在后面的开发过程中结合本节知识深入体会抽象,读者可以在后面的开发过程中结合本节知识深入体会。3.4.1 ARM3.4.1 A

12、RM体系结构的命名方法体系结构的命名方法ARM体系结构的命名可以分成两部分,一部分是体系结构的命名可以分成两部分,一部分是ARM体系体系版本的命名,另一部分是版本的命名,另一部分是ARM体系版本的处理器命名。体系版本的处理器命名。ARM体系体系到目前一共发布了到目前一共发布了9个系列的版本,每种版本都可以支持不同的指个系列的版本,每种版本都可以支持不同的指令集和特殊功能。令集和特殊功能。ARMv(版本号)x1(指令集)x2(指令集)指令集缩写指令集缩写含义含义TThumb指令集M长乘法指令集E增强DSP指令集J支持Java加速器SIMD多媒体功能扩展指令集3.4.2 3.4.2 处理器系列划分

13、处理器系列划分在确定了一种在确定了一种ARM体系结构后,可以形成一系列处理器。不体系结构后,可以形成一系列处理器。不过,处理器的命名主要是功能上的一些细小差别,基本的核心是相过,处理器的命名主要是功能上的一些细小差别,基本的核心是相同的。同的。ARMx y zm功能缩功能缩写写含义含义T支持Thumb指令集D支持片上调试M支持快速乘法器I支持嵌入式ICE调试E支持增强DSP指令J支持Java程序加速F支持浮点运算单元-S综合版本,支持所有功能3.4.3 3.4.3 处理器工作模式处理器工作模式ARM微处理器可以在工作中随时切换状态。切换工作微处理器可以在工作中随时切换状态。切换工作状态不会影响

14、工作模式和寄存器的内容。但是状态不会影响工作模式和寄存器的内容。但是ARM体系要体系要求在处理器启动的时候应该处于求在处理器启动的时候应该处于ARM状态。状态。ARM处理器使处理器使用操作寄存器的用操作寄存器的0位表示工作状态,取值是位表示工作状态,取值是1时代表时代表Thumb状状态,取值是态,取值是0时是时是ARM状态。可以使用状态。可以使用BX指令可以切换状指令可以切换状态。当处理器启动的时候操作寄存器取值为态。当处理器启动的时候操作寄存器取值为0,保证了默认,保证了默认进入进入ARM状态。状态。ARM处理器支持处理器支持7种工作模式,这对一些通用处理器来种工作模式,这对一些通用处理器来

15、说确实有点多。不过,通过分析可以发现,说确实有点多。不过,通过分析可以发现,ARM的工作模的工作模式大多都是处理外部中断和异常的,只不过是对异常和中断式大多都是处理外部中断和异常的,只不过是对异常和中断的分类比较详细。的分类比较详细。7种工作模式定义请参考。种工作模式定义请参考。3.4.3 3.4.3 处理器工作模式处理器工作模式功能缩写功能缩写含义含义T支持Thumb指令集D支持片上调试M支持快速乘法器I支持嵌入式ICE调试E支持增强DSP指令J支持Java程序加速F支持浮点运算单元-S综合版本,支持所有功能3.4.4 3.4.4 存储系统存储系统嵌入式微处理器大多采用一种线性的存储管理模式

16、,嵌入式微处理器大多采用一种线性的存储管理模式,ARM也是如此。这种管理模式的特点是,系统内所有的存也是如此。这种管理模式的特点是,系统内所有的存储器和外部设备都被安排到一个统一的地址空间,通过地址储器和外部设备都被安排到一个统一的地址空间,通过地址映射到不同的设备,访问某个设备只需要访问该设备映射的映射到不同的设备,访问某个设备只需要访问该设备映射的内存地址即可。线性地址空间便于处理器的管理和用户操作内存地址即可。线性地址空间便于处理器的管理和用户操作。在操作超过在操作超过8位的数据时,存在两种不同的访问方法:位的数据时,存在两种不同的访问方法:大字端模式和小字端模式。大字端模式和小字端模式

17、。3.4.4 3.4.4 存储系统存储系统字节n字节n+1字节n+2字节n+3032字节n+3字节n+2字节n+1字节n032大字端模式小字端模式3.4.5 3.4.5 寻址方式寻址方式寻址就是根据指令中的地址码找出操作数地址的过程寻址就是根据指令中的地址码找出操作数地址的过程,是计算机中很重要的一个部分。对编写程序来说,不同的,是计算机中很重要的一个部分。对编写程序来说,不同的寻址方式是存取速度和存取空间权衡的一个考虑因素。本书寻址方式是存取速度和存取空间权衡的一个考虑因素。本书介绍介绍7种常见的种常见的ARM处理器寻址模式。处理器寻址模式。1立即寻址立即寻址2寄存器寻址方式寄存器寻址方式3

18、寄存器偏移寻址寄存器偏移寻址4寄存器间接寻址寄存器间接寻址5基址寻址基址寻址6多寄存器寻址多寄存器寻址7栈寻址栈寻址3.4.5 3.4.5 寻址方式寻址方式操作名称操作名称功能功能LSL(Logical Shift Left)逻辑左移寄存器的二进制位从右往左移动,空出的位补0LSR(Logical Shift Right)逻辑右移寄存器的二进制位从左往右移动,空出的位补0ASR(Arithmetic Shift Right)算术右移移位过程中保持符号位不变,即如果源操作数为正数,则字的高端空出的位补0,否则补1ROR(Rotate Right)循环右移寄存器的低端移出的位填入字的高端空出的位R

19、RX(Rotate Right eXtended by 1 place)带扩展的循环右移操作数右移一位,高端空出的位用原C标志值填充3.5 ARM3.5 ARM的功能选型的功能选型随着嵌入式应用的发展,随着嵌入式应用的发展,ARM芯片的使用也不断增多芯片的使用也不断增多。但是,由于。但是,由于ARM公司的技术授权,许多厂商都在生产基公司的技术授权,许多厂商都在生产基于于ARM核的芯片,给用户的选择带来一定困难。本节从核的芯片,给用户的选择带来一定困难。本节从ARM芯片的结构和功能出发,介绍在芯片的结构和功能出发,介绍在ARM芯片的选型过程芯片的选型过程中需要注意的问题,并且在最后给出几种中需要

20、注意的问题,并且在最后给出几种ARM芯片介绍。芯片介绍。3.5.1 ARM3.5.1 ARM的选型原则的选型原则基于基于ARM核的处理器众多,功能相差也很大。选型核的处理器众多,功能相差也很大。选型主要从应用角度出发,根据功能的需求,是否有升级要求主要从应用角度出发,根据功能的需求,是否有升级要求以及成本等多方面考虑。下面从技术角度介绍一下以及成本等多方面考虑。下面从技术角度介绍一下ARM选选型考虑的因素。型考虑的因素。1ARM核心核心2时钟控制器时钟控制器3内部存储器内部存储器4中断控制器中断控制器5GPIO6实时钟实时钟RTC7串行控制器串行控制器8WatchDog9电源管理功能电源管理功能10DMA控制器控制器11I2C接口接口12ADC和和DAC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论