12.2 ARM处理器概论

目录

ARM处理器概述

ARM公司概述

ARM的含义

ARM公司

ARM产品系列

早先经典处理器

Cortex-A系列

Cortex-R系列

Cortex-M系列

RISC处理器

RISC处理器(精简指令集处理器)

CISC处理器(复杂指令集处理器)

ARM指令集概述

指令集

指令

指令集

ARM指令集

ARM指令集

Thumb指令集

编译原理

ARM存储模型

字节序

ARM指令存储

ARM工作模式

ARM工作模式

工作模式的理解

ARM工作模式分类


ARM处理器概述

ARM公司概述
ARM的含义

ARM(Advanced RISC Machines)有三种含义

一个公司的名称、一类处理器的通称、一种技术

ARM公司

成立于1990年11月,前身为Acorn计算机公司

主要设计ARM系列RISC处理器内核

授权ARM内核给生产和销售半导体的合作伙伴,ARM公司并不生产芯片

提供基于ARM架构的开发设计技术软件工具、评估板、调试工具、应用软件 总线架构、外围设备单元等

ARM产品系列
早先经典处理器

包括ARM7、ARM9、ARM11家族

Cortex-A系列

针对开放式操作系统的高性能处理器 应用于智能手机、数字电视、智能本等高端运用

Cortex-R系列

针对实时系统、满足实时性的控制需求 应于汽车制动系统、动力系统等

Cortex-M系列

为单片机驱动的系统提供了低成本优化方案 应用于传统的微控制器市场、智能传感器、汽车周边等

 

RISC处理器
RISC处理器(精简指令集处理器)

只保留常用的的简单指令,硬件结构简单,复杂操作一般通过简单指令的组合实现,一般指令长度固定,且多为单周期指令 RISC处理器在功耗、体积、价格等方面有很大优势,所以在嵌入式移动终端领域应用极为广泛

CISC处理器(复杂指令集处理器)

不仅包含了常用指令,还包含了很多不常用的特殊指令,硬件结构复杂,指令条数较多,一般指令长度和周期都不固定

CISC处理器在性能上有很大优势,多用于PC及服务器等领域

ARM指令集概述

指令集
指令

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

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

每一条指令都对应一条汇编

程序是指令的有序集合

指令集

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

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

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

ARM指令集

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

这两种指令集在 ARM架构中处理器可以在ARM和thumb之间进行切换,两者可以在统一程序中混合使用

ARM指令集

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

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

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

Thumb指令集

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

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

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

编译原理

由于类似于“0101“的机器码难以维护,难以记忆,所以有了汇编语言,汇编语言与机器码一一对应,如将add对应0101的加,方便读、写、维护,但是汇编语言不可移植,因为其与CPU处理器中的机器元器件的机器码一一对应,所以有了高级语言C语言可以移植依赖于编译器

预处理:将注释进行删除,宏定义进行展开

编译:将C语言变为汇编语言

汇编:将汇编语言编程机器码

链接:将机器码与库中机器码合成

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

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

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

ARM存储模型

ARM采用32位架构,基本数据类型有以下三种

Byte 8bits

Halfword 16bits

Word 32bits

32位架构,单次可以运算32位的数据

数据存储

Word型数据在内存的起始地址必须是4的整数倍

Halfword型数据在内存的起始地址必须是2的整数倍

即数据本身是多少位在内存存储时就应该多少位对齐

字节序

大端对齐

低地址存放高位,高地址存放低位

a = 0x12345678;

小端对齐

低地址存放低位,高地址存放高位

a = 0x12345678;

注:ARM一般使用小端对齐

ARM指令存储

处理器处于ARM状态时

所有指令在内存的起始地址必须是4的整数倍

PC值由其[31:2]决定,[1:0]位未定义

处理器处于Thumb状态时

所有指令在内存的起始地址必须是2的整数倍

PC值由其[31:1]决定,[0]位未定义

注:即指令本身是多少位在内存存储时就应该多少位对齐

ARM工作模式

ARM工作模式

ARM有8个基本的工作模式

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

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

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

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

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

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

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

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

工作模式的理解

不同模式拥有不同权限

不同模式执行不同代码

不同模式完成不同的功能

ARM工作模式分类

按照权限

User为非特权模式(权限较低),防止系统崩溃,其余模式均为特权模式(权限较高)

按照状态

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值