今天在编译mplayer for mx27ads的时候, 碰到了armv5te与armv6优化的问题。 默认的交叉编译器支持armv5te也支持armv6,就默认使用了mplayer中mpeg4的armv6解码代码, 结果在在mx27ads版上,播放mpeg4视频时颜色空间转换出错。 对比x86后总算找到了这个问题,顺手根据ARM官方资料和网上资料整理了一篇arm cpu的架构及分类说明。

ARM微处理器系列 
ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有
ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。 
- ARM7 系列 
- ARM9 系列 
- ARM9E 系列 
- ARM10E 系列 
- ARM11系列
- Cortex 系列
- SecurCore 系列
- OptimoDE Data Engines
- Xcale
其中,ARM7、ARM9、ARM9E 和 ARM10 为4 个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。 
以下我们来详细了解一下各种处理器的特点及应用领域。 
ARM7系列 
ARM7 系列微处理器为低功耗的 32位 RISC 处理器, 最适合用于对价位和功耗要求较高的消费
类应用。ARM7 微处理器系列具有如下特点: 
-  具有嵌入式 ICE-RT 逻辑,调试开发方便。 
-  极低的功耗,适合对功耗要求较高的应用,如便携式产品。 
-  能够提供 0.9MIPS/MHz 的三级流水线结构。 
  -  代码密度高并兼容 16 位的 Thumb 指令集。 
  -  对操作系统的支持广泛,包括 Windows CE、Linux、Palm OS 等。 
-  指令系统与 ARM9 系列、ARM9E 系列和 ARM10E 系列兼容,便于用户的产品升级换代。  
  -  主频最高可达 130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。 
ARM7 系列微处理器的主要应用领域为:工业控制、Internet 设备、网络和调制解调器设备、移
动电话等多种多媒体和嵌入式应用。 
ARM7 系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、 
ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的 32 位嵌入式 RISC 处理器,属低端
ARM 处理器核。TDMI的基本含义为: 
T: 支持 16 为压缩指令集 Thumb; 
D: 支持片上 Debug; ARM应用系统开发详解──基于S3C4510B的系统设计  3
M:内嵌硬件乘法器(Multiplier) 
I:  嵌入式 ICE,支持片上断点和调试点; 
Samsung公司的 S3C4510B 即属于该系列的处理器。

 
 
 

Cache Size
(Inst/Data)

Tightly
Coupled
Memory

Memory
Mgt

Bus
Interface

Thumb

DSP

Jazelle

 
 
 
 

ARM720T

8k unified

-

MMU

AHB

Yes

No

No

 
 
 
 

ARM7EJ-S

-

-

-

Yes

Yes

Yes

Yes

 
 
 
 

ARM7TDMI

-

-

-

Yes**

Yes

No

No

 
 
 
 

ARM7TDMI-S

-

-

-

Yes

Yes

No

No

 

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 三种类型,以适用于不同的应用场合。

 
 
 

Cache Size
(Inst/Data)

Tightly
Coupled
Memory

Memory
Mgt

Bus
Interface

Thumb

DSP

Jazelle

 
 
 
 

ARM920T

16k/16k

-

MMU

ASB

Yes

No

No

 
 
 
 

ARM922T

8k/8k

-

MMU

ASB

Yes

No

No

 

ARM9E系列 
ARM9E 系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java
应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E 系列微处理器提供了
增强的 DSP 处理能力,很适合于那些需要同时使用 DSP 和微控制器的应用场合。 
ARM9E 系列微处理器的主要特点如下: 
-  支持 DSP 指令集,适合于需要高速数字信号处理的场合。 
- 5 级整数流水线,指令执行效率更高。 
-  支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 
-  支持 32 位的高速 AMBA总线接口。 
-  支持 VFP9 浮点处理协处理器。 
-  全性能的 MMU,支持 Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 
- MPU支持实时操作系统。 
-  支持数据 Cache 和指令Cache,具有更高的指令和数据处理能力。 
-  主频最高可达 300MIPS。 
ARM9 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。 
ARM9E 系列微处理器包含 ARM926EJ-S、ARM946E-S 和 ARM966E-S 三种类型,以适用于不同的应用场合。

 
 
 

Cache Size
(Inst/Data)

Tightly
Coupled
Memory

Memory
Mgt

Bus
Interface

Thumb

DSP

Jazelle

 
 
 
 

ARM926EJ-S

Variable

Yes

MMU

2x AHB

Yes

Yes

Yes

 
 
 
 

ARM946E-S

Variable

Yes

MPU

AHB

Yes

Yes

No

 
 
 
 

ARM966E-S

-

Yes

-

AHB

Yes

Yes

No

 
 
 
 

ARM968E-S

n/a

Yes

DMA

AHB-Lite

Yes

Yes

No

 
 
 
 

ARM996HS

n/a

MPU(optional)

Dual AMBA AHB

Yes

Yes

No

 

ARM10E系列 
ARM10E 系列微处理器具有高性能、 低功耗的特点, 由于采用了新的体系结构, 与同等的 ARM9器件相比较,在同样的时钟频率下,性能提高了近 50%,同时,ARM10E 系列微处理器采用了两种先进的节能方式,使其功耗极低。 
ARM10E 系列微处理器的主要特点如下: 
-  支持 DSP 指令集,适合于需要高速数字信号处理的场合。 ARM应用系统开发详解──基于S3C4510B的系统设计  4
- 6 级整数流水线,指令执行效率更高。 
-  支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 
-  支持 32 位的高速 AMBA总线接口。 
-  支持 VFP10浮点处理协处理器。 
-  全性能的 MMU,支持 Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 
-  支持数据 Cache 和指令Cache,具有更高的指令和数据处理能力 
-  主频最高可达 400MIPS。 
-  内嵌并行读/写操作部件。 
ARM10E 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。 
ARM10E 系列微处理器包含 ARM1020E、ARM1022E和 ARM1026EJ-S 三种类型,以适用于不同的应用场合。

 
 
 

Cache Size
(Inst/Data)

Tightly
Coupled
Memory

Memory
Mgt

Bus
Interface

Thumb

DSP

Jazelle

 
 
 
 

ARM1020E

32k/32k

-

MMU

2x AHB

Yes

Yes

No

 
 
 
 

ARM1022E

16k/16k

-

MMU

2x AHB

Yes

Yes

No

 
 
 
 

ARM1026EJ-S

Variable

Yes

MMU or MPU

2x AHB

Yes

Yes

Yes

 

ARM11系列 
ARM11系列微处理器是ARM公司近年推出的新一代RISC处理器,它是ARM新指令架构——ARMv6的第一代设计实现。该系列主要有ARM1136J,ARM1156T2和RM1176JZ三个内核型号,分别针对不同应用领域。  

ARMv6架构通过以下几点来增强处理器的性能:

  ·多媒体处理扩展

  使MPEG4编码/解码加快一倍

  音频处理加快一倍

  ·增强的Cache结构

  实地址Cache

  减少Cache的刷新和重载

  减少上下文切换的开销

  ·增强的异常和中断处理

  使实时任务的处理更加迅速= 支持Unaligned和Mixed-endian数据访问

  使数据共享、软件移植更简单,也有利于节省存储器空间

对绝大多数应用来说,ARMv6保持了100%的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。ARMv6  保持了所有过去架构中的T(Thumb指令)和E(DSP指令)扩展,使代码压缩和DSP处理特点得到延续;为了加速Java代码执行速度的ARM Jazalle技术也继续在ARMv6架构中发挥重要作用。

ARM11处理器是为了有效的提供高性能处理能力而设计的。在这里需要强调的是,ARM并不是不能设计出运行在更高频率的处理器,而是,在处理器能提供超高性能的同时,还要保证功耗、面积的有效性。ARM11优秀的流水线设计是这些功能的重要保证。

 
 
 

Cache Size
(Inst/Data)

Tightly
Coupled
Memory

Memory
Mgt

Bus
Interface

Thumb

DSP

Jazelle

 
 
 
 

ARM11 MPCore

Variable

-

MMU + cache coherency

1x or 2x AMBA AXI

Yes

Yes

Yes

 
 
 
 

ARM1136J(F)-S

Variable

Yes

MMU

5x AHB

Yes

Yes

Yes

 
 
 
 

ARM1156T2(F)-S

Variable

Yes

MPU

3xAXI

Yes

Yes

No

 
 
 
 

ARM1176JZ(F)-S

Variable

Yes

MMU + TrustZone

4x AXI

Yes

Yes

Yes

 

Cortex系列

新的ARM Cortex处理器系列包括了ARMv7架构的所有系列,含有面向复杂操作系统、实时的和微控制器应用的多种处理器。ARM Cortex-A系列是针对日益增长的,运行包括Linux、Windows CE和Symbian在内的操作系统的消费者娱乐和无线产品设计的;ARM Cortex-R系列针对的是需要运行实时操作系统来进行控制应用的系统,包括有汽车电子、网络和影像系统;ARM Cortex-M系列则是为那些对开发费用非常敏感同时对性能要求不断增加的嵌入式应用所设计的

ARM Cortex-M系列支持Thumb-2指令集,它是Thumb指令集的扩展集,可以执行所有已存的为早期的处理器编写的代码。通过一个前向的转换方式,为ARM Cortex-M系列处理器所写的用户代码可以与ARM Cortex-R系列微处理器完全兼容。ARM Cortex-M系列系统代码(例如实时操作系统)可以很容易地移植到基于ARM Cortex-R系列的系统。ARM Cortex-A和-R系列处理器还支持ARM 32位指令集,向后完全兼容早期的ARM处理器,包括从1995年发布的ARM7TDMI处理器到最近的ARM11处理器系列。

在命名方式上,基于ARMv7架构的ARM处理器已经不再延用过去的数字命名方式,而是冠以Cortex的代号。基于v7A的称为"Cortex-A系列",基于v7R的称为"Cortex-R系列",基于v7M的称为"Cortex-M3"。

Cortex-M系列处理器主要包含ARM Cortex-M1, ARM Cortex-M3两款处理器。
Cortex-R系列处理器目前包括ARM Cortex-R4和ARM Cortex-R4F两个型号,主要适用于实时系统的嵌入式处理器。

Cortex-A系列处理器目前包括ARM Cortex-A8, ARM Cortex-A9-MPCore, ARM Cortex-A9-Single Core Processor。

 
 
 

Cache Size
(Inst/Data)

Tightly
Coupled
Memory

Memory
Mgt

Bus
Interface

Thumb

DSP

Jazelle

 
 
 
 

ARM Cortex-A8

Variable

-

MMU+TrustZone

AMBA 3 AXI

Yes

Yes

Yes

 
 
 
 

ARM Cortex-A9 MPCore

16k/64k

MMU+TrustZone

AMBA 3 AXI

Yes

Yes

Yes

 
 
 
 

ARM Cortex-A9 Single Core Processor

16k/64k

MMU+TrustZone

AMBA 3 AXI

Yes

No

Yes

 
 
 
 

ARM Cortex-M1

Yes

-

AMBA AHB-Lite + APB

Yes

No

No

 
 
 
 

ARM Cortex-M3

-

-

MPU (optional)

3x AHB-Lite + APB

Yes

No

No

 
 
 
 

ARM Cortex-R4(F)

0K-64k

Variable

MPU

AMBA 3 AXI

Yes

Yes

No

 

SecurCore系列 
SecurCore 系列微处理器专为安全需要而设计,提供了完善的 32 位 RISC 技术的安全解决方案,
因此,SecurCore 系列微处理器除了具有 ARM 体系结构的低功耗、高性能的特点外,还具有其独特
的优势,即提供了对安全解决方案的支持。 
SecurCore 系列微处理器除了具有 ARM 体系结构各种主要特点外, 还在系统安全方面具有如下
的特点: 
-  带有灵活的保护单元,以确保操作系统和应用数据的安全。 
-  采用软内核技术,防止外部对其进行扫描探测。 
-  可集成用户自己的安全特性和其他协处理器。 
SecurCore 系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商
务、电子政务、电子银行业务、网络和认证系统等领域。 
SecurCore系列微处理器包含SecurCore SC100、 SecurCore SC110、 SecurCore SC200和SecurCore 
SC210 四种类型,以适用于不同的应用场合。

 
 
 

Cache Size
(Inst/Data)

Tightly
Coupled
Memory

Memory
Mgt

Bus
Interface

Thumb

DSP

Jazelle

 
 
 
 

SecurCore SC100

-

-

MPU

-

Yes

No

No

 
 
 
 

SecurCore SC200

-

-

MPU

-

Yes

Yes

Yes

OptimoDE Data Engines 
ARM的OptimoDE Data Engine是许可使用的IP,它具有一个相关工具环境、一个数据路径函数资源库以及具有各种并行机制和性能的预配置微结构。OptimoDE定位于高性能嵌入式信号处理应用,开发者能够使用它作为单机处理器或具有微处理器核的设计中。它支持并行性、虚拟无限的数据路径配置(包括混合宽度)、用户扩展以及访问固定功能或可编

程的数据引擎。OptimoDE Data Engine与ARM的DSP接口规范兼容,这种接口规范规定了核与核之间基于邮箱的指令控制讯息和大量数据传送的接口、纠错和追踪接口以及多核纠错协议、还有针对处理器交互通信的软件API。

  通过支持可编程性能,OptimoDE设计流程使设计者能够冻结Data Engine的结构,继续通过软件改变来调整算法。这种方法使具有相似要求的多个算法能够使用同样的Data Engine硬件。在开发者将设计提交给工厂或者批量供应后,他们还能重新编程OptimoDE Data Engine,重新生成代码来包容增加的设计改进或替代算法,而不用改变底层的硬件结构。

  工具环境使设计者能够配置和扩展数据路径资源单元的类型和数目。设计者还能配置本地存储的类型和大小以及交互连接的级别。ARM提供一个C编译器和性能分析工具,开发者使用它们用C或C++来对OptimoDE Data Engine进行编程。一旦数据引擎在一个设计中组合应用,OptimoDE工具环境就能够自动生成仿真模型,设计者使用它可以验证集成过程。OptimoDE Data Engine具有AMBA兼容特性并能和ARM的多种系统IP一起工作。 
Xscale系列 
Xscale  处理器是基于 ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处
理器。它支持 16 位的 Thumb 指令和 DSP 指令集,已使用在数字移动电话、个人数字助理和网络产
品等场合。 
Xscale  处理器是以前Intel主要推广的一款ARM微处理器. 但在2006年11月8日,Marvell完成了对英特尔公司手机和应用处理器业务部门的收购。根据该项收购协议,英特尔将在2008年6月前为Marvell制造和供应芯片.

https://blog.csdn.net/force_eagle/article/details/2050188

arm cpu的架构及分类说明的更多相关文章

  1. 手机CPU架构体系分类及各大厂商

    手机cpu相关知识,这对于开发Android应用程序适应各个机型有一定的辅助作用 . 手机cpu架构体系分类 指令集可分为复杂指令集(CISC)和精简指令集(RISC)两部分,代表架构分别是x86.A ...

  2. CPU的架构:x86、arm、mips、龙芯等

    在公司经常听其他工程师讲x86,arm平台啥的,作为一个算法工程师,我听过却不知道这是啥!!!(汗颜) 现在偷偷学起: x86,arm,mips等这些都是CPU的架构,不管是手机电脑还是一些嵌入式的设 ...

  3. ARM和X86架构

    重温下CPU是什么 中央处理单元(CPU)主要由运算器.控制器.寄存器三部分组成.运算器起着运算的作用,控制器负责发出CPU每条指令所需要的信息,寄存器保存运算或者指令的一些临时文件以保证更高的速度. ...

  4. ARM CPU与Intel x86 CPU性能比较

    Qualcomm ARM CPU与Intel x86 CPU性能比较 随着移动互联网时代的到来,Qualcomm(高通).Texas Instruments(德州仪器)等基于ARM架构的CPU受到越来 ...

  5. 关于ARM的内核架构

    很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑 ...

  6. ARM内核和架构

    转:深入浅谈,CPU设计原理          CPU的内部架构和工作原理 推荐一本书:编码的奥秘 一.ARM内核和架构 ARM产品越来越丰富,命名也越来越多.很多朋友提问: ARM内核和架构都是什么 ...

  7. Chapter Zero 0.1.2 CPU的架构

    CPU的架构 CPU内部含有一些微指令, 我们所使用的软件都要经过CPU内部的微指令集达成才行. 这些指令集的设计又分为两种设计理念, 这就是目前世界上常见的两种主要CPU架构: 精简指令集(Redu ...

  8. ARM CPU大小端

    ARM CPU大小端: 大端模式:低位字节存在高地址上,高位字节存在低地址上 小端模式:高位字节存在高地址上,低位字节存在低地址上 STM32属于小端模式,简单的说,比如u32 temp=0X1234 ...

  9. ARM内核和架构都是什么意思,它们到底是什么关系?

    ARM产品越来越丰富,命名也越来越多.很多朋友提问: ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时 ...

随机推荐

  1. 1.20 Python基础知识 - python常用模块-1

    一.time和datetime 1.time模块 1)time.process_time() >>> import time >>> time.process_ti ...

  2. MD5和sha1加密算法--散列加密技术 MD5:128bit的大整数

    在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加 ...

  3. Navicat for MySQL 新建查询时,报can't create file ...系统找不到指定的文件夹出现问题

    如图点击新建查询报错 解决办法 将这个路径修改一下就ok了

  4. 洛谷 P1724 东风谷早苗

    P1724 东风谷早苗 题目描述 在幻想乡,东风谷早苗是以高达控闻名的高中生宅巫女.某一天,早苗终于入手了最新款的钢达姆模型.作为最新的钢达姆,当然有了与以往不同的功能了,那就是它能够自动行走,厉害吧 ...

  5. 96.udp通信

    运行截图 客户端 创建客户端套接字,用于创建UDP通信 SOCKET socket_client; 创建UDP通信 socket_client = socket(AF_INET, SOCK_DGRAM ...

  6. CSS3常用属性及用法

    1.transition: 过渡属性,可以替代flash和javascript的效果 兼容性:Internet Explorer 9 以及更早的版本,不支持 transition 属性. Chrome ...

  7. treap-名次树-树堆

    #include <cstring> #include <cstdio> #include <cstdlib> using namespace std; struc ...

  8. Android Warning not all local changes may be shown due to an error

    idea使用svn出现Warning not all local changes may be shown due to an error,如下图所示: 解决方案: 1.File > Setti ...

  9. 逻辑与和逻辑或:&& 、||

    逻辑或:首先看左边是真还是假(除了那5个都是真),如果为真,返回左边值,如果为假,返回右边的值 逻辑与:和逻辑或相同,先看左边的值是真是假,如果左边为真返回右边的值,左边为假返回左边的值 在两者同时出 ...

  10. 每日技术总结:Yarn和Npm大PK

    今天想用npm安装vue-cli@2.9 npm install --global vue-cli@2.9 卡半天,安装不成功,清空缓存,换taobao源重来,还是一样. 无奈之下换yarn yarn ...