1.ARM的基础知识

时间:2023-03-08 17:49:18
1.ARM的基础知识

  

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访问各种外设的两种方式:统一编址,独立编址

1.ARM的基础知识

1.ARM的基础知识

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

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

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

  

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

  内存是程序运行的场所。

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

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

  1.什么是寄存器?

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

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

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