» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

一天到晚说arm处理器秒天秒低秒X86,这笑话也是看够了。

posted by wap, platform: VIVO Xplay3S
这俩种架构完全不一样吧,老是横向对比有意思?

X86属于典型的CISC,指令集丰富,指令不等长,善于执行复杂工作,更强调串行性能;ARM是典型的RISC,指令集精简,但指令等长,这样提高了处理效率,但遇到复杂指令,就需要更多的简单指令来堆砌复杂任务。
ARM用来做专一机、大型机;X86性价比高,便宜,成为家用主流,也可以用于企业的非核心业务。
并行处理能力上,ARM凭借高效率和高并发性能取得一定优势;X86善于执行复杂指令,且在纯串行任务上,相较于ARM能取得优势。最主要的是,X86和ARM的内部指令都不同,不可能执行同一个程序,根本不能做横向比较。


ARM指令集和X86指令集的比较
举报 2009年12月31日 17:23
      一、背景知识:

      指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集(CISC)和精简指令集(RISC)两部分。

      相应的,微处理随着微指令的复杂度也可分为CISC及RISC这两类。

      CISC

      是一种为了便于编程和提高记忆体访问效率的晶片设计体系。在20世纪90年代中期之前,大多数的微处理器都采用CISC体系──包括Intel的80x86和Motorola的68K系列等。 即通常所说的X86架构就是属于CISC体系的。

      RISC

      是为了提高处理器运行的速度而设计的晶片体系。它的关键技术在于流水线操作(Pipelining):在一个时钟周期里完成多条指令。而超流水线以及超标量技术已普遍在晶片设计中使用。RISC体系多用于非x86阵营高性能微处理器CPU。像HOLTEK MCU系列等。

      ARM ( Advanced RISC Machines ),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。而ARM体系结构目前被公认为是业界领先的32 位嵌入式RISC 微处理器结构。 所有ARM处理器共享这一体系结构。

      因此我们可以从其所属体系比较入手,来进行X86指令集与ARM指令集的比较。

      二、CISC和RISC的比较

      (一)

      CISC

      1

      .CISC体系的指令特征

      使用微代码。

      指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式。

      庞大的指令集。

      可以减少编程所需要的代码行数,减轻程式师的负担。高阶语言对应的指令集:包括双运算元格式、寄存器到寄存器、寄存器到记忆体以及记忆体到寄存器的指令。

      2

      .CISC体系的优缺点

      优点:

      能够有效缩短新指令的微代码设计时间,允许设计师实现CISC体系机器的向上相容。新的系统可以使用一个包含早期系统的指令超集合,也就可以使用较早电脑上使用的相同软体。另外微程式指令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。

      缺点:

      指令集以及晶片的设计比上一代产品更复杂,不同的指令,需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。

      (二)RISC

      1

      .RISC体系的指令特征

      精简指令集:

      包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。

      同样长度的指令:

      每条指令的长度都是相同的,可以在一个单独操作里完成。

      单机器周期指令:

      大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。

      2

      .RISC体系的优缺点

      优点:

      在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC的2~4倍。由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。

      缺点:

      多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器内部,就是L1 Cache(一级缓存)。

      综合上面所述,若要再进一步比较CISC与RISC之差异,可以由以下几点来进行分析:

      1、指令的形成

      CISC

      因指令复杂,故采微指令码控制单元的设计,而RISC的指令90%是由硬体直接完成,只有10%的指令是由软体以组合的方式完成,因此指令执行时间上RISC较短,但RISC所须ROM空间相对的比较大,至于RAM使用大小应该与程序的应用比较有关系。

      2、定址模式

      CISC

      的需要较多的定址模式,而RISC只有少数的定址模式,因此CPU在计算记忆体有效位址时,CISC占用的汇流排周期较多。

      3、指令的执行

      CISC

      指令的格式长短不一,执行时的周期次数也不统一,而RISC结构刚好相反,故适合采用管线处理架构的设计,进而可以达到平均一周期完成一指令的方向努力。显然的,在设计上RISC较CISC简单,同时因为CISC的执行步骤过多,闲置的单元电路等待时间增长,不利于平行处理的设计,所以就效能而言RISC较CISC还是站了上风,但RISC因指令精简化后造成应用程式码变大,需要较大的程式记忆体空间,且存在指令种类较多等等的缺点。

      (三)X86指令集和ARM指令集:

      (1) X86指令集:

      X86

      指令集是Intel为其第一块16位CPU(i8086)专门开发的,后来的电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器另外使用X87指令,以后就将X86指令集和X87指令集统称为X86指令集。虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel公司所生产的所有CPU仍然继续使用X86指令集,所以它的CPU仍属于X86系列。由于Intel X86系列及其兼容CPU都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。

      除了具备上述CISC的诸多特性外,X86指令集有以下几个突出的缺点:

      l         通用寄存器组————对CPU内核结构的影响

      X86指令集只有8个通用寄存器。所以,CISC的CPU执行是大多数时间是在访问存储器中的数据,而不是寄存器中的。这就拖慢了整个系统的速度。

      RISC系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术使寄存器资源得到充分的利用。

      l         解码————对CPU的外核的影响

      解码器(Decode Unit),这是x86CPU才有的东西。其作用是把长度不定的x86指令转换为长度固定的类似于RISC的指令,并交给RISC内核。解码分为硬件解码和微解码,对于简单的x86指令只要硬件解码即可,速度较快,而遇到复杂的x86指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。Athlon也好,PIII也好,老式的CISC的X86指令集严重制约了他们的性能表现。

      l         寻址范围小——约束了用户需要

      即使AMD

      研发出X86-64架构时,虽然也解决了传统X86固有的一些缺点,比如寻址范围的扩大,但这种改善并不能直接带来性能上的提升。

      
      (2) ARM指令集:

      相比而言,以RISC为架构体系的ARM指令集的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多。ARM处理器都是所谓的精简指令集处理机(RISC)。

      其所有指令都是利用一些简单的指令组成的,简单的指令意味着相应硬件线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。

      而因为指令集的精简,所以许多工作都必须组合简单的指令,而针对较复杂组合的工作便需要由『编译程式』(compiler) 来执行,而 CISC 体系的X86指令集因为硬体所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,compiler 的工作因而减少许多。

      除了具备上述RISC的诸多特性之外,可以总结ARM指令集架构的其它一些特点如下:

      l         ARM

      的特点

      1.  体积小,低功耗,低成本,高性能

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

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

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

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

      6.  指令长度固定;

      7.  流水线处理方式

      8.  Load_store结构

      l         ARM的一些非RISC

      思想的指令架构:

      1.  允许一些特定指令的执行周期数字可变,以降低功耗,减小面积和代码尺寸。

      2.  增加了桶形移位器来扩展某些指令的功能。

      3.  使用了16位的Thumb指令集来提高代码密度。

      4.  使用条件执行指令来提高代码密度和性能。

本帖最后由 heven2004 于 2015-9-24 17:48 通过手机版编辑


TOP

posted by wap, platform: VIVO Xplay3S
引用:
原帖由 @ffcactus  于 2015-9-24 17:26 发表
哪里来的半调子货?有没有文化,读过书没有?实在是愚蠢得令人发指……而且还不是专业上的愚蠢,纯粹就是常识上的愚蠢。
“无法横行比较”?笑死了,是无法从效率上比较呢,还是无法从功耗上比较呢?是无法从运算速度上比较呢,还是无法从制程上比较呢?
指标就是那么几个,每个都有明确含义,每项都有其价值,每项都能准确衡量。
“无法横行比较”?因为你们家是人民币,比尔盖茨家是美金,所以你们的财富无法比较?真是不要太文化,比自欺欺人还吓人。
恩,太没文化了。我忽略了苹果arm处理器中的各种虚拟指令集。



本帖最近评分记录
  • StageX 激骚 +6 最骚 Rated by wap 2015-9-26 19:29
  • evil_n 激骚 +1 人身攻击 2015-9-25 08:33

TOP

posted by wap, platform: VIVO Xplay3S
对于arm架构和x86架构具体的区别我也只是一知半解,开帖也是希望各硬件达人进行指点,ff大神这种满嘴喷粪的求别进。


TOP

posted by wap, platform: VIVO Xplay3S
引用:
原帖由 @ffcactus  于 2015-9-24 17:47 发表
你的错是错在不清楚具体架构上吗?
你是错在常识上,你连什么东西可以比较都不知道,这才是最可笑的。
我求你滚吧。

TOP

posted by wap, platform: VIVO Xplay3S
攒了这么多,小白慢慢学习了

TOP

发新话题
     
官方公众号及微博