0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CPU架构有多少种?X86与ARM有哪些不同之处?看完这篇你就懂了

h1654155971.7596 来源:未知 作者:易水寒 2018-07-17 19:44 次阅读

一台服务器、一台电脑、一台手机最重要的电子零部件是什么?没错,就是CPU处理器。它主要负责数据计算、控制功能,是最核心的部分。不过你又知道有多少CPU架构吗?主流的X86、ARM到底有什么区别?

下面就给大家介绍一下几种常见的CPU架构:

X86

1978年6月8日,Intel发布了史诗级的CPU处理器8086,由此X86架构传奇正式拉开帷幕。首次为8086引入X86作为计算机语言的指令集,定义了一些基本使用规则,X86架构使用的是CISC复杂指令集。同时8086处理器的大获成功也直接让Intel成为了CPU巨头,如果你对8086不是那么熟悉,那么一定听过奔腾处理器吧?况且为了纪念8086K诞生40周年,今年Intel发布了一颗纪念限量版的处理器Core i7-8086K,这你都听说过吧?

图片来自Intel官网

IA64(Intel Architecture 64,英特尔架构64)

哇,IA64听起来好陌生,是的,虽然同出Intel之手。但这可以说是失败品。当年X86过渡到64位指令集时,一个不小心被AMD弯道超车,最后只能联合惠普推出了属于自己的IA64指令集,但这也仅限于服务器上,也是Itanium安腾处理器的来历(现在已经凉了)。

图片来自x86-guide

至于IA64究竟是RISC还是CISC指令集的延续,这个真的很难说清楚,但单纯以IA64基于HP的EPIC(Explicitly Parallel Instruction Computers,精确并行指令计算机)来看,似乎更偏向于RISC体系。

MIPS(Microprocessor without interlockedpipedstages,无内部互锁流水级的微处理器

在上世纪80年代由美国斯坦福大学Hennessy教授的研究小组研发,它采用精简指令系统计算结构(RISC)来设计芯片。和Intel采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。

MIPS自己只进行CPU的设计,之后把设计方案授权给客户,使得客户能够制造出高性能的CPU。

让MIPS出名的,可能是在2007年,中科院计算机研究所的龙芯处理器获得了MIPS的全部专利、指令集授权,中国开始走上了一MIPS为基础的CPU研发道路。

图片来自龙芯官网

PowerPC

PowerPC是有蓝色巨人IBM联合苹果、摩托罗拉公司研发的一种基于RISC精简指令集的CPU,PowerPC架构最大优点是灵活性非常好,核心数目灵活可变,因此在嵌入式设备上具有很高效益,可以针对服务器市场做超多核,针对掌机做双核,因此它具有优异的性能、较低的能量损耗以及较低的散热量。

图片来自wikimedia

ARM(Advanced RISC Machine,进阶精简指令集机器)

ARM可以说是一个异军突起的CPU架构,采用了RISC精简指令集,而且ARM发展到今天,架构上非常灵活,可以根据面向应用场景不同使用不同设计的内核,因此可以广泛用于嵌入式系统中,同时它高度节能的特性,目前各种移动设备中全都是它的身影。据统计,使用ARM架构的芯片年出货量高达200亿片,随着物联网时代降临,对于低功耗性ARM芯片需求量会发生爆炸性增长。

图片来自iFixit

CISC、RISC之争

从上面得知,历史的长河里面,有过许许多多的CPU架构,它们之间的差异性非常大,经过时间、用户的检验,我们平常所接触到CPU架构也就剩X86和ARM两者,按照最核心的不同可以被分为两大类,即“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。

要了解X86和ARM CPU架构,就得先了解CISC复杂指令集和RISC精简指令集 ,因为它们第一个区别就是X86使用了复杂指令集(CISC),而后者使用精简指令集(RISC)。造成他们使用不同该指令集的原因在于,面向的设备、对象、性能要求是不一样。手机SoC普遍都是采用ARM提供的核心作为基础,依据自身需求改变SoC的核心架构,而ARM正正是RISC精简指令集的代表人物。CPU巨头Intel、AMD所采用的X86架构已经沿用了数十年,是CISC复杂指令集的典型代表。

CISC复杂指令系统就是为了增强原有指令的功能,设置更为复杂的新指令实现部分大量重复的软件功能的硬件化。由于早期的电脑主频低、运行速度慢,为了提高运算速度,不得已将更多的复杂指令加入到指令系统中来提高电脑的处理效率,慢慢形成以桌面电脑为首的复杂指令系统计算机。其指令集也是在不断更新增加当中,如Intel为X299平台上的处理器增加了AVX512指令集,目的就是为了提高某一方面的性能。

虽然CISC可以实现高性能CPU设计,但是设计起来就相当麻烦了,要保持庞大硬件设计正确是一件不容易的事情,还要确保性能有所提升,不能开倒车,因此桌面CPU研发时间也慢慢地变长。这时候,以ARM为首的一些RISC精简指令系统计算机开始崭露头角了。

RISC可以说是从CISC中取其精华去其糟粕,简化指令功能,让指令的平均执行周期减少,达到提升计算机工作主频的目的,同时引入大量通用寄存器减少不必要的读写过程,提高子程序执行速度,这样一来程序运行时间缩短并且减少了寻址,提高了编译效率,最终达到高性能目的。

这两种指令集一直都在求同存异当中,都在追求在体系架构、操作运行、软硬件、编译时间以及运行时间等等诸多因素中做出某种平衡,以此达到当初所设计的高效运转目的。

图片来自新浪博客

功耗上的限制

从CISC、RISC设计思路来看,大家不难发现,他们走的路根本不一样,前者专注于高性能方向,但带来高功耗,而后者专注于做低功耗的嵌入式,对于性能的最强不是太过强劲。因此我们也看到Intel、AMD他们擅长于设计性能超高的X86处理器,而高通、苹果依靠ARM IP授权设计出注重效能的SoC芯片。

就像我们以前所举的例子,Core i7-8086K可以轻易跑出95W功耗,但像高通骁龙845这种最顶级的SoC也不过是5W,只有其1/19,主要是手机尺寸越来越小,电池容量、能量密度发展跟不上,手机所用ARM内核只能是低功耗。

一般来说,处理器的功耗可以随着制造工艺的进步而降低,但近些年来,移动设备所采用的的SoC往往率先使用更小的纳米工艺制程,比方说骁龙845的10nm,虽然里面有取巧成分,但推进速度远远快于Intel的10nm工艺,加之SoC还会有对应的低功耗版本工艺,所以无论是设计上、还是工艺上的差别,都导致了ARM、X86功耗差异非常大。

大小核架构

从前的X86传统CPU,如果是四核或者是双核,内部的四个、两个个核心都是一模一样的,这样的话,由于一旦软件只能调度一个核心,处于高频工作,但由于架构限制,其余核心也要保持同样的高频率和高电压状态,这样就浪费了大量的能量在做无用功。后来就发展出了异步多核,允许不同核心工作在不同频率上,以此换来更低功耗。

由于移动设备更加在意功耗,所以ARM采用了更加激进的做法,八个核里面允许有不同Cortex-A架构核心,那就是著名的ARM bigLITTLE。这样的大小核设计目的很明确,就是在有限的电池容量中,兼顾性能、续航的需求,因此SoC内部的CPU是采用异构计算,既有高性能大核心,也有低功耗小核心。

bigLITTLE架构框架,图片来自ARM官网

芯片设计厂商可以根据自己的需求,设计出有针对性的产品,比方说目前高通骁龙845、华为的麒麟970联发科Helio X30都是bigLITTLE架构,这样的话如果你只是刷刷微博、朋友圈,那么只需要动用小核心就能完成任务,玩《绝地求生》吃鸡游戏就可能大小核全开,从而保证性能、续航的平衡。

因此ARM的bigLITTLE异步多核架构非常值得参考,甚至传闻称英特尔将在第10代酷睿处理器Lakefield上使用这种技术,高性能大核是Ice lake(下一代Core),低功耗小核心则是Tremont(下一代Atom),因此在整体功耗上控制在35W以内,用于二合一笔记本上。

ARM、X86也能相互融合

之前我们在另一篇超能课堂《手机SoC与电脑的CPU性能究竟差多少?》就总结过,RISC、CISC各有各的优势,目前两者界限开始逐渐变得模糊,现代的CPU往往采用了CISC的外围,而内部则加入了部分RISC的特性,这个也是Intel处理器的开始拥有RISC的典型例子。也就是说其实未来CPU发展方向之一就是融合CISC以及RISC,从软件、硬件上取长补短,进一步提高处理器的并行性以及工艺水平。

X86、ARM在性能、功耗上各占优势,尽管ARM一直想进入高性能服务器市场上,但一直都是雷声大雨点小,前不久想要挑战intel服务器地位的高通,ARM服务器部门直接裁员50%,技术副总裁也不玩了;ARM处理器也期望能获得X86处理器的高性能,以便能用在移动笔记本上,就像刚刚推出的高通骁龙835 Windows笔记本一样,但评价、反映都是平平;Intel利用X86架构Atom做手机SoC,结果还是败给了ARM,亏掉数十亿美元,最终直接砍掉了这个项目,老老实实做X86处理器。

所以说ARM、X86都在各自领域站稳了脚跟,由于设计之初的理念不同,已经很难渗入对方的领域,只能说不断尝试,两者之间的差异在将来可能会缩小,不断借鉴改进。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8647

    浏览量

    361728
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10428

    浏览量

    206512
  • X86
    X86
    +关注

    关注

    5

    文章

    285

    浏览量

    42968

原文标题:X86、ARM有何不同?看完这篇你就懂了

文章出处:【微信号:Anxin-360ic,微信公众号:芯师爷】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CPUx86ARM架构啥区别?#从单片机到SOC,系统硬件该如何设计?

    armcpuIC设计前沿技术ARM架构X86架构
    智慧停车前沿技术观察
    发布于 :2021年08月13日 16:49:46

    [X86架构ARM架构,在工业领域的优势争霸] X86ARM谁更胜...

    [X86架构ARM架构,在工业领域的优势争霸]X86ARM谁更胜一筹?
    发表于 08-01 10:45

    x86架构arm架构的区别

    X86架构X86指令集,它属于CISC指令集。ARM架构ARM指令集,属于RISC指令集。
    发表于 09-27 14:40

    解读x86ARM和MIPS三主流芯片架构

    指令集可分为复杂指令集(CISC)和精简指令集(RISC)两部分,代表架构分别是x86ARM和MIPS。  ARMRISC是为了提高处理器运行速度而设计的芯片体系,它的关键技术在于流水线操作即在一
    发表于 05-25 16:09

    ARM架构X86架构什么区别?

    我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性、合理的比价分析。
    发表于 03-20 06:34

    ARM架构的系统与X86架构系统的特性什么不同?

    ARM架构相较于x86哪些特点?ARM架构的系统与X86
    发表于 06-16 09:05

    Powerpc架构X86架构的区别

    目录1、ARM1.1 ARM历史1.2 ARM内核系列2、MIPS应用范围发展历史3、PowerPC三巨头4、X86架构
    发表于 07-26 06:16

    CPU架构多少X86ARM哪些不同之处?看完这篇就懂了 精选资料推荐

    一台服务器、一台电脑、一台手机最重要的电子零部件是什么?没错,就是CPU处理器。它主要负责数据计算、控制功能,是最核心的部分。不过又知道多少C
    发表于 07-29 08:00

    x86指令体系什么缺点?

    ARM指令集架构什么特点?x86指令体系什么缺点?
    发表于 09-23 07:23

    大型机、小型机与x86服务器哪些不同之处

    IBM大型机的整体指令集何功能?大型机、小型机与x86服务器哪些不同之处
    发表于 10-14 09:09

    arm架构x86架构什么区别

    什么叫arm架构x86架构是由哪些部分组成的?arm架构
    发表于 10-25 08:25

    arm架构x86架构什么区别是什么?

    Cortex系列处理器是从从ARM哪个架构开始的?arm架构x86架构
    发表于 10-28 08:36

    x86ARM分别指的是什么呢

    x86ARM分别指的是什么呢?指令集与微架构是同一概念吗?
    发表于 10-28 06:38

    四大主流芯片架构X86ARM、RISC-V和MIPS)

    保护和继承丰富的软件资源,所以 Intel公司所生产的所有CPU仍然继续使用X86指令集。2、ARM架构ARM
    发表于 02-27 14:39

    X86架构Arm架构的区别

    X86架构ARM架构是主流的两种CPU架构X86
    的头像 发表于 06-16 12:50 7469次阅读
    <b class='flag-5'>X86</b><b class='flag-5'>架构</b>与<b class='flag-5'>Arm</b><b class='flag-5'>架构</b>的区别