目录
一、ARM处理器概述
1.ARM的含义
2.ARM公司
3.主流的两种处理器
RISC处理器(精简指令集)
CISC处理器(复杂指令集)
4.SOC
二、ARM指令集概述
1.指令与指令集
指令
指令集
2.ARM指令集
ARM指令集
Thumb指令集
3.编译原理
三、ARM存储模式
1.ARM数据类型
ARM采用32位架构,基本数据类型有以下三种
数据存储
2.字节序
3.ARM指令存储
处理器处于ARM状态时
处理器处于Thumb状态时
四、ARM工作模式
1.八种工作模式
2.模式间的区别
3.工作模式分类
按照权限
按照状态
一、ARM处理器概述
1.ARM的含义
ARM(Advanced RISC Machines)有三种含义
一个公司的名称、一类处理器的通称、一种技术
2.ARM公司
> 成立于1990年11月,前身为Acorn计算机公司
> 主要设计ARM系列RISC处理器内核
> 授权ARM内核给生产和销售半导体的合作伙伴,ARM公司并不生产芯片
> 提供基于ARM架构的开发设计技术软件工具、评估板、调试工具、应用软件
总线架构、外围设备单元等
3.主流的两种处理器
RISC处理器(精简指令集)
只保留常用的的简单指令,硬件结构简单,复杂操作一般通过简单指令的组合实现,一般指令长度固定,且多为单周期指令
RISC处理器在功耗、体积、价格等方面有很大优势,所以在嵌入式移动终端领域应用极为广泛
RISC体系结构_百度百科
CISC处理器(复杂指令集)
不仅包含了常用指令,还包含了很多不常用的特殊指令,硬件结构复杂,指令条数较多,一般指令长度和周期都不固定
CISC处理器在性能上有很大优势,多用于PC及服务器等领域
复杂指令集计算机_百度百科
4.SOC
SoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。一般说来, SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。
soc(系统级芯片)_百度百科
二、ARM指令集概述
1.指令与指令集
指令
能够指示处理器执行某种运算的命令称为指令(如加、减、乘 ...)
指令在内存中以机器码(二进制)的方式存在
每一条指令都对应一条汇编
程序是指令的有序集合
指令集
处理器能识别的指令的集合称为指令集
不同架构的处理器指令集不同
指令集是处理器对开发者提供的接口
2.ARM指令集
大多数ARM处理器都支持两种指令集:
ARM指令集
所有指令(机器码)都占用32bit存储空间
代码灵活度高、简化了解码复杂度
执行ARM指令集时PC值每次自增4
Thumb指令集
所有指令(机器码)都占用16bit存储空间
代码密度高、节省存储空间
执行Thumb指令集时PC值每次自增2
ARM指令集_百度百科
3.编译原理
编译原理_sundingh的博客-CSDN博客_编译原理
三、ARM存储模式
1.ARM数据类型
ARM采用32位架构,基本数据类型有以下三种
Byte 8bits
Halfword 16bits
Word 32bits
C语言程序在ARM处理器上跑,编译器会自动将数据类型等位转换,float类型数据可以先处理整数部分,在处理小数部分
数据存储
Word型数据在内存的起始地址必须是4的整数倍
Halfword型数据在内存的起始地址必须是2的整数倍
注:即数据本身是多少位在内存存储时就应该多少位对齐
2.字节序
第一题验证电脑是大端字节序还是小端字节序
嵌入式面试题_宇努力学习的博客-CSDN博客
3.ARM指令存储
处理器处于ARM状态时
所有指令在内存的起始地址必须是4的整数倍
PC值由其[31:2]决定,[1:0]位未定义
处理器处于Thumb状态时
所有指令在内存的起始地址必须是2的整数倍
PC值由其[31:1]决定,[0]位未定义
注:即指令本身是多少位在内存存储时就应该多少位对齐PC必须是对应指令的整数位,如果不是将相应位置自动变成0
比如ARM指令PC=7时写入111实际写入011
四、ARM工作模式
1.八种工作模式
User(用户模式) 非特权模式,一般在执行上层的应用程序时ARM处于该模式
FIQ(快速中断模式) 当一个高优先级中断产生后ARM将进入这种模式
IRQ(外部中断模式) 当一个低优先级中断产生后ARM将进入这种模式
SVC(超级用户模式) 当复位或执行软中断指令后ARM将进入这种模式
Abort(终止模式) 当产生存取异常时ARM将进入这种模式
Undef(指令未定义模式) 当执行未定义的指令时ARM将进入这种模式
System(系统模式) 使用和User模式相同寄存器集的特权模式
Monitor(监控模式) 为了安全而扩展出的用于执行安全监控代码的模式
注意:这是cortex—A9的模式,不同ARM版本模式不同
2.模式间的区别
ARM的七种工作模式-电子工程世界
3.工作模式分类
按照权限
User为非特权模式(权限较低),其余模式均为特权模式(权限较高)
按照状态
FIQ、IRQ、SVC、Abort、Undef属于异常模式,即当处理器遇到异常后
会进入对应的模式