精华内容
下载资源
问答
  • ARM指令集和X86指令集的比较

    千次阅读 2012-11-24 00:00:40
    从现阶段的主流体系结构讲,指令集可分为复杂指令集(CISC)精简指令集(RISC)两部分。 相应的,微处理随着微指令的复杂度也可分为CISC及RISC这两类。 CISC 是一种为了便于编程提高记忆体访问效率的晶片设计...

    一、背景知识:

    指令的强弱是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因指令精简化后造成应用程式码变大,需要较大的程式记忆体空间,且存在指令种类较多等等的缺点。

    展开全文
  • ARM x86 有什么区别? 0. 基础知识 指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集(CISC)精简指令集(RISC)两部分。相应的,微处理...

    参考资料:
    ARM 和 x86 有什么区别?


    0. 基础知识

    指令的强弱是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 处理器共享这一体系结构。

    想详细了解指令集知识可参考此篇博文:CPU指令集科普:CISC指令集和RISC指令集

    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指令集有以下几个突出的缺点:

    • 通用寄存器组——对CPU内核结构的影响。X86指令集只有8个通用寄存器,所以,CISC的CPU执行是大多数时间是在访问存储器中的数据,而不是寄存器中的。这就拖慢了整个系统的速度。RISC系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术使寄存器资源得到充分的利用。

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

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

    2. ARM指令集

    相比而言,以RISC为架构体系的ARM指令集的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多。ARM处理器都是所谓的精简指令集处理机(RISC)。其所有指令都是利用一些简单的指令组成的,简单的指令意味着相应硬件线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。而因为指令集的精简,许多工作都必须组合简单的指令来完成,而针对较复杂组合的工作便需要由编译器(compiler) 来执行,而 CISC 体系的X86指令集因为硬体所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,编译器的工作因而减少许多。

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

    • 体积小,低功耗,低成本,高性能;
    • 支持Thumb(16 位)/ARM ( 32 位)双指令集,能很好的兼容 8 位 /16 位器件;
    • 大量使用寄存器,指令执行速度更快;
    • 大多数数据操作都在寄存器中完成;
    • 寻址方式灵活简单,执行效率高;
    • 指令长度固定;
    • 流水线处理方式;
    • load-store结构。

    ARM的一些非RISC思想的指令架构:

    • 允许一些特定指令的执行周期数字可变,以降低功耗,减小面积和代码尺寸;
    • 增加了桶形移位器来扩展某些指令的功能;
    • 使用了16位的Thumb指令集来提高代码密度;
    • 使用条件执行指令来提高代码密度和性能;
    • 使用增强指令来实现数字信号处理的功能。

    3. 总结

    因此,大量的复杂指令、可变的指令长度、多种的寻址方式这些CISC的特点,也是CISC的缺点,因为这些都大大增加了解码的难度,而在现在的高速硬件发展下,复杂指令所带来的速度提升早已不及在解码上浪费的时间。

    除了个人PC市场还在用X86指令集外,服务器以及更大的系统都早已不用CISC了。x86仍然存在的理由就是为了兼容大量的x86平台上的软件。同时,它的体系结构组成的实现不太困难。

    而RISC体系的ARM指令最大特点是指令长度固定,指令格式种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。优点是不言而喻的,因此,ARM处理器才成为是当前最流行的处理器系列,是几种主流的嵌入式处理体系结构之一。

    展开全文
  • 【转】ARM指令集和X86指令集的区别

    千次阅读 2017-01-08 15:37:00
    当年面试华为,本来面的java岗,看到我简历上学过单片机,一个这个问题抛过来,...从现阶段的主流体系结构讲,指令集可分为复杂指令集(CISC)精简指令集(RISC)两部分。 相应的,微处理随着微指令的复杂度也可分为...

    当年面试华为,本来面的java岗,看到我简历上学过单片机,一个这个问题抛过来,基本让我招架不住。现在回想过去,还是经验不足啊,经验不足啊!血亏!

    以下为转载内容。

     

    一、背景知识:

    指令的强弱是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指令集的比较。

     

    二、CISCRISC的比较

    (一)

    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.  使用条件执行指令来提高代码密度和性能。

    5.  使用增强指令来实现数据信号处理的功能。

     

    (四)小结:

     

    因此,大量的复杂指令、可变的指令长度、多种的寻址方式这些CISC的特点,也是CISC的缺点,因为这些都大大增加了解码的难度,而在现在的高速硬件发展下,复杂指令所带来的速度提升早已不及在解码上浪费点的时间。除了个人PC市场还在用X86指令集外,服务器以及更大的系统都早已不用CISC了。x86仍然存在的理由就是为了兼容大量的x86平台上的软件,同时,它的体系结构组成的实现不太困难。

     

    而RISC体系的ARM指令最大特点是指令长度固定,指令格式种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。优点是不言而喻的,因此,ARM处理器才成为是当前最流行的处理器系列,是几种主流的嵌入式处理体系结构之一。

    RISC目前正如日中天,Intel似乎也将最终抛弃x86而转向RISC结构。

     

    而实际上,随着RISC处理器在嵌入式领域中大放异彩,传统的X86系列CISC处理器在Intel公司的积极改进下也克服了功耗过高的问题,成为一些高性能嵌入式设备的最佳选择,发展到今天,CISC与RISC之间的界限已经不再是那么泾渭分明,RISC自身的设计正在变得越来越复杂(当然并不是完全依着CISC的思路变复杂),因为所有实际使用的CPU都需要不断提高性能,所以在体系结构中加入新特点就在所难免。另一方面,原来被认为是CISC体系结构的处理器也吸收了许多RISC的优点,比如Pentium处理器在内部的实现中也是采用的RISC的架构,复杂的指令在内部由微码分解为多条精简指令来运行,但是对于处理器外部来说,为了保持兼容性还是以CISC风格的指令集展示出来。

    转载于:https://www.cnblogs.com/PengH/p/6262082.html

    展开全文
  • 目录 正文 0. 1. 2. ...所谓指令集,就是CPU中用来计算控制计算机系统的...CPU的指令集从主流的体系结构上分为精简指令集(RISC)复杂指令集(CISC)。嵌入式系统中的主流处理器——ARM处理器,所使用的就是精...

    目录

    正文

    0.

    1.

    2.

    3.

    4.

    5.

    6.

    7.

    8.

    [参考文献]


    正文

    0.

    所谓指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。CPU的指令集从主流的体系结构上分为精简指令集(RISC)和复杂指令集(CISC)。嵌入式系统中的主流处理器——ARM处理器,所使用的就是精简指令集。而桌面领域的处理器大部分使用的是复杂指令集,比如Intel的X86系列处理器。我们把ARM处理器所使用的指令集称为ARM指令集,把X86处理器所使用的指令集称为X86指令集。由于ARM处理器与X86处理器采用不同类型的指令集,因而造成了处理器在性能、成本、功耗等方面的诸多差异。现从ARM指令集和X86指令集的特点、操作、功能方面做一比较,以说明两种处理器有诸多差异的原因。

    1.

    第一,X86指令集随着计算机的功能越来越强大,计算机内部的元件越来越多,指令也相应的变得十分复杂,而在使用过程中,并不是每一条指令都要完全被执行,在技术人员的研究过程中发现,约有80%的程序只用到了20%的指令,而一些过于冗余的指令严重影响到了计算机的工作效率。而ARM指令集种类大大的减少,指令只提供简单的操作,使一个周期就可以执行一条指令。编译器或者程序员通过几条简单指令的组合来实现一个复杂的操作(例如,除法操作)。

    2.

    第二,由于X86指令集是属于CISC类型的指令集,其每条指令的长度是不固定的,而且有几种不同的格式,这样一来,就造成了X86处理器的解码工作非常复杂。为了提高处理器的工作频率,就不得不延长处理器中的流水线。而过长的流水线在分支如果出现预测出错的情况,又会带来CPU工作停滞时间较长的弊端。而ARM指令集大多数指令采用相同的字节长度,并且在字边界上对齐,字段位置固定,特别是操作码的位置。这就非常适合采用流水线技术,允许流水线在当前指令译码阶段去取其下一条指令。

    3.

    第三,X86指令采用了可访问内存地址的方法,这样的方法容易造成处理器与内存之间的不平衡工作,从而降低处理器的工作效率。而ARM处理器则是使用Load/Store的存储模式,其中只有Load和Store指令才能从内存中读取数据到寄存器,所有其他指令只对寄存器中的操作数进行计算。因此,每条指令中访问的内存地址不会超过1个,指令访问内存的操作不会与算术操作混在一起。

    4.

    第四,X86构架处理器中的FPU(Floating Point Unit)浮点运算单元的运算能力较差,其主要原因就是X86指令集中所使用的一个操作数堆栈。如果在运算过程中,没有足够的寄存器进行计算,系统就不得不使用堆栈来存放数据,这样一来会浪费大量的时间来处理FXCH指令,才能将正确的数据放到堆栈的顶部。ARM处理器本身不支持浮点运算,所有的浮点运算都在一个特殊的浮点模拟器中运行,并且速度很慢,经常需要进行数千个时钟周期才能完成浮点函数的计算。

    5.

    第五,在流水线方面,ARM指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。在理想情况下,流水线每周期前进一步,可获得最高的吞吐率;而X86指令集的执行需要调用微代码的一个微程序,在执行速度上不如ARM指令集。

    6.

    第六,X86指令对于各种扩展部件的限制也是十分不利的。首先,X86架构的处理器对于4GB的内存容量上限制,虽然现在目前主流的个人电脑的内存大小为512MB和1GB,但是相信随着操作系统和应用软件的不断提升,会快将会突破4GB的内存容量。而ARM则相反,它可以支持丰富的扩展部件。

    7.

    第七,为了提高X86架构的处理器的性能,而出现像寄存器重命名、缓冲器巨大、乱序执行、分支预测、X86指令转化等等现象,都使得处理器的核心面积变得越来越大,这也限制了处理器工作频率的进一步提升,设计成本增加,此外,处理器所集成的这些庞大数目的晶体管都只是为了解决X86指令的问题。而ARM指令集可以大大简化处理器的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬件线路来实现指令操作,从而节约的处理器的制造成本,核心面积小。

    8.

    第八,ARM指令集还加强了并行处理能力,非常适合于采用处理器的流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。而且随着VLSI(Very Large Scale Integration,超大规模集成电路)技术的发展,整个处理器的核心甚至多个处理器核心都可以集成在一个芯片上。然而X86指令集却给VLSI设计带来很大的设计负担,不利于单片集成。

     

     

    [参考文献]

    [1]金瑶,陈磊萍. ARM指令集与X86指令集之比较[J]. 成功(教育),2007.

    展开全文
  • 有可能同样的汇编指令,但是机器码不一样吗?
  •  随着嵌入式系统软件的发展,以及嵌入式应用在各个行业的普及,嵌入式系统开发已经被越来越...本文针对此问题,结合现有ARM体系架构指令集模拟器实现原理,提出了一套基于X86平台的ARM指令集模拟器的设计方案。
  • ARM 指令集版本和ARM 版本

    千次阅读 2012-09-10 09:48:39
    ARM指令集不像x86指令集没有变化,ARM指令集目前为止分为8种,ARMv1,v2,v3,v4,v5,v6,v7,v8真是乱糟糟,为什么指令集变来变去的? Main article: List of ARM microprocessor cores Architecture ...
  • ISA(instruction set architecture)指令集维基定义https://en.wikipedia.org/wiki/Instruction_set_architecture ...这一系列指令就是指令集ISA,对于x86芯片就是x86指令集。指令集是软件硬件之...
  • X86ARM

    2019-12-25 09:12:37
    文章目录1 intel(英特尔)1.1 intel简介1.2 intel产品1.3 X86指令集2 ARM2.1 ARM简介3 X86指令集和ARM指令集的区别3.1 X86指令集和ARM指令集的区别 1 intel(英特尔) 1.1 intel简介 intel: 美国的一家以研发、...
  • 前几天,龙芯宣布推出LoongArch指令集,放弃了以往的MIPS授权,拥有2500多条自主指令,还可以翻译MIPS、ARMx86指令。对于国产CPU发展,过去20多年中始终有两个问题无法解决,那就是要走自主之路还是走兼容之路,...
  • ARMX86不具备可比...这里就不去管细节,简单来谈一下,ARM和X86之间为什么不太具有可比性的问题。要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较...
  • 安装了android x86 4.0的系统但是好多软件下载安装好后都不能运行,网上有人说要把ARM指令集导入android才可以
  • 指令集 arm V7 arm 64

    2016-08-26 11:50:14
    Armv6、armv7、armv7s、arm64都是arm处理器的指令集,所有指令集原则上都是向下兼容的,如iPhone4S的CPU默认指令集为armv7指令集,但它同时也兼容armv6指令集,只是使用armv6指令集时无法充分发挥其性能,
  • ARM 指令集 寄存器处理器模式(26-bit 体系) &(32-bit 体系) 程序状态寄存器操纵它的指令 寄存器装载存储指令 算术逻辑指令 移位操作 乘法指令 比较指令 分支指令 条件执行 软件中断指令 APCS (ARM 过程...
  • 目前很多开源基于x86处理器环境的C/C++,Objective-C/C++编译器...AT&T汇编针对x86指令集与其它处理器(比如ARM、Blackfin等)有所不同,它与Intel自定义的汇编格式有比较大的偏差。GCC的汇编器能支持Intel语法特
  • ARM x86 有什么区别? ARM 处理器:RISC与CISC 是什么? 0. 基础知识 0.1 什么是指令集 所谓指令集,是CPU中用来计算控制计算机系统的一套指令的集合。指令的强弱是CPU的重要指标,指令集是提高微处理器效率的...
  • ARM常用指令集和汇编.pdf
  • ARM方面:CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用不到65nm制程的工艺,可以说在性能生产工艺方面ARM根本不是X86结构系统的对手。 但ARM的优势不在于性能强大而在于效率,...
  • 优秀课件精彩无限 第4章 ARM指令集 主要介绍以下内容 ARM指令集的基本特点 与Thumb指令集的区别 与x86处理器的区别 ARM指令格式 ARM寻址方式 ARM指令集分类详解 4.6 ARM处理器的寻址方式和指令系统 ARM指令集和Thumb...
  • arm指令集翻译

    2014-03-09 11:47:27
    安卓x86模拟arm指令集,能够让安卓x86运行几乎所有的arm框架编译的apk程序,十分好用
  • 这是一个公共领域的指令集数据库,其中包含以下体系结构: X86 | x86data.js由x86data.js提供 A32 | armdata.js由armdata.js提供 注意:当前正在开发中,以使各种体系结构之间的数据库更加标准化,需要一些数据更改...
  • 1)x64是对原有32-bit x86指令集的64位扩展的一个总称,包括: AMD公司的x86-64(x86-64后来更名为AMD64) Intel公司的IA-32e(后来又称为EMT64) AMD64EMT64在绝大多数情况是兼容的,大多数代码可以同时在两种...
  • ARM指令集翻译器

    热门讨论 2012-09-05 11:19:38
    ARM指令集翻译器,将bea文件夹下所有复制解压到/system/lib就能使用
  • ARM指令集 --RISC精简指令集

    千次阅读 2018-10-15 10:18:59
    汇编语言是与硬件接触的美妙语言,...ARM处理器支持ARM指令集,也支持16位的Thumb指令集,从ARMv6开始,新的ARM处理器支持16/32位的Thumb-2指令集(ARMv7-M仅支持Thumb-2)。ARM指令集使用标准的,固定长度的32位指...
  • 这里简单来谈一下,ARM和X86之间为什么不太具有可比性的问题。要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较抽象的概念,不太容易用几句话就解释清楚。我们...
  • iOS CPU架构(ARM指令集)

    千次阅读 2015-09-30 10:43:30
    简述 ARM处理器,因其功耗低尺寸小而闻名,几乎所有的手机处理器都基于ARM,苹果当然也不例外。...iOS模拟器没有运行ARM指令集,编译运行的是x86指令集(或i386),所以只有在iOS设备上才会执行设备对应ARM指

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,578
精华内容 5,031
关键字:

x86指令集和arm指令集