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

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

3天内不再提示

什么叫arm架构?ARM的技术实现

传感器技术 来源:未知 作者:李倩 2018-05-08 14:35 次阅读

什么叫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)。

4

浮点部件:

浮点部件是作为选件供ARM构架使用。FPA10浮点加速器是作为协处理方式与ARM相连,并通过协处理指令的解释来执行。

5

控制器

ARM的控制器采用的是硬接线的可编程逻辑阵列PLA。

6

寄存器:

除了用户模式之外的其他6种处理器模式称为特权模式(PrivilegedModes)。在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除系统模式外,其他5种特权模式又称为异常模式。

处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行在用户模式下,这时,应用程序不能够访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换。当需要进行处理器模式的切换时,应用程序可以产生异常处理,在异常处理过程中进行模式的切换。这种体系结构可以使操作系统控制整个系统的资源。

当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式中都有一组寄存器,供相应的异常处理程序使用,这样就可以保证在进入异常模式时,用户模式下的寄存器(保证了程序运行状态)不被破坏。

系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器。但是系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式的切换。它主要供操作系统任务使用。通常操作系统的任务需要访问所有的系统资源,同时该任务仍然使用用户模式下的寄存器组,而不是使用异常模式下相应的寄存器组,这样可以保证当异常中断发生时任务状态不被破坏

ARM的技术实现

要想深入理解ARM的实现原理是个很大的学习工程,这里一样希望读者读后能对ARM起到一个总体的认识,后续可以进一步的深入学习。我们先以ARM汇编基础来展开这一章的chat。

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

但是计算机本身只识别机器码是不能运行汇编代码的,这就需要将汇编代码装到机器代码中的工具GNUBinutils项目中的GNUAssembler。一旦用扩展名*.s编写程序就需要把它与其进行组合并与ld链接起来:

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

因为只是我们不能轻易的告诉电路电压,只能选择使用1/0来写入开/关的模式,然后我们对0和1的顺序进行分组,以形成机器码指令,该指令是计算机处理器的最小工作单元,以下是机器语言的示例:

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

通常LDR用于将内存中的内容加载到寄存器中,STR用于存储寄存器中的内容到存储器地址。我们来举一个基本例子:

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

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就占有很大的优势。

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

    关注

    134

    文章

    8647

    浏览量

    361743
  • 寄存器
    +关注

    关注

    30

    文章

    5025

    浏览量

    117699
  • 汇编语言
    +关注

    关注

    14

    文章

    404

    浏览量

    35189

原文标题:什么叫arm架构?X86架构与ARM架构有什么区别

文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    我对ARM架构的理解

    好主意。Arm计算机体系结构由于Arm将其架构授权给第三方,因此Arm设计的微架构和第三方微架构
    发表于 09-03 17:56

    详谈ARM架构ARM内核发展史

    戳蓝字“CSDN云计算”关注我们哦!作者 |架构技术联盟责编 | 阿秃1、ARM架构ARM内核1.1
    发表于 07-01 09:13

    ARM架构是什么

    从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM
    发表于 07-01 09:23

    ARMARM的架构ARM架构的区别

    目录文章目录目录ARMARM 的架构x86 架构ARM 架构的区别ARM技术
    发表于 07-16 06:43

    ARM芯片架构

    ARM芯片ARM 历史ARM架构 (Advanced RISC Machine)64/32位架构32位
    发表于 07-28 08:16

    ARM架构

    ARM架构ARM架构如图所示,ARM公司只提供内核技术,而其他外设则为芯片商设计并使用,
    发表于 08-04 06:18

    arm架构和x86架构有什么区别

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

    Arm架构的扩展详解

    Arm架构的补充以版本增量的形式提供,称为扩展。扩展允许我们根据合作伙伴的需求定期发布新功能,而无需制作主要架构的主要变化。 Arm每年都会发布一个新的扩展。Cortex cpu,它
    发表于 08-02 06:08

    ARM7和ARM9双核平台的技术分析

    ARM7和ARM9双核平台的技术分析 目前嵌入式系统教学平台市场上的主导产品都是基于ARM7或ARM9
    发表于 01-21 09:30 788次阅读

    ARM架构_-_介绍

    ppt主要介绍了arm架构,通过介绍寄存器、指令集、总线、工作模式等方面来阐释ARM架构
    发表于 05-24 14:14 41次下载

    什么叫arm架构_X86架构ARM架构有什么区别

    本文首先介绍了arm架构的概念,其次介绍了ARM架构图与ARM技术
    发表于 04-24 08:45 8.6w次阅读
    什么叫<b class='flag-5'>arm</b><b class='flag-5'>架构</b>_X86<b class='flag-5'>架构</b>与<b class='flag-5'>ARM</b><b class='flag-5'>架构</b>有什么区别

    ARM架构是什么 限制ARM对华为的影响

    目前,ARM架构的处理器几乎占据了所有的手机处理器,高通、苹果、华为的处理器均是基于ARM架构。今天,ARM暂停了与华为的一切业务往来,因为
    的头像 发表于 08-14 15:29 7338次阅读

    arm架构是哪个国家的

     arm架构是英国的。英国ARM公司是全球领先的半导du体知识产权 (IP) 提供商。全世界超过95%的智能手机和平板电脑都采用ARM架构
    发表于 07-21 09:42 1w次阅读

    Arm架构科普解读 Arm架构的底层逻辑和Arm架构的顶层设计

    本文主要探讨了 Arm 架构的底层逻辑,介绍了Arm 架构的顶层设计;以处理器核心架构为基础,以系统架构
    的头像 发表于 02-06 05:33 4957次阅读
    <b class='flag-5'>Arm</b><b class='flag-5'>架构</b>科普解读  <b class='flag-5'>Arm</b><b class='flag-5'>架构</b>的底层逻辑和<b class='flag-5'>Arm</b><b class='flag-5'>架构</b>的顶层设计

    fpga封装技术arm架构有什么区别

    FPGA封装技术ARM架构在多个方面存在显著的区别。
    的头像 发表于 03-26 15:50 252次阅读