前言

最近我感觉自己比较浮躁,重来没有好好地沉下心来做一件事情,而且针对自己在专业水平上仍然还有很多欠缺,于是我想我应该为自己做些什么来证明一下自己真的是潜心研究东西的人,于是我萌生了一个想法,真正地写一系列的博客,将ARM的结构体系完完全全地梳理一遍!虽然是学过了,但是学得应该仅仅是皮毛吧!正好趁着自己还有时间,为什么不做一个自己想认真做的事情呢?

系列博客的介绍

博客园里面的大神们都很多,有许多人对Linux、ARM等都有相应的了解,因而,如果你是老鸟的话,就当飘过啦,如果你是新手的话,哈哈,那么现在正是为你而准备的大餐了!

准备的博客如下:

  • ARM概述
  • ARM指令系统分类及其寻址方式
  • 掌握ARM指令集
  • ARM汇编语言
  • C\C++以及汇编语言的混合编程
  • 异常中断处理

这些仅仅是大类,那么细节方面我会慢慢的补充的!

ARM概述——ARM的历史与应用范围

那么首先我会介绍一下ARM的历史与应用范围作为第一篇博客,意在为系列博客开个头吧!不对,我忘了说ARM概述底下我会提供哪些东西了!

ARM概述系列的目录

  1. 什么是ARM

    • ARM公司简介及应用的领域
    • ARM的体系版本
    • ARM体系变种
    • ARM处理器系列
  2. ARM处理器简介
    • ARM处理器模式
    • ARM寄存器介绍
    • ARM体系异常中断简介

大概的样子就是我介绍ARM概述的轮廓了!

ARM公司历史

我想有很多人都知道有ARM这个字,那么我想问,你们知道这个词是咋么来的吗?知道它的原称是什么吗?有人说我百度一下不就知道了吗?(度娘果然是万嫩的)的确如此,但是我还是要带你走一走ARM的历史道路!

  • 1978年的时候,Hermann Hauser 和Chris Curry两基友在英国剑桥创办了CPU公司
  • 1979年,CPU公司改名为Acorn计算机公司

值得一提的是,当时两基友想用摩托罗拉公司的16位芯片来着,然后发现500的机子,居然他么的100是用来买芯片,两穷屌就苦逼了,要找便宜的呀,于是向Intel公司要80286芯片设计资料,Intel多牛逼的公司啊,压根儿就看不起这两穷屌,坚决不给资料!(为何我都有种深切的带入感)于是只能自己研究了,这梁子就结大发了,当ARM翻身当老大的时候,Intel真的哭了!Acorn就是ARM的前身!

  • 1985年,Roger Wilson和Steve Furber设计了他们自己的第一代32位、6M Hz的处理器,用它做出了一台RISC指令集的计算机,简称ARM(Acorn RISC Machine)。这就是ARM这个名字的由来

RISC 就是精简指令操作系统,Acorn终于有了突破,这个时代可能ARM不是最强,但是ARM将带来新的世界

  • 1990年11月27日,Acorn公司正式改组为ARM计算机公司。(终于ARM公司正式成立了,Intel给老子等着!)
  • 20世纪90年代,将设计方案授权(licensing)给其他公司

在此之前呢,ARM公司都在干生产芯片的事,我造,我造,我一直造,但是Intel厂比你多,封闭式的技术创造比你牛逼啊?ARM始终干不过人家啊!

ARM公司郁闷了,我不信了,凭什么我就干不过人家呢?于是ARM公司想啊,当时我们是咋么发展起来的,就是这些老的企业把握技术不给我们,只能自己研究了,那么我们号召全世界的人一起参与我们的芯片设计与生产,Intel公司有多牛啊?能干得过全世界的人们?(高手永远都在民间啊!)于是ARM公司搞了一个超级牛逼的方案(授权)

那么有多少家公司在这个过程中得到了授权呢?(等下,貌似还漏了一个人,乔帮主,靠,苹果公司的眼光不是一般的牛逼啊!投资ARM公司150万英镑给ARM公司进行改组,乔帮主牛逼哄哄地说:“有钱,任性”,因此苹果公司敢自己造A7,A8芯片啊!)

Atmel、Broadcom、Cirrus Logic、Freescale(于2004从摩托罗拉公司独立出来)、Qualcomm、富士通、英特尔(借由和Digital的控诉调停)、IBM,英飞凌科技,任天堂,恩智浦半导体(于2006年从飞利浦独立出来)、OKI电气工业,三星电子,Sharp,STMicroelectronics,德州仪器和VLSI等许多这些公司均拥有各个不同形式的ARM授权。

ARM的应用领域

ARM的应用可以说是,涉及到了我们生活的方方面面。

  • 无线设备:手机、pda
  • 无线蓝牙:德州仪器的CC2540就是
  • 联网:ADSL芯片组
  • 消费电子:MP3\MP4 数字机顶盒 游戏机
  • 汽车:驾驶、安全和车载娱乐系统
  • 存储设备:硬盘、闪存卡
  • 成像:打印机、扫描仪
  • 安全产品:32位SIM卡

今天就到这里了!欢迎关注连载!求关注,求follower!

ARM的体系结构与编程系列博客——ARM的历史与应用范围的更多相关文章

  1. ARM的体系结构与编程系列博客——ARM处理器系列介绍

    ARM处理器系列介绍 现在到了3月,过年过得过于舒服了.系列博客也停更了近半月,我果然是个慢(lan)性(gui)子,那么趁着到校的第一天晚上,就写一篇博客来继续我的系列博客了!众所周知,ARM处理器 ...

  2. ARM的体系结构与编程系列博客——ARM体系版本

    ARM体系版本前言 很多人都知道,ARM有许多版本,口中最长说的就是ARM7\ARM9\ARM11,诚然,这个的确是ARM处理器的版本,但绝对不是ARM的版本,其实ARM到迄今为止经历了6代版本,随着 ...

  3. ARM的体系结构与编程系列博客——ARM体系变种

    ARM体系变种的简介 有人会很奇怪一件事情,ARM居然会变种,不会是基因突变了吧,呵呵,其实ARM变种通俗一点来讲呢,就是ARM突然具备了一种特定的功能!并非是基因突变哦!ARM是reboot好不好? ...

  4. 窥探Swift系列博客说明及其Swift版本间更新

    Swift到目前为止仍在更新,每次更新都会推陈出新,一些Swift旧版本中的东西在新Swift中并不适用,而且新版本的Swift会添加新的功能.到目前为止,Swift为2.1版本.去年翻译的Swift ...

  5. Flutter 即学即用系列博客——03 在旧有项目引入 Flutter

    前言 其实如果打算在实际项目中引入 Flutter,完全将旧有项目改造成纯 Flutter 项目的可能性比较小,更多的是在旧有项目引入 Flutter. 因此本篇我们就说一说如何在旧有项目引入 Flu ...

  6. Django 系列博客(四)

    Django 系列博客(四) 前言 本篇博客介绍 django 如何和数据库进行交互并且通过 model 进行数据的增删查改 ORM简介 ORM全称是:Object Relational Mappin ...

  7. JavaScript 系列博客(一)

    JavaScript 系列博客(一) 前言 本系列博客为记录学习 JavaScript 的学习笔记,会从基础开始慢慢探索 js.今天的学习笔记主要为 js 引入.定义变量以及 JavaScript 中 ...

  8. C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET

    C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...

  9. Flutter 即学即用系列博客——05 StatelessWidget vs StatefulWidget

    前言 上一篇我们对 Flutter UI 有了一个基本的了解. 这一篇我们通过自定义 Widget 来了解下如何写一个 Widget? 然而 Widget 有两个,StatelessWidget 和 ...

随机推荐

  1. Android-DateUtil工具类

    时间相关工具类 public class DateUtil { private DateUtil(){} /** * 枚举日期格式 */ public enum DatePattern{ /** * ...

  2. Android-AppUtils工具类

    常用APP的工具类,包含版本号.版本名称.安装的应用程序ICON public class AppUtils { private AppUtils(){} /** * 设置状态栏的颜色 * @para ...

  3. C++ 补遗

    C++通过引用传递数组 数组形参可以声明为数组的引用.如果形参是数组的引用,编译器不会将数组实参转化为指针,而是传递数组的引用本身. 在这种情况下,数组大小成为形参和实参类型的一部分(实参长度与形参长 ...

  4. .net core Memcached使用

    首先,你要在你电脑上安装配置好Memcached环境哦 Startup类的ConfigureServices中加入 //memcachedcore1 services.AddEnyimMemcache ...

  5. xt

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. 20164317《网络对抗技术》Exp4 恶意代码分析

    1.实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systr ...

  7. KMP Demo

    The key of Kmp is to build a look up table that records the match result of prefix and postfix. Valu ...

  8. hdoj1072 Nightmare(bfs)

    题目大意: 在迷宫中有一个炸弹,过六个单位时间就会爆炸,要你求一个起点到迷宫的终点的最短距离,迷宫中有时间重置器,当你走到这个格子,炸弹的爆炸时间重新置为0,迷宫中标识为墙壁的格子不能走,到达任意一个 ...

  9. 2018年Android面试题含答案--适合中高级(下)

    这里是我整理出来的面试题,答案我花了很久的时间.加上我自己的理解整理出来的,作者不易,请谅解.有答案的的:https://xiaozhuanlan.com/topic/6132940875   1.A ...

  10. POST 400 (BAD REQUEST)

    遇到这种错,1,F12打开控制台,2,点击network,找到发送的请求. 3,点击请求,4,看右侧的 Header Preview Response 应该能找到原因. 就拿刚才来说,找了好几个小时原 ...