前言

最近我感觉自己比较浮躁,重来没有好好地沉下心来做一件事情,而且针对自己在专业水平上仍然还有很多欠缺,于是我想我应该为自己做些什么来证明一下自己真的是潜心研究东西的人,于是我萌生了一个想法,真正地写一系列的博客,将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开源库集合(控件)

    RecycleView: RecycleView功能增强 https://github.com/Malinskiy/SuperRecyclerView RecycleView功能增强(拖拽,滑动删除, ...

  2. .net4.0重新注册IIS 的方法

    操作步骤如下: 1.开始 2.运行 3.cmd 4.cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 5.aspnet_regiis.exe -i

  3. SQL处理数据并发,解决ID自增

    1 创建MaxIdProcess表,由于存储ID的最大值 CREATE TABLE [dbo].[MaxIdProcess]( ,) NOT NULL, --自增ID ) NOT NULL, --存储 ...

  4. PropertyPlaceHolderConfigurer中的location是不是用错了?

    本文由作者张远道授权网易云社区发布. spring中常用PropertyPlaceHolderConfigurer来读取properties配置文件的配置信息.常用的配置方式有两种,一种是使用loca ...

  5. python 返回数组的索引

    使用python里的index nums = [1, 2, 3, 4, 5, 6, 1, 9] print nums.index(max(nums)) print nums.index(1) 该方法同 ...

  6. jQuery基础笔记(1)

    day54 参考:https://www.cnblogs.com/liwenzhou/p/8178806.html 1. 为什么要学jQuery?  MySQL Python              ...

  7. web安全之——XSS、CSRF

    XSS漏洞 XSS 全称 Cross Site Scripting ,跨站脚本攻击.它的形成主要原因是多数用户输入没有转义,而被直接执行. 参考下面一段脚本: $('#box').html(locat ...

  8. 【LeetCode】390. 消除游戏

    题目 给定一个从1 到 n 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直 ...

  9. 用postman做接口测试实例

    使用postman做接口测试,可以选择请求方式,可以直接输入参数和header,可以编写测试结果的代码,判断是否通过测试 下图为填写接口测试地址.填写接口的参数,点击send发送请求 其中,Param ...

  10. 原生Js弹窗插件|web弹出层组件|对话框

    wcPop.js 是一款基于原生javascript开发的前端 web版 弹窗组件,遵循原生 H5/css3/JS 的书写规范,简单实用.拿来即用(压缩后仅10KB).已经兼容各大主流浏览器.内含多种 ...