ARM简述

  ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。ARM技术具有很高的性能和功效,因而容易被厂商接受。同时,合作伙伴的增多,可获得更多的第三方工具、制造和软件支持,这又会使整个系统成本降低,让产品进入市场的时间加快,从而具有更大的竞争优势。

一、ARM技术的应用领域及其特点

  采用ARM技术IP核的微处理器遍及汽车、消费电子、成像、工业控制、海量存储、网络、安保和无线等各类产品市场。

1.什么是IP核?

  IP核是指拥有知识产权的控制功能单元。(IP核是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。利用IP核设计电子系统,引用方便,修改基本元件的功能容易。具有复杂功能和商业价值的IP核一般具有知识产权,尽管IP核的市场活动还不规范,但是仍有许多集成电路设计公司从事IP核的设计、开发和营销工作。IP核有两种,与工艺无关的VHDL程序称为软核;具有特定电路功能的集成电路版图称为硬核。)

 

2.ARM相关的各种版本号及命名

  ARM的三种版本号:ARM体系版本(内核版本号)、ARM处理器版本(SoC<System on Chip>版本号)、芯片型号。

  ARM体系版本(内核版本号):ARMv1    、...   、      ARMv4    、ARMv5     、ARMv6    、ARMv7

  ARM处理器版本:    .....       、    、    ARM7\ARM9    、ARM9+xScale 、ARM11    、Cortex-M\Cortex-A\Cortex-R 

  芯片型号:            .....        、S3C44B0\S3C2440 和2410、       、S3C6410   、...\S5PV210\...

*值得注意的是:在ARMv7版本开始,ARM处理器版本分成了Cortex-M\Cortex-A\Cortex-R这三个系列

  Cortex-M:M(microctroller)  主要用于单片机,比如STM32;

  Cortex-A:A(Application)   主要用于手机,平板等等;

  Cortex-R:R(Realtime)   主要用于工业,航天方面;

 二、一些需要知道的事儿

 

1.可编程器件

  可编程器件是由ASIC <Application Specific Integrated Circuit 特定用途集成电路> 发展而来的。CPU就属于可编程器件(cpu内部电路对二进制文件解码)

2.可编程器件的特点

  1).cpu在固定的始终频率控制下节奏运行。

  2).cpu可以通过总线读取外部存储设备中的二进制指令集,然后解码,cpu内部电路对二进制文件进行解码。

  *** 这些可以被cpu解码执行的二进制指令集是cpu设计时就确定了的,是cpu的设计者(ARM公司)定义的,本质上是一串0或1组成的数字,这就是cpu 的汇编指令集。

总结: 为什么可编程器件可以编程?

  由于cpu是在固定的始终频率控制下节奏运行,并且可以通过总线从外部存储设备读取二进制指令集,然后解码执行,因为这些指令集是cpu的设计者通过的,所以我们可以通过提供的这些指令集去达到我们编程的目的。

3.指令集对cpu的意义

  汇编的实质是机器指令的助记符。机器指令(二进制)集是一款cpu的编程特征,是这款cpu的设计者制定的。cpu的内部电路就是为了实现这些指令集的功能。机器指令集就好像cpu的API接口一样。不同的cpu机器指令集设计不同,因此汇编程序不能在不同cpu的机器互相移植。

4.RISC和CISC的区别

 * RISC<Reduced Instruction Set Computer>精简指令集计算机

  RISC的设计理念:让软件来完成具体的任务,cpu本身仅提供基本的指令集,功能扩展有使用cpu的人利用基础架构来灵活实现

 * CISC<Complex Instruction Set Computer>复杂指令集计算机

  CISC的设计理念:用最少的指令来完成任务,cpu的扩展依赖指令集的扩展。实质是cpu内部组合逻辑电路的扩展

5.cpu访问各种外设的两种方式:统一编址,独立编址

***统一编址和独立编址各自的优缺点

  统一编址:因为是像访问内存一样通过地址去访问IO,所以访问简单,但是却占用了cpu的地址空间,而cpu的地址空间是有限的资源。

  独立编址:优点是不占用cpu的地址空间,缺点是cpu的设计就变复杂了。

  

6.什么是内存?什么是IO?

  内存是程序运行的场所。

  IO是输入输出接口,是cpu和其他外部设备之间的通道,一般IO就是指cpu的各种内部或外部设备

7.软件控制硬件的关键-寄存器

  1.什么是寄存器?

    寄存器是一个硬件模块,寄存器有两类:通用寄存器和特殊功能寄存器(SFR)

    通用寄存器(ARM中37个)是cpu的组成部分

    特殊功能寄存器:不在cpu中,存在于cpu的外设中,我们通过访问外设的SFR来编程操控这个外设,这就是硬件编程控制的方法

1.ARM的基础知识的更多相关文章

  1. ARM处理器基础知识

    1.ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 http://blog.chinaunix.net/uid-28458801-id-3494646.html 2.ARM的7种工作模式. ...

  2. 驱动实现led,pwm和中断基础知识

    2015.4.8星期三 晴天 今天老师讲的内容是内核编写led和pwm驱动,实现花样灯和放歌的功能.理解应用和驱动的对接,最后自己实现了在放歌的时候根据歌曲的节奏亮灭一个小灯,应为两个独立的驱动都已经 ...

  3. 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能

    本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...

  4. 嵌入式系统基础知识(一): 系统结构和嵌入式Linux

    目录 一. 嵌入式体系结构 二. 开发过程中的分工 三. 嵌入式软件体系结构 四. 嵌入式Linux 一. 嵌入式体系结构 <嵌入式系统设计师教程>这本书的前三章脉络很清晰, 按照嵌入式系 ...

  5. jni的一些基础知识和概念

    11.1基础知识 JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? |-  ...

  6. 计算机科学基础知识(一)The Memory Hierarchy

    一.前言 最近一个问题经常萦绕在我的脑海:一个学习电子工程的机械师如何称为优秀的程序员?(注:本文作者本科学习机械设计,研究生转到电子工程系学习,毕业后却选择了系统程序员这样的职业).经过思考,我认为 ...

  7. 重拾C语言基础知识

    从实习到工作两年多的时间了,虽然感觉学到了很多知识,但是事实上却将立足之本的基础知识给忘了个精光.也许跟自己没有出去找工作有关,没有好好的将C语言的基础牢牢掌握. 从现在开始吧!好好的重温基础,做一名 ...

  8. [Linux 001]——计算机和操作系统的基础知识

    在正式开始学习 Linux 操作系统之前,有必要先回顾/学习一下计算机和操作系统的基本知识,为我们在后续的学习中铺路搭桥,在了解计算机一些基础原理的条件下再去进行学习,理解应该会更透彻一些.我会从一个 ...

  9. 嵌入式Linux基础知识

    一.构建嵌入式开发环境 1.编译bootloader并烧写到板子中---uboot, 可以自己定制bootloader and logo 2.编译file system 并烧写--内嵌APP 3.编译 ...

随机推荐

  1. RadioButtonFor绑定值

    <div class="form-group"> <label class="control-label col-md-2">是否< ...

  2. web设计中那些因素可能影响网站后期优化

    web设计中那些因素可能影响网站后期优化. 1.网站代码的简洁实用性.网站源文件html代码.js代码.css代码等应尽可能的压缩处理.能用jquery-min.js的最好不要用jquery.js:c ...

  3. C# 属性控件2

    PropertyGrid,.net框架下的一个控件,这是一个软件升级的项目,原来的软件用的是C++,控件用的还是第三方,这次升级到visual studio .net4.0版本,原以为.net的东西用 ...

  4. Gulp构建前端自动化项目

    类似于Grunt,gulp是另一个同样功能很强大的前端项目自动化利器. 下面是项目的效果:

  5. NGUI 屏幕自适应

    雨松MOMO 2014年05月04日 于 雨松MOMO程序研究院 发表  现在用unity做项目 90%都是用NGUI,并且我个人觉得NGUI应该算是比较成熟的UI插件,虽然他也存在很多问题,但是至少 ...

  6. The Swift Programming Language 英文原版官方文档下载

    The Swift Programming Language 英文原版官方文档下载 今天Apple公司发布了新的编程语言Swift(雨燕)将逐步代替Objective-C语言,大家肯定想学习这个语言, ...

  7. 《深入浅出Node.js》第8章 构建Web应用

    @by Ruth92(转载请注明出处) 第8章 构建Web应用 一.基础功能 请求方法:GET.POST.HEAD.DELETE.PUT.CONNECT GET /path?foo=bar HTTP/ ...

  8. kafka性能基准测试

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 1.测试环境 该benchmark用到了六台机器,机器配置如下 l  IntelXeon 2.5 GHz processo ...

  9. 【转】家庭wifi覆盖指导

    网址:家庭wifi覆盖指导 私以为,目前民用 wifi 路由器市场已经完全走上了邪路.天线越来越大,发射功率越做越高.都敢冒着法律的风险使用大大超过 100mW 的发射功率了.且不论巨大的发射功率可能 ...

  10. Bullet核心类介绍(Bullet 2.82 HelloWorld程序及其详解,附程序代码)

    实验平台:win7,VS2010 先上结果截图: 文章最后附有生成该图的程序. 1. 刚体模拟原理 Bullet作为一个物理引擎,其任务就是刚体模拟(还有可变形体模拟).刚体模拟,就是要计算预测物体的 ...