ARM服务器相对于现有的x86服务器有什么优缺点,发展前景如何

ARM服务器相对于现有的x86服务器有什么优缺点,发展前景如何,第1张

其实处理器的性能以及功耗归根结底只看工艺和规模,指令集其实没啥关系。arm 的优势就是专注于低功耗的小核心,其授权方式构成生态圈(仅限硬件),硬件开发成本低选择多。但是啊arm没有服务器端的软件基础。

X86正相反,Intel不允许其他企业插手(除了amd,但amd 对做超低功耗x86不热心),但是软件方面却有完整的生态圈。

虽然现在软件多数能跨平台,但是与arm 良好匹配还需要时间证明。所以arm 的关键优势是可以摆脱intel 的垄断,可以实现芯片级的硬件定制。arm 的功耗还有性能功耗比优势什么的完全是唬人的。intel 完全做得到相当的功耗或者性能功耗比,而且它确实正在这个方向发力

概述

  ARM(Advanced RISC Machines)处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC Machine。

  ARM处理器本身是32位设计,但也配备16位指令集。一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

  ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。

编辑本段

特点

  ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。

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

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

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

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

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

  6、指令长度固定。

编辑本段

结构

  体系结构

  1 CISC(Complex Instruction Set Computer,复杂指令集计算机)

  在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%。

  2 RISC(Reduced Instruction Set Computer,精简指令集计算机)

  RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等

  RISC体系结构应具有如下特点:

  1 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。

  2 使用单周期指令,便于流水线操作执行。

  3 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。

  除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:

  4 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。

  5 可用加载/存储指令批量传输数据,以提高数据的传输效率。

  6 可在一条数据处理指令中同时完成逻辑处理和移位处理。

  7 在循环处理中使用地址的自动增减来提高运行效率。

  寄存器结构

  ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:

  1 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。

  2 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。

  指令结构

  ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的

  ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。

编辑本段

ARM处理器模式

  处理器模式 说明

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

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

  快中断模式(fiq) 支持高速数据传输或通道处理

  管理模式(svc) 操作系统保护模式

  数据访问终止模式(abt) 用于虚拟存储器及存储器保护

  中断模式(irq) 用于通用的中断处理

  未定义指令终止模式(und) 支持硬件协处理器的软件仿真

  除用户模式外,其余6种模式称为非用户模式或特权模式;用户模式和系统模式之外的5种模式称为异常模式。ARM处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。

编辑本段

体系结构扩充

  当前ARM体系结构的扩充包括:

  ·Thumb 16位指令集,为了改善代码密度;

  ·DSP DSP应用的算术运算指令集;

  ·Jazeller 允许直接执行Java字节码。

  ARM处理器系列提供的解决方案有:

  ·无线、消费类电子和图像应用的开放平台;

  ·存储、自动化、工业和网络应用的嵌入式实时系统;

  ·智能卡和SIM卡的安全应用。

编辑本段

历史

  1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。

  起初,Acorn公司打算使用摩托罗拉公司的16位芯片,但是发现这种芯片太慢也太贵。"一台售价500英镑的机器,不可能使用价格100英镑的CPU!"他们转而向Intel公司索要80286芯片的设计资料,但是遭到拒绝,于是被迫自行研发。

  1985年,Roger Wilson和Steve Furber设计了他们自己的第一代32位、6M Hz的处理器, Roger Wilson和Steve Furber[1]用它做出了一台RISC指令集的计算机,简称ARM(Acorn RISC Machine)。这就是ARM这个名字的由来。

  RISC的全称是"精简指令集计算机"(reduced instruction set computer),它支持的指令比较简单,所以功耗小、价格便宜,特别合适移动设备。早期使用ARM芯片的典型设备,就是苹果公司的牛顿PDA。

  20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。

  1990年11月27日,Acorn公司正式改组为ARM计算机公司。苹果公司出资150万英镑,芯片厂商VLSI出资25万英镑,Acorn本身则以150万英镑的知识产权和12名工程师入股。公司的办公地点非常简陋,就是一个谷仓。 20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。

编辑本段

市场前景

  微软公司(2011年)宣布,下一版Windows将正式支持ARM处理器。这是计算机工业 arm处理器[2]发展历史上的一件大事,标识着x86处理器的主导地位发生动摇。目前在移动设备市场,ARM处理器的市场份额超过90%;在服务器市场,今年(2011年)就会有25GHz的服务器上市;在桌面电脑市场,现在又有了微软的支持。ARM成为主流,恐怕指日可待。难怪有人惊呼,Intel公司将被击败!

  与这场轰轰烈烈的变革相比,它的主角ARM公司却没有受到太多的关注,显得不太起眼。这家远离硅谷、位于剑桥大学的英国公司,到底是怎么走到今天的,居然能将芯片巨人Intel拉下马?

  展望未来,即使Intel成功地实施了Atom战略,将x86芯片的功耗和价格大大降低,它与ARM竞争也将非常吃力。因为ARM的商业模式是开放的,任何厂商都可以购买授权,所以未来并不是Intel vs ARM,而是Intel vs 世界上所有其他半导体公司。那样的话,Intel的胜算能有多少呢?

从ARM V8到ARM V92,ARM指令集的演进历史以及ARM最重要的Cortex-A系列处理器(CPU Core)的演进过程如下:

ARM V8/V9架构演进

ARMv8架构在2011年10月份推出,至今已经有12年的时间,目前ARM架构已经演进到了v92,今年6月份ARM 官方release了ARMv92指令集对应的移动端(手机/笔记本)CPU核,分别是超大核Cortex-X4,大核A720,以及小核A520。从V8推出到今天,ARM架构的演进过程如下:

ARMv8

发布于2010年10月,主要升级包括:ARMv8引入了全新的架构AArch64以及对应的指令集A64。A64指令集采用32bit定长指令,31个64bit通用寄存器。

相对V7,AArch64架构和A64指令集的引入一方面提升了计算性能,另一方面扩展了寻址能力,支持原生的64bit寻址。当然在实际的使用中,64bit的寻址能力存在浪费,为了减少地址管理的硬件开销,ARM定义了多种虚拟地址位宽,包括36/39/42/47/48/49/52bit。

为了兼容之前的V7架构,除了新引入的AArch64架构以及A64指令集,V8中还把V7兼容架构被定义为AArch32,对应的指令集称为A32和T32,其中T32是对V7时代的Thumb指令的简称,关于Thumb指令请参考ARM官网:ARM7TDMI Technical Reference Manual r4p1

从今天回看历史,ARMv8架构具有划时代的意义,在引入64位架构后,ARM架构具备进入高性能计算领域的基础。伴随着智能手机的快速发展,ARMv8架构不断演进,产生了多个小版本(v81~v85),每个小版本都引入了一些重要的feature,不断完善着ARM架构,随着近些年来云计算的高速发展,ARM的应用领域也从移动端延伸到服务器领域,让ARM变得无处不在(ARM is Everywhere)。

ARMv81

发布于2015年,v81架构引入的主要更新如下:

ISA的更新,包括:

引入了新的原子指令(atomic instruction),增强多核共享数据的操作性能;

引入了新的SIMD指令,即SIMD Instructions for Rounding Double Multiply Add/Substract;

引入LOR(Limited Ordering Regions)特性和新的load、store指令,这些指令基于LOR特性可以减小在大系统中维护Memory Ordering的代价;

改进了MRS,MSR指令,增加PSTATEPAN state bit;

规定CRC32指令是v81必须实现的指令;

Memory Model更新,包括:

支持disable translation table中的APTable,PXNTable,UXNTable属性位;

支持硬件维护 translation table中的Access flag和 Dirty bit;

PSTATE引入了新的state bit,即PAN(Privileged Access Never);

支持LOR(Limited Ordering Region),新引入的Load-Acquire,Store-Release指令在维护memory ordering时可以限定observer,不需要所有的observers都可见,降低维护的开销;

虚拟化更新,包括:

支持16bit-VMID,增加系统虚拟化的扩展能力;

虚拟化主机相关扩展,支持运行在Non-Secure State的Type 2 Hypervisor;

PMU(Performance Monitor Extension)更新,包括:

新增STALL_FRONTEND and STALL_BACKEND events ;

Event number位宽扩展到16 bits;

在MDCR_EL2寄存器中新增HPMD bit,用于disable PMU event counting in EL2;

ARMv82

发布于2017年4月,v82重点针对企业级市场引入了较多的特性更新,一方面改善CPU机器学习和数据处理的性能,另一方面提升大型系统的可靠性和可分析性,v82引入的主要更新如下:

引入对RAS(Reliability, Availability and Serviceability)和SPE(Statistical Profiling Extension)的支持;

增强了memory model,例如:对于64KB页面支持以及最大支持52bit地址位宽,更多详情请参考:Armv8-A Architecture Evolution

支持半精度浮点(half precision floating,float16),提升机器学习性能;

引入SVE(Scalable Vector Extension),提升机器学习性能;

ARMv83

发布于2017年7月,皆在改善安全性,完善虚拟化,增加对不同数据类型的支持,增强memory model等等,v83引入的主要更新如下:

引入Pointer Authentication,防范JOP(Jump-Orientated-Programming)和ROP(Return-Orientated-Programming)攻击;

引入了Nested Virtualization,让Guest Hypervisor可以透明的运行在Non-Secure EL1状态,改善用户基于租赁的云虚拟机(IaaS)运行用户虚拟机(Guest Hypervisor)的性能;

引入新的指令支持浮点复数乘累加;

引入新的指令支持双精度浮点到32bit有符号整型的转换,提升Javascript 性能;

改善memory model,提升原子操作性能;

增大表征cache sets和ways的ID的位宽,支持更大的cache;

ARMv84

发布于2017年底,ARM v84是ARM v8架构以来的重要一次更新,新引入的特性包括:

支持Secure Virtualization;

增强了Nested Virtualization;

支持small translation table;

放松对对齐的限制;

支持memory partition and monitoring(MPAM),实现共享缓存(L3、LLC)QoS管理;

额外的加解密支持;

支持generic counter scaling,通过设置scaling的倍数N,实现1个clock tick计数增加N,以降低功耗;

增加指令加速SHA运算;

ARMv85~v87

ARM官方并没有正式发布过ARMv85及之后的v8版本,ARM将从v85~88引入的更新合并到ARMv9。对应关系为:v85对应v9 v86对应v91 v87对应v92,具体参考:Armv8-x-and-Armv9-x-extensions-and-features

ARMv9

在2021年3月,ARM发布了最新一代的ARMv9架构和对应的CPU IP(X2,A715,A510),标志着ARM架构进了V9时代。实际上V9相对V8的更新并不像V8之于V7那么大,因为从V8第一个版本开始到V9正式发布的10年间ARM通过小版本演进的方式不断完善ARM架构的性能,安全,虚拟化和可靠性。不过有一点需要注意,从ARM V9开始,ARM A系列逐渐抛弃了对32位架构支持,这是一个比较显著的变化。

ARMv9架构的更新主要概括为以下几点:

改进安全性,包括:支持MTE(Memory Tagging Extension),支持CCA(Confidential Computing Architecture)并引入了realm概念;

改进机器学习性能,重点引入了SVE2(Scalable Vector Extensions);

v9引入的具体更新包括:

支持MTE(Memory Tagging Extension),改善关键数据在内存中的存取安全性;

支持Branch Target Identification;

支持Random Number Generator指令;

支持新的CMO(Cache Maintenance Operation)指令即Cache Clean to Point of Deep Persistence;

ARMv91

v91引入的具体更新包括:

General Matrix Multiply (GEMM) instructions

Fine grained traps for virtualization

High precision Generic Timer

Data Gathering Hint

ARMv92

v92引入的具体更新包括:

Enhanced support for PCIe hot plug

Atomic 64-byte load and stores to accelerators

Wait For Instruction (WFI) and Wait For Event (WFE) with timeout

Branch-Record recording

ARM移动端CPU演进

ARM架构演进的载体是ARM几乎每年一代的Cortex-A系列CPU IP,下面列出了ARM发布过的Cortex-A系列处理器。注:ARM后续又开辟了X系列,这里一并列出。

bigLITTLE是ARM经典的核心组织架构,可以有效平衡功耗、面积、性能3个因素,曾应用于主流的手机芯片,而在2017年,ARM再一次升级了bigLITTLE架构,推出了DynamIQ架构,其差异主要在于:原先的bigLITTLE架构典型是两个cluster,每个cluster里面典型配置4个CPU核,这4个CPU核心必须运行在同一时钟源下,也就是说这4个CPU核必须工作在相同的电压和频率下。

而DynamIQ架构将每个CPU核都独立出来,可以运行在独立的电压和频率下,给芯片设计提供最大灵活度。不过实际系统设计上,考虑到芯片供电的复杂度和成本,一般不会给每个CPU核独立供电,而是根据任务等级划分成2~3个group。

每个group工作在相同的电压和频率下,例如:2big+2big+4little架构,1ultra+3big+4little架构,以及最新的高通骁龙8Gen2采用的1ultra(X3)+4big(A715)+3little(A510)的组合。下表展示了ARM的bigLITTLE以及DynamIQ bigLITTLE架构的经典CPU组合。

ARM数据中心CPU演进

得益于最近10年移动计算领域对于PPA的需求不断提升,ARM不断推出新的CPU核,同时不断演进核心的组织架构,从Cortex-A73到X4/A720,从A53到A520,从bigLITTLE到DynamIQ等等一系列的新产品,不断推动着移动计算设备性能快速增长。

移动计算的快速增长不断拓展ARM的性能边界,不断完善ARM架构,近些年,ARM携移动计算时代的累累硕果强势进军数据中心领域,希望能为数据中心提供更高能效比和更高性价比的通用算力,以此扩大ARM架构的市场占有率。

ARM从2019年开始正式发布面向数据中心的Neoverse系列CPU核,实际上Neoverse系列CPU核和移动端的CPU核是高度相似的,只是针对服务器端做了少量更新。

AMBA总线标准演进

ARM能成为移动计算领域的霸主,除了得益于ARM架构和ARM CPU核的不断演进外,另一个重要的推手就是ARM总线标准的不断演进,即AMBA总线标准。

总线标准是SoC的神经系统,所有模块之间的数据交互都需要通过总线来完成。ARM推出的AMBA总线标准充满活力,从AMBA到AMBA5已经演进到了第5代,ARM构建了ARM架构+ARM CPU核+AMBA总线为核心的ARM芯片生态系统。

所有的IP vendor以及SoC芯片设计者都以AMBA总线标准为规范,来构建自己的IP或SoC芯片,这使得AMBA总线成了最成功的总线标准。

ARM互联IP演进

如果说ARM架构落地的载体是CPU核,那么AMBA总线标准落地的载体就是ARM推出的一些列互联IP,即ARM的CoreLink Interconnect。ARM的Corelink Interconnect分为两大系列,即coherent和non-Coherent Interconnect。

Coherent Interconnect实现ARM CPU cluster之间的互联,实现cluster之间的fully-coherency,此外还可以支持IO Device和CPU cluster之间的IO Coherency;non-Coherent实现DMA/Ethernet/Multimedia/CPU等Master到DRAM以及模块配置寄存器等Slave的访问。

arm只是在手机处理器上面击败intel,不被看好的主要是四方面原因吧

商用领域没有大的作为,arm主要侧重于娱乐性便携设备,商业上主要是一些单片机,而intel在市面上的商用服务器占据99%的市场,arm虽然也有心想做服务器cpu,但是arm架构的东西就是一个全新的平台,os要重新写,应用程序也要重新写,完全不兼容现有的程序,想换arm服务器这在目前来说是任何一个公司都不敢做也不肯做的事情。而另一个目前正在发展的商用领域就是物联网,现阶段尚无一家胜出,但arm也不被看好。

移动设备正在饱和,今年无论对安卓也好,苹果也好,是一个很重大的年份,安卓大部分新机的cpu和ram已经不再是瓶颈,而苹果也用上了4核,arm设备基本上用10年时间走完了电脑30年的路,而一旦对多数人而言性能够用之后,自然就会出现类似pc行业的情景。

被日本软银收购,至少对中国而言,日后再使用arm作为某些便携设备的处理器就存在安全风险。

arm自身并无制造能力,arm实际上只做架构研制和授权,并没有自行进行生产的能力,而intel既可以研发,也可以生产,还有自己的硅片工厂。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ARM服务器相对于现有的x86服务器有什么优缺点,发展前景如何

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情