“8020”的经典应用ARM(RISC)和X86(CISC)的技术差异
- 格式:pdf
- 大小:985.37 KB
- 文档页数:3
多方位对比ARM和x86 CPU两大架构现在发展如
何?
随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是如果你再问他知道ARM和X86架构幺?这两者的区别又是什幺?绝大多数的人肯定是一脸懵逼。
今天小编就带你深入了解CPU的这两大架构:ARM和X86。
以后出去装X就靠它了!
重温下CPU是什幺鬼
中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。
CPU有着处理指令、执行操作、控制时间、处理数据四大作用,打个比喻来说,CPU就像我们的大脑,帮我们完成各种各样的生理活动。
因此。
一、R I S CRISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80 年代的MIPS主机(即RISC 机),RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
1. RISC体系的指令特征精简指令集:包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。
同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。
单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。
2. RISC体系的优缺点优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC的2~4倍。
由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。
RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。
缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。
另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器内部,就是L1 Cache(一级缓存)。
二、CISCCISC是复杂指令系统计算机(Complex Instruction Set Computer)的简称,微处理器是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。
指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。
1.CISC体系的指令特征使用微代码。
指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式。
ARM与X86的正面PK导言:英特尔近期公布了有关凌动SoC和英伟达Tegra 3的非常详细的能耗情况。
如果您之前认为ARM架构在本质上能效更高,或许您低估了英特尔在制造和架构方面的优势。
应对目前在智能手机和平板上普遍所采用的ARM架构处理器,英特尔所推出的全新ATOM“凌动”处理器,事实上在各个方面都不逊色于以Tegra 3为代表的ARM架构处理器。
而知名硬件评测网站TomShardware通过深度的测试以及详细的数据,为我们展现了英特尔凌动处理背后的秘密。
移动设备的能耗:让数字说话Andrew Ku一直在评测几款新的平板电脑:采用凌动Z2760处理器的三星ATIV Smart PC 500T以及采用高通APQ8060A处理器的三星ATIV Tab。
我一直在使用基于凌动处理器的宏基Iconia W510,我将很快贴出我对它最初的看法。
让Andrew和我都印象深刻的是:这些基于凌动、运行完整版Windows 8的平板电脑在电池续航时间上完全可以媲美基于Tegra 3的微软Surface,特别是宏基W510配备26.6Wh电池而Surface配备31.5Wh电源。
就性能而言,凌动Z2760(代号Clover Trail)在Geekbench测试得分上与英伟达(Nvidia)的Tegra 3互有胜负,但凌动Z2760在网络浏览指标上则全面胜出。
在运行x86应用方面,凌动拥有明显的优势。
对于更小的电池,如何在特定测试中获得更高的性能,以及在相同的负载中拥有更长的运行时间?回答这个问题是一个相当大的挑战。
随后,我们要求英特尔向我们展示其实验室中让英特尔能够进行非常精细测量的先进设备。
上周在圣克拉拉,英特尔向我们展示了其性能分析团队生成的数据,并演示了这些信息是如何生成的,还让我们自己操作测试设备并深入探讨Clover Trail的优缺点。
下面的数字来自英特尔的团队,而不是Tom的硬件实验室。
我们确实确认了所有显示屏均标准化为200200 cd/m2(尼特,使用Gossen亮度计测量),能耗是50毫秒时间段的平均值。
一文看懂arm架构和x86架构有什么区别本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能、扩展能力、操作系统的兼容性、软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了arm架构和x86架构的区别,具体的跟随小编一起来了解一下。
什么叫arm架构ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。
由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。
在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。
ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。
在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
ARM架构图下图所示的是ARM构架图。
它由32位ALU、若干个32位通用寄存器以及状态寄存器、32&TImes;8位乘法器、32&TImes;32位桶形移位寄存器、指令译码以及控制逻辑、指令流水线和数据/地址寄存器组成。
1、ALU:它有两个操作数锁存器、加法器、逻辑功能、结果以及零检测逻辑构成。
2、桶形移位寄存器:ARM采用了32&TImes;32位的桶形移位寄存器,这样可以使在左移/右移n位、环移n位和算术右移n位等都可以一次完成。
3、高速乘法器:乘法器一般采用“加一移位”的方法来实现乘法。
ARM为了提高运算速度,则采用两位乘法的方法,根据乘数的2位来实现“加一移位”运算;ARM高速乘法器采用32&TImes;8位的结构,这样,可以降低集成度(其相应芯片面积不到并行乘法器的1/3)。
RISC和CISC的区别RISC的简介RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器(如下图)起源于80年代的MIPS主机,RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
RISC的简单使得在选择如何使用微处理器上的空间时拥有更多的自由。
比起从前,高级语言编译器能产生更有效的代码,因为编译器使用RISC机器上的更小的指令集。
RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。
如:1987年Sun Microsystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。
而SGI公司推出的MIPS处理器则采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。
RISC处理器是当今UNIX领域64位多处理机的主流芯片。
其特点主要有:一,由于指令集简化后,流水线以及常用指令均可用硬件执行;二,采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;三,采用缓存-主存-外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因存储器存取信息而放慢处理速度。
由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。
RISC芯片的工作频率一般在400MHZ数量级。
时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。
单一指令周期容纳多部并行操作。
在RISC微处理器发展过程中。
曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。
Arm和x86是两种常见的指令集架构,分别用于移动设备和个人电脑。
它们的指令集有很多共同之处,但也有一些差异。
本文将介绍Arm和x86的常用指令用法,以帮助读者更好地理解这两种架构的特点和优劣势。
一、Arm指令集架构(Arm ISA)Arm是一种RISC(Reduced Instruction Set Computer)架构,其指令集相对较小,执行效率较高。
Arm指令集包括以下几类指令:1. 数据传送指令:包括MOV(数据传送)、LDR(加载)、STR(存储)等指令,用于在寄存器和内存之间传递数据。
2. 算术运算指令:包括ADD(加法)、SUB(减法)、MUL(乘法)、DIV(除法)等指令,用于进行各种算术运算。
3. 逻辑运算指令:包括AND(与)、ORR(或)、EOR(异或)、NOT(取反)等指令,用于执行逻辑运算。
4. 分支跳转指令:包括B(无条件跳转)、BEQ(等于时跳转)、BNE(不等于时跳转)等指令,用于在程序中实现跳转功能。
5. 特权指令:包括MRS(读特权寄存器)、MSR(写特权寄存器)、SVC(软中断)等指令,用于管理处理器的特权模式和中断处理。
以上是Arm指令集中的一些常用指令,通过它们可以实现各种功能和操作。
二、x86指令集架构(x86 ISA)x86是一种CISC(Complex Instruction Set Computer)架构,其指令集较大且复杂,包括以下几类指令:1. 数据传送指令:包括MOV(数据传送)、LEA(加载有效位置区域)、XCHG(交换数据)等指令,用于在寄存器和内存之间传递数据。
2. 算术运算指令:包括ADD(加法)、SUB(减法)、IMUL(整数乘法)、IDIV(整数除法)等指令,用于进行各种算术运算。
3. 逻辑运算指令:包括AND(与)、OR(或)、XOR(异或)、NOT(取反)等指令,用于执行逻辑运算。
4. 分支跳转指令:包括JMP(无条件跳转)、JE(等于时跳转)、JNE(不等于时跳转)等指令,用于在程序中实现跳转功能。
区别RISC 和CISC 是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有:(1)指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。
对不常用的功能,常通过组合指令来完成。
因此,在RISC 机器上实现特殊功能时,效率可能较低。
但可以利用流水技术和超标量技术加以改进和弥补。
而CISC 计算机的指令系统比较丰富,有专用指令来完成特定的功能。
因此,处理特殊任务效率较高。
(2)存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。
(3)程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。
(4)中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在一条指令执行结束后响应中断。
(5)CPU:RISC CPU 包含有较少的单元电路,因而面积小、功耗低;而CISC CPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。
(6)设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。
(7)用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC 微处理器结构复杂,功能强大,实现特殊功能容易。
(8)应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机;而CISC 机器则更适合于通用机。
RISC-V、ARM与x86之间有什么区别?更新时间: 2021-12-07RISC-V、ARM 和x86微处理器之间的许多差异都很细微,并且与内存寻址方式、分支执行方式、异常处理方式等有关。
本文将考虑更高层次的差异,并将简要比较精简指令集计算(RISC)和复杂指令集计算(CISC),考虑这些差异对功耗和计算性能之间的权衡的影响,看看安全性和预测性如何执行被处理,虚拟化是如何实现的,最后是对 RISC-V、ARM 和 x86 设备的应用程序适用性的概述。
Intel的x86架构也在AMD的CPU上提供,ARM处理器和IP由Arm Limited提供,RISC-V国际组织正在开发RISC-V。
英特尔、AMD、ARM 和 RISC-V 之间的两个非常显着的区别在于商业模式和计算架构。
英特尔、AMD 和 ARM 基于专有 IP,并且这些公司销售和/或许可他们的产品。
RISC-V 是一个开放的规范和平台;它不是开源处理器。
可以使用开源 RISC-V 内核,但也有商业许可的内核。
RISC-V和ARM处理器在计算架构上基于RISC概念,而Intel和AMD的x86处理器则采用CISC设计。
一、RISC与CISC的计算RISC体系结构具有可以在单个计算机时钟周期内执行的简单指令。
因此,完成一项特定任务往往需要执行多条指令。
同样的任务可以在CISC处理器上用更少的指令(甚至单个指令)完成。
CISC计算力求用尽可能少的代码行完成一项任务。
一条CISC指令可能需要多个计算机时钟周期才能完成。
例如,CISC处理器的两个数相乘可以用一条指令完成:MUL 1200, 1201“MUL”是一个复杂的指令。
它不需要程序员显式使用任何调用、加载或存储函数。
它直接在计算机的内存上运行,类似于高级编程语言中的命令。
RISC 处理器上的乘法不能用单个命令完成;需要几个更简单的指令来从内存中的特定位置加载每个操作数(下面示例中的1200 和 1201),将数字相乘,然后存储结果:Load A, 1200Load B, 1201MUL A, BStore 1200, A在此示例中,Load指令将来自内存位置1200和1201的数据分别存储到寄存器A和B。