ARM处理器介绍

Linux子系统

1)进程管理:管理进程的创建、调度、销毁等

2)内存管理:管理内存的申请、释放、映射等

3)文件系统:管理和访问磁盘中的文件

4)设备管理:硬件设备及驱动的管理

5)网络协议:通过网络协议栈(TCP、IP...)进行通信

计算机组成

1)输入设备

    把其他信号转换成计算机能识别和处理的信号并送入计算机中

    如键盘、鼠标、摄像头等

2)输出设备

    把运算结果以人或其他设备所能接受的形式送出计算机外

    如显示器、音响、打印机等

3)存储器

    存储器是用来存储程序和数据的部件,是实现"存储程序控制"的基础

如内存、硬盘等

4)运算器

    CPU中负责进行算数运算和逻辑运算的部件,其核心是算术逻辑单元ALU

5)控制器

    控制器是CPU的指挥中心,其控制着整个CPU执行程序的逻辑过程

注:运算器和控制器共同组成了CPU

总线

  1. 总线:总线是计算机中各个部件之间传送信息的公共通信干线, 在物理上就是一束导线按照其传递信息的类型可以分为数据总线、地址总线、控制总线
  2. DMA总线:DMA(Direct Memory Access)即直接存储器访问,使用DMA总线可以不通过CPU直接在存储器之间进行数据传递

三级存储结构

1)辅助存储器:速度最慢、价格最低、容量最大、断电数据不丢失、cpu不可直接访问(硬盘)

2)主存储器:容量介于Cache与辅存之间、断电数据丢失、cpu可直接访问,存储当前正在执行的程序和数据(内存)

3)Cache:存储当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据(高速缓存)

地址空间:一个处理器能够访问(读写)的存储空间是有限的,我们称这个空间为它的地址空间(寻址空间),一般来说N位地址总线的处理器的地址空间是2的N次方。

CPU工作原理概述

运算器和控制器组成CPU

指令执行分为三个阶段

1)取值:CPU将PC寄存器中的地址发送给内存,内存将其地址中对应的指令返回

       到CPU中的指令寄存器(IR)

  1. 译码:译码器对IR中的指令进行识别,将指令(机器码)解析成具体的运算

3)执行:控制器控制运算器中对应的运算单元进行运算,运算结果写入寄存器

每执行一条指令后PC的值会自动增加指向下一条指令

SOC:片上系统,将一个系统中所需要的全部部件集成在一个芯片中

指令

能够指示处理器执行某种运算的命令称为指令(如加、减、乘 ...)

指令在内存中以机器码(二进制)的方式存在

每一条指令都对应一条汇编,汇编就是用一个字符代表二进制码,汇编指令与机器码一一对应的

程序是指令的有序集合

指令集

处理器能识别的指令的集合称为指令集

    不同架构的处理器指令集不同

指令集是处理器对开发者提供的接口

大多数ARM处理器都支持两种指令集:

1)ARM指令集

所有指令(机器码)都占用32bit存储空间

    代码灵活度高、简化了解码复杂度

执行ARM指令集时PC值每次自增4

2)Thumb指令集

所有指令(机器码)都占用16bit存储空间

代码密度高、节省存储空间

执行Thumb指令集时PC值每次自增2

编译原理

1)机器码(二进制):不同的机器码代表不同的运算指令,处理器能够识别哪些机器码是由处理器的硬件设计所决定的,不同的处理器机器码不同,所以机器码不可移植

2)汇编语言:即汇编就是用一个符号来代替一条机器码,所以不同的处理器汇编也不一样,即汇编语言也不可移植

3)C语言在编译时我们可以使用不同的编译器将C源码编译成不同架构处理器的汇编,所以C语言可以移植

ARM存储模型

ARM采用32位架构(单次处理数据的能力),基本数据类型有以下三种:

Byte         8bits

Halfword     16bits

Word        32bits

字节序

大端对齐:低地址存放高位,高地址存放低位

小端对齐:低地址存放低位,高地址存放高位

ARM指令存储

处理器处于ARM(是32位的)状态时:所有指令在内存的起始地址必须是4的整数倍

处理器处于Thumb(因为是16位的)状态时:所有指令在内存的起始地址必须是2的整数倍

ARM工作模式

ARM有8种基本的工作模式:

User 非特权模式,一般在执行上层的应用程序时ARM处于该模式(用户模式)

       FIQ 当一个高优先级中断产生后ARM将进入这种模式(快速中断模式)

       IRQ 当一个低优先级中断产生后ARM将进入这种模式(普通中断模式)

       SVC 当复位或执行软中断指令后ARM将进入这种模式

       Abort     当产生存取异常时ARM将进入这种模式(终止模式)

       Undef     当执行未定义的指令时ARM将进入这种模式

       System   使用和User模式相同寄存器集的特权模式(系统模式)

       Monitor  为了安全而扩展出的用于执行安全监控代码的模式(监控模式)

User为非特权模式(权限较低),其余模式均为特权模式(权限较高)

FIQ、IRQ、SVC、Abort、Undef属于异常模式,即当处理器遇到异常后会进入对应的模式

不同模式拥有不同权限

不同模式执行不同代码

不同模式完成不同的功能

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值