不是都需要ARM吗?

ARM系统架构简介

什么是ARM处理器,为什么没有听说?

  • ARM-缩写:Advanced RISC Machines
  • 该处理器起源于1984年的英格兰。在成立之初,ARM代表Acorn RISC Machine。最早的ARM依赖系统包括Acorn:BBC Micro,Masters和Archimedes。在此早期,主要用于英国的教育系统,因此在英格兰以外并不广泛使用或广为人知。但是在1987年,ARM成为了第一款商用RISC处理器。
  • 1990年,橡果研究部门从母公司中分离出来,成立了:ARM Ltd.(高级RISC Machines Limited)。
  • 其历史上著名的产品是Macintosh Apple [GS]由ARM处理器运行,命运不佳的Newton便携式笔记记录设备也是如此。(不是因为处理器而命运,而是因为市场时机)

什么是RISC机器?简要概述

值得一提的是,因为RISC的名称暗示了这一概念!还有助于讨论某些硬件选择的来源以及对这种处理器性能的要求。

  • RISC是“精简指令集计算机”的首字母缩写,与CISC机器(复杂指令集计算机)形成对比。
  • RISC声称与CISC相比具有简单性:
    • 固定的32位指令大小而不是变量
    • GPR 32位寄存器的大型寄存器组
    • 易于原型制作和组装
  • RISC组织:
    • 硬连线指令解码逻辑,而不是微码ROM进行解码
    • 流水线执行
    • 可能执行单周期
  • RISC的优势
    • 较小的模具尺寸
    • 开发时间短
    • 可能比CISC更高的性能
    • 单周期高时钟速率
  • RISC的缺点
    • 通常,代码密度低于CISC
    • 无法执行x86代码,至少没有转换和性能缺陷

什么使ARM体系结构如此特别?

这种销售方式是这样的:“ ARM架构具有业界最佳的MIPS与瓦特比以及最佳的MIPS与$比;最小的CPU裸片尺寸;所有必需的计算能力以及低功耗,高度灵活且可定制的处理器集可以选择,而所有这些都是低成本的。”

这到底意味着什么? 让看看是否可以帮助澄清问题。

是一个简单的硬件设计,许多东西可以保留在芯片之外,例如FP乘法器作为选件,再加上是RISC流水线体系结构,这一切都有助于创建带有芯片的芯片。模具尺寸非常小。

小芯片尺寸转化为低成本,因为芯片的大部分成本与芯片面积成正比。

具有较小的裸片面积和简单的流水线构造允许ARM芯片的另一个主要优点。设计人员能够使用更少的硬件并做出更好的硬件决策,以减少处理器的功耗。

体积小,成本低和功耗低导致嵌入式应用成为当今ARM处理器最常见的用途之一。诸如手机或PDA(个人数字助理)之类的嵌入式环境需要此体系结构提供的那些好处。当然,必须在性能,成本和尺寸之间进行权衡。但是,ARM非常适合此类。具有非常小的管芯尺寸,尽管性能不是最先进的,但仍足以胜任当前的工作,最重要的是,便宜且功耗低。

如何才能以低廉的价格获得性能,低功率和简单性?

促成这一主张成立的一个重要因素是其采用不太花哨的5级流水线的简单设计。但是,其影响因素如下。

ARM制造商已经能够应用称为Thumb的指令集,该指令集采用32位指令并将其压缩为16位。这种策略使程序的编码比标准RISC指令集更密集,更不用说缩减硬件的某些部分了。

启用以使用Thumb的处理器还允许32位指令在同一处理器上运行。实际上,可以将16位和32位指令混合在一起,并且硬件将能够在不影响性能的情况下同时进行解码和解压缩,从而保持强大的计算能力。

通过具有许多可用配置的简单,小型结构,可将成本降至最低。较小意味着硅更少,每个晶片的产量更高。

简单的管道和指令集使学习,优化和构建变得更加容易,从而再次节省了成本。

不是都需要ARM吗?的更多相关文章

  1. iOS逆向工程之Hopper中的ARM指令

    虽然前段时间ARM被日本软银收购了,但是科技是无国界的,所以呢ARM相关知识该学的学.现在看ARM指令集还是倍感亲切的,毕竟大学里开了ARM这门课,并且做了不少的实验,当时自我感觉ARM这门课学的还是 ...

  2. 深入了解DSP与ARM的区别与联系

    http://www.eeboard.com/bbs/thread-25219-1-1.html ARM微处理器的体系结构 了解DSP的体系结构 深入了解DSP与ARM的区别与联系 2011-09-3 ...

  3. ARM 开发工具 Keil和DS-5的比较。

    http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...

  4. Azure ARM (3) ARM支持的服务类型

    <Windows Azure Platform 系列文章目录> 我们在使用ARM创建资源的时候,首先要确认哪些Azure服务,支持ARM模式. 具体内容,我们可以参考连接:https:// ...

  5. Azure ARM (10) ARM模式下的虚拟机和Classic Model虚拟机的区别

    <Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 请读者注意,在Azure ARM平台,有两种虚拟机模式:经典虚拟机和ARM虚拟机 A ...

  6. ios系统的中arm指令集

    arm结构处理器,几乎所有的手机都基于arm,其在嵌入式系统中应用非常广泛. ARM 处理器因为低功耗和小尺寸而闻名,它的性能在同等功耗的产品中也很出色.这里我们注意一点,模拟器并不运行arm代码,软 ...

  7. 入门 ARM 汇编(一)—— 知识铺垫

    我读着史铁生的散文,零碎的牵扯起我生命中不曾出现过的记忆,一如北方的黄山厚土之中悠忽而来的忧伤的信天游,那些灿若信仰一样的阳光以及阳光下虔诚的子民.我想有一次远行,于细碎流淌的时光与路途之中,观察所有 ...

  8. ARM异常中断处理

    ARM异常中断处理 在ARM体系中,通常有以下3种方式控制程序的执行流程: 在正常程序执行过程中,每执行一条ARM指令,程序计数器寄存器(PC)的值加4个字节:每执行一条Thumb指令,程序计数器寄存 ...

  9. arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别

    命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch – 体系架构,如ARM,MIPSvendor – 工具链提供商os – 目标操作系统 ...

随机推荐

  1. hdu4814 模拟(黄金分割进制转换)

    题意:       给你一个十进制数,让你把他转化成Q进制数,Q是黄金分割比 = (1+√5)/2. 思路:        首先要明确的就是虽然q是实数,但是依然可以转换成q进制数,因为任何数num, ...

  2. 逆向工程第004篇:跨越CM4验证机制的鸿沟(中)

    一.前言 在上一篇文章的最后,我已经找出了关键的CALL语句,那么这篇文章我就带领大家来一步一步地分析这个CALL.我会将我的思路完整地展现给大家,因此分析过程可能略显冗长,我会分为两篇文章进行讨论. ...

  3. php 获取某年后的日期

    比如两年后:date('Y-m-d',strtotime('+2 year')) 月份year改成month

  4. 使用git rebase去掉无谓的融合

    git pull 預設的行為是將遠端的 repo. 與本地的 repo. 合併,這也是 DVCS 的初衷,將兩個 branch 合併.但是,很多時候會發生以下這種情形: 這是因為,我們團隊的開發模式是 ...

  5. 如何通过Zoho Books门户管理供应商

    作为一个企业,不管规模大小,都有自己的供应商来为业务提供相关的服务和配件.随着采购的频率和供应商数量的增加,采购的管理和付款的跟踪难度就会增加,进而影响到企业和供应商之间的关系. 为了解决这个问题,Z ...

  6. opencv——轮廓发现与轮廓(二值图像)分析

    引言 二值图像分析最常见的一个主要方式就是轮廓发现与轮廓分析,其中轮廓发现的目的是为轮廓分析做准备,经过轮廓分析我们可以得到轮廓各种有用的属性信息. 这里顺带提下边缘检测,和轮廓提取的区别: 边缘检测 ...

  7. Spring循环依赖问题的解决

    循环依赖问题 一个bean的创建分为如下步骤: 当创建一个简单对象的时候,过程如下: 先从单例池中获取bean,发现无 a 创建 a 的实例 为 a 赋值 把 a 放到单例池中 当创建一个对象并且其中 ...

  8. Redis泛泛而谈(详细2W字)

    本文适合于刚接触redis的,文章内容比较基础,大佬请绕道. 一.NoSQL入门和概述 Ⅰ-入门概述 1.为什么用NoSQL 1)单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单 ...

  9. laravel 伪静态实现

    Route::get('show{id}.html',['as'=>'products.detail','uses'=>'companyController@show']) ->wh ...

  10. qemu:///system 没有连接驱动器可用;读取数据时进入文件终点: 输入/输出错误

    原因 1. KVM的相关包 装少了 2KVM的相关包 重新安装 3 May 31 15:22:55 localhost libvirtd: 2019-05-31 07:22:55.554+0000: ...