ARM架构简介&ARMv8架构的未来

        一、ARM简介

        ARM于1990年11月在英国伦敦成立,ARM是Advanced RISC Machines的缩写,是微处理器行业的一家知名企业,该企业设计了大量廉价、高性能、低功耗的RISC处理器架构相关技术及软件。目前,全世界有几十家著名的半导体公司都使用ARM公司的授权,其中包括TI、Motorola、Philips、IBM、Intel、ST、NEC、LG、ATMEL等。
        ARM不仅代表一个公司,同样代表一类微处理器,也代表一种技术,还代表一种新型的产业发展模式。

        ARM公司是知识产权(IP)公司,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片

近年来ARM技术的突出成果表现在:第一片ARM处理器是1983年10月到1985年4月间在位于英国剑桥的Acorn Computer公司开发,1990年,为广泛推广ARM技术而成立了独立的公司——ARM,并快速融入世界市场,在ARM的发展历程中,从ARM7开始,ARM核得到普遍认可和广泛使用,ARM9、ARM10、Strong-ARM、ARM11和Cortex等系列性能优越,尤其在面向高端数字音视频处理等多媒体产品的应用,Cortex是ARM为满足不断扩展的嵌入式技术应用所做的一次改进。

        广泛的产业联盟和丰富的软硬件支持,使得基于ARM的嵌入式应用领域更加广阔,产品投放市场更为迅速据最新统计,全球有100多家巨型IT公司,超过95%的手机,超过四分之一的电子设备都在使用ARM技术,ARM已经成为世界上销量最大的32位微处理器,迄今为止,还没有任何商业化的IP核交易和使用达到ARM的规模,造就了IP核的商业神话。

        二、ARM处理器的特点

        2.1 体积小、功耗低、成本低、性能高
        2.2 支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容16位器件
        2.3 大量使用寄存器,使得指令执行速度更快寻址方式简单灵活,执行效率高
        2.4 指令长度固定

        三、ARM处理器的应用

        ARM微处理器除了具有ARM的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域,目前包括下面几个系列:ARM1、ARM2、ARM3、ARM6、ARM7、ARM8、ARM9、ARM10、SecurCore、Inter的Xscale和StrongARM、ARM11和Cortex以及对应的修改版或增强版。随着架构升级,初始频率越高、架构越先进,功能也越强,Cortex主要用于高端和多核处理器上。

        3.1 高性能方向:
        Samsung(三星):S5PC100、S5PC110、S5PV210均采用Cortex-A8核,600MHZ--1GHZ
        Apple A4 Cortex-A8核1GHz(iPad、iPod、touch4、iPhone4)
        中芯微 VC882 Cortex-A8 1GHz--1.2GHz(主要应用于国内一些MID产品)
        高通snapdragon QSD8250 
        高通第一代1GHZ单核处理器,Cortex-A8(HTC HD2手机)

        3.2 低成本、低功耗的微控制器方向
        Cortext-M3(工业控制)

        代表:ST的stm32系列36MHz--72MHz
        3.3 实时方向
        Cortex-R4(汽车电子、硬盘控制器等)
        代表:TI的TMS570LS
        3.4 安全方向
        SecurCore系统(智能卡、监控、POS机等)
        代表:大量的智能卡、和SIM卡等

        四、ARM体系结构介绍及分类

        ARM采用RISC结构,简化了处理器设计,并在减少复杂指令的同时,提高了处理器的速度只提供load/store指令与存储器打交道,其余指令都不允许进行存储器操作。

        下面对两种指令集的对比:(大意摘自百度百科)

         CISC:全称是Complex Instruction Set Computer,中文意是复杂指令计算机,它是台式计算机系统基本处理部件,每个微处理器的核心是运行指令的电路。指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。这样一来,它能够以更快的速度执行操作。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

         RISC:全称是Reduced Instruction Set Computer,中文意是精简指令集计算机,它是计算机中央处理器的一种设计模式,这种设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。常用的精指令集微处理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等。这种设计思路最早的产生缘自于有人发现,尽管传统处理器设计了许多特性让代码编写更加便捷,但这些复杂特性需要几个指令周期才能实现,并且常常不被运行程序所采用。此外,处理器和主内存之间运行速度的差别也变得越来越大。在这些因素促使下,出现了一系列新技术,使处理器的指令得以流水执行,同时降低处理器访问内存的次数。早期,这种指令集的特点是指令数目少,每条指令都采用标准字长、执行时间短、中央处理器的实现细节对于机器级程序是可见的。

        4.1 Cortex-A8简单介绍

        Cortex-A8内核使用了13级的整型指令流水线和10级NEON指令流水线,并改善了指令分支预测命中率,从

ARM11的88%提高到Cortex-A8的95%。

        采用对称双ALU超标量流水线(ALU0和ALU1),支持并行发射两条指令,集成二级缓存(L2)
        Cortex-A8中采用的TrustZone技术确保消费类产品中的安全交易(如运行开放式操作系统的手机、POS
机和机顶盒等)、数据隐私和DRM得到保护
        Cortex开启了ARM处理器的新纪元

        4.2 ARM系列产品命令规则,例如:ARM7 TDMI的基本含义为:
        T:Thumb指令是把32位ARM指令集重新编码后形成的一个特殊的16位的指令集
        D:支持片上Debug
        M:内嵌硬件乘法器(Multiplier)
        I:嵌入式ICE(In Circuit Emulator),支持在线调试

        4.3 ARM系列产品后缀规则,例如:ARM 926EJ-S

        增强型DSP指令(E变种),E变种的ARM体系增加了一些增强处理器对典型的DSP算法处理能力的附加指令
        Java硬件加速器Jazelle(J变种),ARM的Jazelle技术是Java语言和先进的32位RISC芯片完美结合的产物,主要用于支持JVM。
        ARM多媒体功能扩展(S变种),支持SIMD(Single Instruction Multiple Data),即单指令多数据处理。

        第一个数字:系列名称

        9: ARM9,10: ARM10,11: ARM11
        第二个数字:Memory system
        2: 带有MMU(如ARM720T、ARM922T、ARM1020E)
        4: 带有MPU(如ARM940T、ARM946EJ-S)
        6: 无MMU与MPU(如ARM966EJ-S、ARM968EJ-S)
        第三个数字:Memory size
        0: 标准Cache (4-128KB)
        2: 减小的Cache
        6: 可变的Cache

        五、ARM处理器版本与体系结构的关系:
        V1      =>
 ARM1

        V2      => ARM2

        V2a    => ARM2As,ARM3

        V3      => ARM6,ARM600,ARM610,ARM7,ARM700,ARM710

        V4      => StrongARM,ARM8,ARM810

        V5T    => ARM7TDMI,ARM710T,ARM720T,ARM740T,ARM9TDMI,ARM920T,ARM940T

        V5TE => ARM9E-S,ARM10TDMI,ARM1020E

        V6      => ARM1136J(F)-S,ARM1176JZ(F)-S,ARM11,MPCore

        V6T2  => ARM1156T2(F)-S

        V7      => ARM Cortex-M,ARM Cortex-R,ARM Cortex-A8/9/15

        V8      => ARM Cortex-A57/53

        六、ARMv8架构的未来

        ARMv8是在32位ARM架构上进行开发的,将被首先用于对扩展虚拟地址和64位数据处理技术有更高要求的产品领域,如企业应用、高档消费电子产品。ARMv8架构包含两个执行状态:AArch64和AArch32。AArch64执行状态针对64位处理技术,引入了一个全新指令集A64;而AArch32执行状态将支持现有的ARM指令集。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保留或进一步拓展,如:TrustZone技术、虚拟化技术及NEON advanced SIMD技术,等。
        配合ARMv8架构的推出,ARM正在努力确保一个强大的设计生态系统来支持64位指令集。ARM的主要合作伙伴已经能够获得支持ARMv8架构的ARM编译器和快速模型(Fast Model)。在新架构的支持下,对一系列开源操作系统、应用程序和第三方工具的初始开发已经在开展中。通过合作,ARM合作伙伴们共同加速64位生态系统的开发,在许多情况下,这可视为是对现有支持基于ARMv7架构产品的广泛生态系统的自然延伸。
       具备64位计算能力的ARMv8架构,将使其合作伙伴有望进入高端服务器市场。然而,很多合作伙伴却缺乏在该市场的技术积累。判断ARMv8架构能否继续取得巨大的市场成功,尚需时日。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章