您的位置 首页 FPGA

什么叫arm架构?X86架构与ARM架构有什么区别

什么叫arm架构ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛

  什么叫arm架构

  ARM架构曩昔称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地运用在许多嵌入式体系规划。由于节能的特色,ARM处理器十分适用于移动通讯范畴,契合其首要规划方针为低耗电的特性。

  在今天,ARM宗族占了一切32位嵌入式处理器75%的份额[1],使它成为占全世界最大都的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)。

  4.浮点部件:浮点部件是作为选件供ARM构架运用。FPA10浮点加速器是作为协处理方法与ARM相连,并经过协处理指令的解说来履行。

  5.操控器:ARM的操控器选用的是硬接线的可编程逻辑阵列PLA。

  6.寄存器

1.jpg

 

  除了用户形式之外的其他6种处理器形式称为特权形式(PrivilegedModes)。在这些形式下,程序能够拜访一切的体系资源,也能够恣意地进行处理器形式的切换。其间,除体系形式外,其他5种特权形式又称为反常形式。

  处理器形式能够经过软件操控进行切换,也能够经过外部中止或反常处理进程进行切换。大大都的用户程序运转在用户形式下,这时,运用程序不能够拜访一些受操作体系维护的体系资源,运用程序也不能直接进行处理器形式的切换。当需求进行处理器形式的切换时,运用程序能够产生反常处理,在反常处理进程中进行形式的切换。这种体系结构能够使操作体系操控整个体系的资源。

  当运用程序产生反常中止时,处理器进入相应的反常形式。在每一种反常形式中都有一组寄存器,供相应的反常处理程序运用,这样就能够确保在进入反常形式时,用户形式下的寄存器(确保了程序运转状况)不被损坏。

  体系形式并不是经过反常进程进入的,它和用户形式具有彻底相同的寄存器。可是体系形式归于特权形式,能够拜访一切的体系资源,也能够直接进行处理器形式的切换。它首要供操作体系使命运用。一般操作体系的使命需求拜访一切的体系资源,一起该使命依然运用用户形式下的寄存器组,而不是运用反常形式下相应的寄存器组,这样能够确保当反常中止产生时使命状况不被损坏

  ARM的技能完结

  要想深化了解ARM的完结原理是个很大的学习工程,这儿相同期望读者读后能对ARM起到一个整体的知道,后续能够进一步的深化学习。咱们先以ARM汇编根底来打开这一章的chat。

  汇编语言是机器代码上的一个薄的语法层,它由以二进制编码的指令组成,这是咱们的计算机所了解。那么为什么咱们不写代码呢?可想而知以二进制来进行coding的话是多么的苦楚,因而咱们将编写ARM程序集。

  可是计算机自身只辨认机器码是不能运转汇编代码的,这就需求将汇编代码装到机器代码中的东西GNUBinutils项目中的GNUAssembler。一旦用扩展名*.s编写程序就需求把它与其进行组合并与ld链接起来:   

11.jpg

  咱们从最底层来看下,在最底层,电路上有电信号,信号是将电压切换为两个电平来构成的,例如0伏(关)或5伏(开)。

  由于仅仅咱们不能简略的告知电路电压,只能挑选运用1/0来写入开/关的形式,然后咱们对0和1的次序进行分组,以构成机器码指令,该指令是计算机处理器的最小作业单元,以下是机器语言的示例:

3.jpg

  咱们知道ARM处理器只能对寄存器履行数据处理,所以与存储器的交互有两种:从存储器加载到寄存器,并将值从寄存器存储到存储器,即ARM运用加载/存储(LDR和STR)模型进行内存拜访。

  一般LDR用于将内存中的内容加载到寄存器中,STR用于存储寄存器中的内容到存储器地址。咱们来举一个根本比如:

4.jpg

  第一看的小伙伴或许会一头雾水,下面以一张图来解说下ARM是怎么和存储器交互的:

5.jpg

  X86架构工业电脑与ARM架构工业电脑的差异

  1、功能

  X86架构的工业电脑比ARM架构的工业电脑在功能方面要快得多、强得多。ARM的优势在于功率,ARM选用RISC流水线指令集,在完结综合性作业处于下风,而在使命相对固定的运用场合其优势就能发挥得酣畅淋漓。

  2、扩展才能

  X86架构的工业电脑选用“桥”的方法与扩展设备(如硬盘、内存等)进行衔接,且X86架构的工业电脑能很简略进行功能扩展,如添加内存、硬盘等。

  ARM架构的工业电脑是经过专用的数据接口使CPU与数据存储设备进行衔接,所以ARM的存储、内存等功能扩展难以进行(一般在产品规划时现已定好其内存及数据存储的容量),所以选用ARM架构的工业电脑,一般不考虑扩展。

  3、操作体系的兼容性

  简直一切X86硬件渠道都能够直接运用微软的视窗体系及现在盛行的简直一切东西软件,所以X86体系在兼容性方面具有无与伦比的优势。

  ARM简直都选用Linux的操作体系,并且简直一切的硬件体系都要独自构建自己的体系,与其他体系不能兼容,这也导致其运用软件不能便利移植,也限制了ARM的开展和运用。Android体系开发后,一致了ARM架构电脑的操作体系,使新推出依据ARM架构的电脑体系有了一致的、开放式的、免费的操作体系,为ARM的开展供给了强壮的支撑和动力。

  4、软件开发的便利性及可运用东西的多样性

  在软件开发方面, X86架构比ARM架构更简略、更简略、实际本钱也更低,一起更简略找到第三方软件(免除自己开发的时刻和本钱),并且软件移植更简略。

  5、功耗

  在服务器、作业站以及其他高功能运算等运用方面,不考虑功耗和运用环境等条件,X86占了优绝对优势;但受功耗、环境等条件限制且作业使命固定的情况下ARM就占有很大的优势。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/310099.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部