ARM体系结构

嵌入式处理器种类繁多,从8位、16位、32位到64位都有。本章介绍的嵌入式应用处理器主要有ARM、MIPS、PowerPC、X86、68K/Cold fire等,下面对这些处理器进行一些

简单介绍。

MIPS是Microprocessor without Inter-locked Pipeline Stages的缩写,是由MIPS技术公司开发的一种处理器内核标准。目前有32位和64位MIPS芯片,芯片也是由MIPS技术公

司生产的。

PowerPC是早期Motorola公司和IBM公司联合为Apple公司的MAC机开发的CPU芯片,商标权同时属于IBM和Motorola两家公司,并一度成为他们的主导产品。IBM公司主要的

PowerPC产品有PowerPC 604s(深蓝内部的CPU)、PowerPC 750、PowerPC G3(1.1GHz)。Motorola公司则主要有MC和MPC系列。尽管他们产品不一样,但都采用

PowerPC的内核。这些产品在电信、金融和其他许多行业都具有广泛的应用。

x86系列处理器起源于Intel架构的8080,然后发展出286、386、486直到现在的奔腾处理器乃至双核处理器等。从嵌入式市场来看,486DX也应该是和ARM、68K、MIPS和

SuperH齐名的5大嵌入式处理器之一。目前市场上的PC104产品基本都是基于x86体系结构,在工业控制领域里面PC104产品的占有量仍然很大。

Motorola 68K是出现比较早的一款嵌入式处理器,采用的是CISC(复杂指令集系统计算机)结构,设计经典,在全球各种嵌入式应用领域中取得巨大成功。Sun微系统公司也

把这款处理器应用于早期的工作站中。

本书中介绍的嵌入式系统设计都是围绕着ARM处理器展开的,涵盖了ARM系统设计的硬件和软件部分,所以在这里对ARM处理器做一下简单描述。ARM是Advanced RISC

Machines的缩写,顾名思义ARM处理器自然也是一种典型的精简指令集处理器。ARM处理器的核心技术来自于英国的一家IC软核设计公司——ARM公司。

ARM公司是为数不多的以嵌入式处理器IP Core设计起家而获得巨大成功的IP Core设计公司。自20世纪90年代成立以来,在32位RISC CPU开发领域不断取得突破,其结构已

经从V1发展到V6,主频最高也已经达到1GHz。ARM公司将其IP Core出售给各大半导体制造商,加上其设计的IP Core具有功耗低、成本低等显著优点,因此获得众多半导体厂

家和整机厂商的大力支持。在32位嵌入式应用领域获得了巨大的成功,目前己经占有75%以上的32位嵌入式产品市场。现在设计、生产ARM芯片的国际大公司已经超过50多

家,国内的很多知名企业包括中兴通信、华为通信、上海华虹、上海交大、复旦微电子、杰得微电子等公司也都已经购买了ARM公司的IP Core用于通信专用芯片的设计。所以

对于一名有志于在嵌入式领域发展的电子专业学生或一名优秀的电子工程师来说,熟悉和了解ARM处理器是很有必要的。

1.3.1 ARM处理器概述

ARM处理器当前主要有6个系列产品:ARM7、ARM9、ARM9E、ARM10E、SecurCore 及最新的ARM11 系列。进一步的产品则来自于ARM公司的合作伙伴,如Intel公司的

StrongARM产品和XScale微体系结构等,不过Intel公司已经于2006年将该架构出售给Marvell Technology Group Ltd了。

ARM公司还把ARM IP Core提供给其他芯片设计公司用于设计ARM+DSP、ARM+FPGA等SOC结构的芯片。现在用得比较多的如TI公司的OMAP,达芬奇系列大部分是含有

ARM+DSP双核处理器的产品。Actel公司的带M7标识的ProASIC3E系列芯片则是FPGA+ARM7的SOC系统芯片。这些多功能IC的发展也拓宽了ARM处理器的应用范围。

ARM公司除了获得了以上半导体厂家的大力支持外,同时也获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、

Plam OS、Symbian OS、pSOS、VxWorks、Nucleus、EPOC、uCOS等。对于开发工程师来说,这些RTOS公司针对ARM处理器所提供的BSP对于迅速开始ARM平台上的开

发至关重要。

在ARM处理器内核中有多个功能模块可供生产厂商根据不同用户的不同要求来配置生产。这些模块分别用T、D、M、I、E、J、S等来表示,这些模块一般从处理器的内核版本

上可以区分出来。

n T:表示支持Thumb指令,说明该内核可从16Thumb指令集扩充到32ARM指令集。

n D:表示支持Debug,说明该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而方便地进行断点设置、单步调试。

n M:表示Multiplier,说明处理器内部带有8位乘法器。

n I:表示Embedded ICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。

除了以上一些特性外,ARM处理器内核中还有一些处理器内核带EJ-S模块。

n E:表示DSP Enhancement,即增加了前导零处理和饱和运算等一些常用的DSP运算指令,极大地改善音、视频处理程序的性能。

n J:表示Jazelle DBXDirect Bytecode eXecution),这是ARM公司推出的Java加速解决方案。Jazelle不是一个简单的加速硬件,它是融入于处理器流水线之中的一项专门针对Java指令执行的硬件功能,使得CPU可以直接接收一部分Java指令,并加以译码执行。通过这里的介绍,读者可以试着分析一下ARM926EJ的具体含义。

n S:表示可综合的软核softcore

1.3.2 ARM内核种类分类

带有ARM内核的处理器大概有千种以上,这里不做介绍。下面主要对各类ARM处理器的几个重要内核版本做一个简要介绍。

1ARM7处理器

ARM7处理器采用了ARMV4T(冯·诺依曼)体系结构,这种体系结构将程序指令存储器和数据存储器合并在一起。主要特点就是程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序指令和数据的宽度相同。这样,处理器在执行指令时,必须先从存储器中取出指令进行译码,再取操作数执行运算。总体来说ARM7体系结构具有三级流水、空间统一的指令与数据Cache、平均功耗为0.6mW/MHz、时钟速度为66MHz、每条指令平均执行1.9个时钟周期等特性。其中的ARM710、ARM720和ARM740为内带Cache的ARM核。ARM7指令集同Thumb指令集扩展组合在一起,可以减少内存容量和系统成本。同时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。ARM7体系结构是小型、快速、低能耗、集成式的RISC内核结构。该产品的典型用途是数字蜂窝电话和硬盘驱动器等,目前主流的ARM7内核是ARM7TDMI、ARM7TDMI-S、ARM7EJ-S、ARM720T。现在市场上用得最多的ARM7处理器有Samsung公司的S3C44BOX与S3C4510处理器、Atmel公司的AT91FR40162系列处理器、Cirrus公司的EP73xx系列等。通常来说前两三年大部分手机基带部分的应用处理器基本上都以ARM7为主。还有很多的通信模块,如CDMA模块、GPRS模块和GPS模块中都含有ARM7处理器。

2ARM9ARM9E处理器

ARM9处理器采用ARMV4T(哈佛)体系结构。这种体系结构是一种将程序指令存储和数据存储分开的存储器结构,是一种并行体系结构。其主要特点是程序和数据存储在不同

的存储空间中,即程序存储器和数据存储器。它们是两个相互独立的存储器,每个存储器独立编址、独立访问。与两个存储器相对应的是系统中的4套总线,程序的数据总线和

地址总线,数据的数据总线和地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获取指令字和操作数,从而提高了执行速度,使数据的吞吐量提高了一

倍。又由于程序和数据存储器在两个分开的物理空间中,因而取指和执行能完全重叠。ARM9采用五级流水处理及分离的Cache结构,平均功耗为0.7mW/MHz。时钟速度为

120MHz~200MHz,每条指令平均执行1.5个时钟周期。与ARM7处理器系列相似,其中的ARM920、ARM940和ARM9E处理器均为含有Cache的CPU核,性能为132MIPS

(120MHz时钟,3.3V供电)或220MIPS(200MHz时钟)。ARM9处理器同时也配备Thumb指令扩展、调试和Harvard总线。在生产工艺相同的情况下,性能是ARM7TDMI处理

器的两倍之多。常用于无线设备、仪器仪表、联网设备、机顶盒设备、高端打印机及数码相机应用中。ARM9E内核是在ARM9内核的基础上增加了紧密耦合存储器TCM及DSP部分。目前主流的ARM9内核是ARM920T、ARM922T、ARM940。相关的处理器芯片有Samsung公司的S3C2510、Cirrus公司的EP93xx系列等。主流的ARM9E内核是

ARM926EJ-S、ARM946E-S、ARM966E-S等。目前市场上常见的PDA,比如说PocketPC中一般都是用ARM9处理器,其中以Samsung公司的S3C2410处理器居多。

3ARM10E处理器

ARM10E处理器采用ARMVST体系结构,可以分为六级流水处理,采用指令与数据分离的Cache结构,平均功耗1000mW,时钟速度为300MHz,每条指令平均执行1.2个时钟

周期。ARM10TDMI与所有ARM核在二进制级代码中兼容,内带高速32×16 MAC,预留DSP协处理器接口。其中的VFP10(向量浮点单元)为七级流水结构。其中的ARM1020T

处理器则是由ARMl0TDMI、32KB指令、数据Caches及MMU部分构成的。其系统时钟高达300MHz时钟,指令Cache和数据Cache分别为32KB,数据宽度为64位,能够支持多

种商用操作系统,适用于下一代高性能手持式因特网设备及数字式消费类应用。主流的ARM10内核是ARM1020E、ARM1022E、ARM1026EJ-S等。

4SecurCore处理器

SecurCore系列处理器提供了基于高性能的32位RISC技术的安全解决方案,该系列处理器具有体积小、功耗低、代码密度大和性能高等特点。另外最为特别的就是该系列处理

器提供了安全解决方案的支持。采用软内核技术,以提供最大限度的灵活性,以及防止外部对其进行扫描探测,提供面向智能卡的和低成本的存储保护单元MPU,可以灵活地

集成用户自己的安全特性和其他的协处理器,目前含有SC100、SC110、SC200、SC210 4种产品。

5StrongARM处理器

StrongARM处理器采用ARMV4T的五级流水体系结构。目前有SA110、SA1100、SA1110等3个版本。另外Intel公司的基于ARMv5TE体系结构的XScale PXA27x系列处理器,与

StrongARM相比增加了I/D Cache,并且加入了部分DSP功能,更适合于移动多媒体应用。目前市场上的大部分智能手机的核心处理器就是XScale系列处理器。

6ARM11处理器

ARM11处理器系列可以在使用130nm代工厂技术、小至2.2mm2芯片面积和低至0.24mW/MHz的前提下达到高达500MHz的性能表现。ARM11处理器系列以众多消费产品市场

为目标,推出了许多新的技术,包括针对媒体处理的SIMD,用以提高安全性能的TrustZone技术,智能能源管理(IEM),以及需要非常高的、可升级的超过2600 Dhrystone

2.1 MIPS 性能的系统多处理技术。主要的ARM11处理器有ARM1136JF-S、ARM1156T2F-S、ARM1176JZF-S、ARM11 MCORE等多种。

下面对几个ARM处理器内核做了简单的介绍。可以注意到,随着处理器内核技术的发展,处理器的速度越来越快,其主要得益于ARM流水线的技术发展。

这里对各类处理器核的ARM流水线做一下对比,如图1-1所示。

1‑1 ARM处理器内核流水线

另外按照市场应用,ARM处理器内核大体可以分成如下表的Embedded Core、Application Core、Secure Core 3个部分,如表1-1所示。

1‑1 ARM处理器分类

处理器内核分类

具体的处理器IP

Embedded Core

ARM7TDMIARM946E-S

ARM926EJ-S

无线、网络应用、汽车电子

Application Core

ARM926EJ-SARM1026EJ-SARM11

消费类市场、多媒体数码产品

Secure Core

SC110SC110SC200SC210

智能卡、身份识别

前面描述了ARM处理器的各种体系结构,接下来简单回顾一下ARM处理器的工作模式及处理器内部的CPU寄存器及异常中断处理等机制。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值