一文读懂ARM技术架构

ARM的设计是全球大多数移动设备处理器的基础。各大手机芯片,包括高通骁龙、Apple A系列、华为麒麟芯片、三星Exynos,等它们的底层均是ARM的技术。

1991 年ARM 公司成立于英国剑桥,在成立后的那几年,ARM业绩平平,工程师们也人心惶惶,害怕随时都会失业。在这个情况下,ARM决定改变他们的产品策略——他们不再生产芯片,转而以授权的方式,将芯片设计方案转让给其他公司,即“Partnership”开放模式。

没想到正是这种模式,开创了属于ARM的全新时代。

ARM所采取的是IP(Intellectual Property,知识产权)授权的商业模式,收取一次性技术授权费用和版税提成。

具体来说,ARM有三种授权方式:处理器、POP以及架构授权。

处理器授权是指授权合作厂商使用ARM设计好的处理器,对方不能改变原有设计,但可以根据自己的需要调整产品的频率、功耗等。

POP(processor optimization pack,处理器优化包)授权是处理器授权的高级形式, ARM出售优化后的处理器给授权合作厂商,方便其在特定工艺下设计、生产出性能有保证的处理器。

架构授权是ARM会授权合作厂商使用自己的架构,方便其根据自己的需要来设计处理器(例如后来高通的Krait架构和苹果的Swift架构,就是在取得ARM的授权后设计完成的)。所以,授权费和版税就成了ARM的主要收入来源。除此之外,就是软件工具和技术支持服务的收入。

ARM 微处理器的应用领域及特点

ARM处理器市场覆盖率最高、发展趋势广阔,基于ARM技术的32位微处理器,市场的占有率目前已达到80%。绝大多数IC制造商都推出了自己的ARM结构芯片。我国的中兴集成电路、大唐电讯、华为海思、中芯国际和上海华虹,以及国外的一些公司如德州仪器、意法半导体、Philips、Intel、Samsung等都推出了自己设计的基于ARM核的处理器。

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

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

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

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

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

ARM处理器的特点:

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

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

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

4、大多数数据操作都在寄存器中完成;

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

6、指令长度固定;

ARM相关的几个重要概念

冯·诺依曼体系

结构模型:

冯·诺依曼体系的特点:

1、数据与指令都存储在同一存储区中,取指令与取数据利用同一数据总线。

2、被早期大多数计算机所采用。

3、ARM7——冯诺依曼体系结构简单,但速度较慢。取指不能同时取数据。

哈佛体系

结构模型:

结构特点:

1、程序存储器与数据存储器分开.

2、提供了较大的存储器带宽,各自有自己的总线。

3、适合于数字信号处理.

4、大多数DSP都是哈佛结构.

5、ARM9是哈佛结构,取指和取数在同一周期进行,提高速度,改进哈佛体系结构分成三个存储区:程序、数据、程序和数据共用。

CISC复杂指令集(Complex Instruction Set Computer)

特点:

1、具有大量的指令和寻址方式

2、8/2原则:80%的程序只使用20%的指令

3、大多数程序只使用少量的指令就能够运行。

4、CISC CPU 包含有丰富的单元电路,因而功能强、面积大、功耗大。

RISC精简指令集(Reduced Instruction Set Computer)

特点:

1、在通道中只包含最有用的指令,只提供简单的操作。

2、确保数据通道快速执行每一条指令。

3、Load-store结构—— 处理器只处理寄存器中的数据,load-store指令用来完成数据在寄存器和外部存储器之间的传送。

4、使CPU硬件结构设计变得更为简单, RISC CPU包含较少的单元电路,因而面积小、功耗低。

RISC与CISC主要差别

1、寄存器方面

RISC指令集:拥有更多的通用寄存器,每个可以存放数据和地址,寄存器为所有的数据操作提供快速的存储访问。

CISC指令集:多用于特定目的的专用寄存器。

2、LOAD –STORE结构方面

RISC结构:Cpu 仅处理寄存器中的数据,采用独立的、专用的LOAD –STORE 指令来完成数据在寄存器和外存之间的传送。(访存费时,处理和存储分开,可以反复的使用保存在寄存器中的数据,而避免多次访问外存)。

CISC结构:能直接处理存储器中的数据。

ARM存储格式

ARM存储器以8位为一个单元存储数据(一个字节),每个存储单元分配一个存储地址。

ARM将存储器看作是从零地址开始的字节的线性组合。作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB(232字节)。从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。32位的字数据要使用4个地址单元,16位半数据要使用2个地址单元。这样,就存在一个所存储的字或半字数据的排列顺序问题。ARM体系结构可以用两种方法存储字数据,称为大端格式和小端格式。

大端格式(big-endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

小端格式(low-endian):与大端存储格式相反。低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。缺省设置为小端格式。

ARM体系结构

ARM系列产品表示

ARM处理器的分类

基于指令集体系结构的分类:v1,v2,v5,v5TEJ,v6等

基于处理器内核的分类:ARM7,ARM9,ARM10,ARM11,StrongARM,XScale等

ARM体系结构版本

ARM架构自诞生至今,已经发生了很大的演变,至今已定义的版本有:V1版架构、V2版架构、V3版架构、V4版架构、V5版架构、V6版架构。

V1版架构

该版架构只在原型机ARM1出现过,其基本性能:

1、基本的数据处理指令(无乘法)

2、字节、半字和字的LOAD/STORE指令

3、转移指令,包括子程序调用及链接指令

4、软件中断指令

5、寻址空间:64M字节(26)

V2版架构

该版架构对V1版进行了扩展,如ARM2架构,增加了以下功能:

1、乘法和乘加指令

2、支持协处理器操作指令

3、快速中断模式

4、SWP/SWPB基本存储器与寄存器交换指令

5、寻址空间:64M字节

V3版架构

1、把寻址空间增至32位(4G字节),

2、增加了当前程序状态寄存器CPSR和程序状态保存寄存器SPSR以便于异常的处理。

3、增加了中止和未定义二种处理器模式。

4、ARM6就采用该版架构。

5、指令集变化:增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器;增加了从异常处理返回的指令功能。

V4版架构

V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充,有的还引进了16位的Thumb指令集,使ARM使用更加灵活。ARM7、ARM8、ARM9和StrongARM都采用该版架构。

指令集中增加了以下功能:

1、有符号、无符号的半字和有符号字节的Load/Store指令。

2、增加了16位Thumb指令集

3、完善了软件中断SWI指令的功能

4、增加了处理器的特权模式。

V5版架构

这是最近几年推出ARM架构,在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有:

1、带有链接和交换的转移BLX指令

2、计数前导零CLZ指令

3、BKPT软件断点指令

4、增加了信号处理指令

5、为协处理器增加更多可选择的指令

v6版架构

1、适合使用电池供电的便携式设备

2、增加了 SIMD功能扩展,提高了嵌入式应用系统的音频、视频处理能力。

ARM芯片选择的一般原则

从应用的角度,对在选择ARM芯片时所应考虑的主要因素有:

1、ARM芯核:如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU功能的ARM芯片.

2、系统时钟控制器:系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHz, ARM10最高可以达到700MHz。

3、内部存储器容量:在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。

4、GPIO数量:在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。

5、USB接口:许多ARM芯片内置有USB控制器,有些芯片甚至同时有USB Host和USB Slave控制器。

6、中断控制器:ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己不同的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度的减少任务调度的工作量。

7、LCD控制器:些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片较为适宜。

8、扩展总线:大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。某些特殊应用的ARM芯片如德国Micronas的PUC3030A没有外部扩展功能。

9、封装:主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。

Thumb技术

ARM的RISC体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解决代码长度的问题,ARM体系结构又增加了T变种,开发了一种新的指令体系,这就是Thumb指令集,它是ARM技术的一大特色。

Thumb是ARM体系结构的扩展。它有从标准32位ARM指令集抽出来的36条指令格式,可以重新编成16位的操作码。这能带来很高的代码密度。

支持Thumb的ARM体系结构的处理器状态可以方便的切换、运行到Thumb状态,在该状态下指令集是16位的Thumb指令集。

与ARM指令集相比.Thumb指令集具有以下局限:

1、完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的应用场合ARM指令集更为适合;

2、Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。

(0)

相关推荐

  • 从0开始学ARM-CPU原理,基于ARM的SOC讲解

    一.计算机架构 在了解计算机架构之前,我们先来认识几位对计算机的发明做出关键共享的几位大佬. 1. 巴贝奇 机械计算机之父,英国贵族,曾孤军奋战下造出的第一台差分机,运算精度达到了6位小数,后来又设计 ...

  • ARM和MIPS架构

    ARM体系 1.历史 1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing U ...

  • 干货 | 什么是处理器微架构、指令集?

    前言 大家好,我是ZhengN. 近段尝试着写一些科普文. 本次来分享一些芯片相关的小科普文.作为嵌入式开发工程师,我们对芯片都需要有一定的了解. 指令集 1.指令集的体现 指令集,就是CPU中用来计 ...

  • 一文读懂TOGAF企业架构

    TOGAF ®,由The Open Group的标准,是一个成熟的企业架构方法和框架由世界领先的组织使用,以提高业务效率.它是最突出和最可靠的企业架构标准,可确保企业架构专业人员之间的一致标准,方法和 ...

  • 一文读懂SiP技术

    超越摩尔之路--SiP简介 SiP(System-in-Package) 系统级封装技术将多个具有不同功能的有源电子元件(通常是IC裸芯片)与可选无源器件,以及诸如MEMS或者光学器件等其它器件优先组 ...

  • 知荐 | 一文读懂汽车电子电气架构(EEA)

    前序 什么是电子电气架构?电子电气架构包含了车上所有的硬件.软件.传感器.执行机构.电子电气分配系统,电子电气架构是通过系统集成化的工具把这所有的内容整合到一起,它包含了最软件设施.硬件设施和高效的动 ...

  • 深度分析|一文读懂银行数据架构体系

    上一篇讲了银行数据仓库的系统架构,这次给大家讲讲数据架构.如果一个系统,没有数据架构,那肯定是在吹牛. 狭义的数据仓库数据架构用来特指数据分布,广义的数据仓库数据架构还包括数据模型.数据标准和数据治理 ...

  • 一文读懂传感器技术中的有源信号和无源信号

    第一部分 (一)无源信号和有源信号(模拟量) 1 无源信号和有源信号定义 对于电流信号而言,若设备有独立的工作电源线,那它提供的信号输出(比如4-20mA)为有源信号:若设备本身无独立工作电源,它提供 ...

  • 一文读懂总线技术

    总线,英文叫作"BUS",即我们中文的"公共车",这是非常形象的比如,公共车走的路线是一定的,我们任何人都可以坐公共车去该条公共车路线的任意一个站点.如果把我们 ...

  • 一文读懂无人驾驶汽车感知系统的架构与关键技术

    一文读懂无人驾驶汽车感知系统的架构与关键技术

  • 一文读懂高精度地图产业的现状与未来(技术 市场)

    有一种商业可能,车企卖给用户的时候前两年免收高精地图的费用,两年后用户再要使用的话就需要自己续费.使用量级大了以后,用可以按照使用次数支付费用,或者包月.这样的好处就是车企不用一次性付很大一笔费用给到 ...

  • ​【一文读懂】汽车连接技术之激光钎焊工艺

    当今的汽车加工领域,激光焊接是必不可少的一项工艺.激光钎焊(Laserbrazing)作为激光焊接技术的一种,与熔焊相比,钎焊时的母材不熔化,仅钎料熔化,因而可以获得光滑的焊缝表面.激光钎焊焊接铝合金 ...