前言

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

    一个目录下有文件,文件夹,文件夹里又有文件.文件夹....用python脚本,实现,递归删除一个目录下的所有文件: 目录结构如下: 其中我们要删除所有文件 代码实现如下: import os CUR_ ...

  2. .NET Core MemoryCache缓存获取全部缓存键

    在Core中不能使用原HttpRuntime.Cache缓存,改为MemoryCache(Microsoft.Extensions.Caching.Memory). 现MemoryCache新版为2. ...

  3. Asp .Net Core网页数据爬取笔记

    突然要用到地区数据,想到以前用python的Scrapy框架写过一个爬虫,于是打算直接去国家统计局把最新的地区数据抓取回来.本想只需要copy一下以前的代码,就可以得到新鲜出炉的数据,谁知打开以前的项 ...

  4. 《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构

    第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构 接下来,我们来看看,VS为我们自动创建的项目,是什么样子的? 可以通过菜单中[View]->[Solution Explo ...

  5. 博客迁址 xpeng.scorpionstudio.com

    这里不再更新!现在博客的正式地址是: http://xpeng.scorpionstudio.com

  6. LinkedBlockingQueue源码解析(1)

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.对于LinkedBlockingQueue需要掌握以下几点 创建 入队(添加元素) 出队(删除元素) 2 ...

  7. VC++开发Windows系统全局钩子

    本文的大部分内容属于对一篇网文的实践与练习,同时参考的还有一本书,在此向网文与书的作者表示敬意. 这个程序是一个windows系统键盘监控程序,随着开机自动启动,可以监控系统中各用户的键盘,并将按键记 ...

  8. python 进程、线程、协程感悟

    进程: 感觉只是使用Process模块加以使用即可: # -*- coding: utf-8 -*- # data:2019-02-23 21:23 # user:DIY # file:thread_ ...

  9. Atcoder Tenka1 Programmer Contest 2019题解

    传送门 \(C\ Stones\) 最后肯定形如左边一段白+右边一段黑,枚举一下中间的断点,预处理一下前缀和就可以了 int main(){ // freopen("testdata.in& ...

  10. 使用 find 命令实现高级排除需求

    使用 find 命令实现高级排除需求 Linked 关于 find 命令,本博客介绍过 atime,ctime,mtime 介绍过 --exec 参数. 介绍这些的基本需求是进行文件管理.事实上,基于 ...