嵌入式系统设计与实践:Linux篇
上QQ阅读APP看书,第一时间看更新

2.2 ARM微处理器概述

ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。

采用RISC架构的ARM微处理器一般具有如下特点:

(1)体积小、低功耗、低成本、高性能;

(2)支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件;

(3)大量使用寄存器,指令执行速度更快;

(4)大多数数据操作都在寄存器中完成,寄存器与内存打交道的唯一机会是通过Load/Store的体系结构在两者间传递数据;

(5)寻址方式灵活简单,执行效率高;

(6)指令长度固定。

ARM微处理器目前包括下面几个系列,以及其他厂商基于ARM体系结构的处理器系列,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。

● ARM7系列

● ARM9系列

● ARM9E系列

● ARM10E系列

● ARM11系列

● SecurCore系列

● Inter的Xscale系列

● Inter的StrongARM系列

其中,ARM7、ARM9、ARM9E和ARM10E为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。如图2.4所示是ARM系统的流水线结构示意图。

图2.4 ARM系统流水线结构

当前在嵌入式领域中,ARM(Advanced RISC Machines)处理器被广泛应用于各种嵌入式设备中。由于ARM嵌入式体系结构类似并且具有通用的外围电路,同时ARM内核的嵌入式最小系统的设计原则及方法基本相同,这使得对嵌入式最小系统的研究在整个系统的开发中具有至关重要的意义。到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:

(1)工业控制领域:作为32位的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。

(2)无线通信领域:目前已有超过85%的无线通信设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。

(3)网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。

(4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。

(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。

目前在嵌入式系统开发的过程中,开发者往往把大量精力投入到嵌入式微处理器MPU(Micro Processing Unit)与众多外设的连接方式以及应用代码的开发之中,而忽视了对嵌入式系统最基本、最核心部分的研究。

2.2.1 ARM9微处理器特点

ARM9系列微处理器在高性能和低功耗特性方面提供最佳的体验。具有以下特点:

● 5级整数流水线,指令执行效率更高。

● 提供1.1MIPS/MHz的哈佛结构。

● 支持32位ARM指令集和16位Thumb指令集。

● 支持32位的高速AMBA总线接口。

● 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

● MPU支持实时操作系统。

● 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。

ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。其中ARM体系结构的命名规则如表2.1所示。

表2.1 ARM体系结构的命名规则

例如:ARM7微处理器ARM7TDMI中的T表示支持压缩指令集Thumb、D表示支持片上Debug、M支持内核硬件乘法器、I表示支持片上断点与调试点。

选择ARM处理器,主要考虑的因素有:ARM微处理器内核、系统的工作频率、晶片内部存储器的容量、引导系统。

ARM微处理器有以下7种运行模式。

● 用户模式(usr):ARM处理器正常的程序执行状态。

● 快速中断模式(fiq):用于高速数据传输或通道处理。

● 外部中断模式(irq):用于通常的中断处理。

● 管理模式(svc):操作系统使用的保护模式。

● 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

● 系统模式(sys):运行具有特权的操作系统任务。

● 未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。

注意:

ARM7TDMI不支持对MMU的管理。

2.2.2 ARM选型原则

鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些对比研究是十分必要的。以下从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题做一些简要的探讨。

1. ARM微处理器内核的选择

从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上,带有MMU(Memory Management Unit)功能的ARM芯片,例如ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。

本书所讨论的S3C2410基于ARM920T内核,它带有MMU,因此支持Windows CE和标准Linux,并且在稳定性和其他方面也都有上佳表现。

2.系统的工作频率

系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz, ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz, ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。

本书所讨论的S3C2410时钟频率为200MHz以上,若更换成S3C2440时钟频率最高可达到500MHz。

3.芯片内存储器的容量

大多数的ARM微处理器片内存储器的容量都不大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。

4.片内外围电路的选择

除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,称之为片内外围电路,如USB接口、IIC接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等,设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。