文章目录
前情提要
本人是一名大三学生,由于期末复习需要,所以按照老师的ppt总结整理此笔记,希望对你有所帮助
第二章 ARM 体系结构
第二章目录
- ARM微处理器概述
- ARM处理器系列
- RISC体系结构
- ARM微处理器体系结构
- ARM微处理器的工作状态 ARM和Thumb状态
- ARM体系结构的存储器格式
- 处理器模式
- 寄存器组织
- 异常
ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
基于ARM的SOC设计
- 从ARM或其他第三方购买IP
- 集成IP,仿真,验证,完成SoC设计
- 半导体制造公司完成流片
特点
- 支持Thumb(16位)/ARM(32位)双指令集
- 使用寄存器,指令执行速度更快
- 大多数数据操作都在寄存器中完成
- 寻址方式灵活简单,执行效率高
- 指令长度固定
1. IP 核的概念:软核、硬核、固核
IP核(Intellectual Property) 知识产权
**硅知识产权核是预先设计好的电路功能模块,**根据IP核的提供方式,分为软核(Soft IP Core),固核(Firm IP Core)硬核(Hard IP Core)
- 软核:综合之前的RTL代码,只经过功能仿真,需要经过综合以及布局布线才能使用。
- 固核:完成软核的设计外,及门级电路综合和时序仿真等设计环节,以门级电路网表的形式提供给用户。
- 硬核:基于物理描述并经过工艺验证,提供给用户的形式是电路物理结构、掩模版图和全套工艺文件。
2.了解:指令集架构、处理器系列、嵌入式系统总线
RISC体系结构
特点:精简指令集计算机RISC结构的产生是相对于传统的复杂指令集计算机CISC 结构而言的。
CISC(Complex Instruction Set Computer,复杂指令集计算机)缺点:
- 随着计算机技术的发展而不断引入新的复杂指令集,为支持这些新增的指令**,计算机的体系结构会越来越复杂**
- 然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,约20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%
基于不合理性提出了RISC(Reduced Instruction Set Computer,精简指令集计算机)的概念:
- 指令系统相对简单,只要求硬件执行很有限且最常用的那部分指令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。
- RISC不是简单地减少指令, 而是把着眼点放在 :
- 使计算机的结构更加简单;
- 合理地提高运算速度。
- RISC优先选取使用频度最高的简单指令,避免复杂指令;
- 将指令长度固定,指令格式和寻址方式种类减少;
RISC特点:
- 指令规整、对称、简单。指令小于100条,基本寻址方式有2~3种。
- 指令字长度一致,单拍完成,便于流水操作;
- ARM7 三级流水线:取值,译码,执行;
- ARM9 五级流水线:取值,译码,执行,访存,回写;
- 大量的寄存器。寄存器不少于32个。数据处理器的指令只对寄存器的内容操作。只有加载/存储指令可以访问存储器。
CISC vs RISC
ARM处理系列
ARM处理器的分类
-
基于指令集体系结构版本分类
- v1,v2,v5,v6,v7,v8,v9等
-
基于处理器系列分类
-
基于ARM体系结构设计的处理器系列
-
ARM7,ARM9,ARM10,ARM11,StrongARM,XScale等
-
ARM架构发展系列
- V1版本 该版架构只在原型机ARM1出现过**,**其基本性能:
- 基本的数据处理指令(无乘法)
- 字节、半字和字的LOAD/STORE指令
- 转移指令**,**包括子程序调用及链接指令
- 软件中断指令
- 寻址空间:64M字节(26)
- V2版架构 该版架构对V1版进行了扩展,如ARM2采用了V2架构,ARM3采用v2a架构,增加了以下功能:
- 乘法和乘加指令
- 支持协处理器操作指令
- 快速中断模式
- SWP/SWPB指令,实现存储器与寄存器数据交换
- 寻址空间:64M字节(26)
- V3版架构 从V3开始,ARM体系结构被大规模应用
- 寻址空间增至32位(4G字节)
- 增加了当前程序状态寄存器CPSR和备份程序状态寄存器SPSR以便于异常的处理。
- CPSR: Current Program Status Register
- SPSR: Saved Program Status Register
- MRS指令将状态寄存器的值保存到通用寄存器,
- MSR将通用寄存器中的值还原到状态寄存器
- 增加了中止abort和未定义二种异常模式。
- ARM6就采用该版架构
- 指令集变化如下:
- 增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器
- 改进了从异常处理返回的指令功能
- V4版架构 V4版架构是应用最广泛的ARM体系结构, ARM7、ARM8、ARM9和StrongARM都采用该版架构。对V3版架构进行了进一步扩充, **引入了16位的Thumb指令集,**处理器存在两种工作状态,使ARM使用更加灵活。指令集中增加了以下功能:
- 有符号、无符号的半字和有符号字节的Load/Store指令。
- 引入了16位Thumb指令集
- 完善了软件中断SWI指令的功能
- 增加了处理器的系统模式。
- V5版架构 在V4版基本上增加了一些新的指令, ARM9E,ARM10和XScale都采用v5版架构,这些新增指令有:
- 提高ARM和Thumb指令集混合使用的效率
- 增加了前导零计数CLZ指令
- 引入了软件断点指令BKPT,进行中断调试
- 增加了信号处理指令
- 为协处理器增加更多可选择的指令
CLZ:Count Leading Zeros,计算最高符号位与第一个1之间的0的个数;
- V6版架构
- 2001年发布
- 首先在ARM11处理器中使用
- 具备高性能DSP功能
- 引入全新的Jazelle技术,降低Java应用程序对内存的空间占用
- **增加了 SIMD(单指令流多数据流 )功能扩展,**提高了嵌入式应用系统的语音,图像处理能力。SIMD:Single Instruction Multiple Data,(XYZW,RGBA)
- 适合使用电池供电的便携式设备
- V7版架构
- 目前为止32位ARM处理器体系结构的最高版本
- Cortex系列基于V7架构
- Cortex-A—面向性能密集型系统的应用处理器内核
- Cortex-R—面向实时应用的高性能内核
- Cortex-M—面向各类嵌入式应用的微控制器内核
- V8版架构
- 2011年11月发布
- 首款支持64位指令集的处理器器架构
- 针对有更高性能要求的产品,如高档消费类电子
- 64位兼容32位
- ARMv8架构包含两个执行状态:AArch64和AArch32
- V9版架构
- 2021年3月发布
- 支持64位指令集的处理器器架构
- 针对有更高性能要求的产品,如高档消费类电子
- 64位兼容32位
- 引入机密计算技术Realm模块,防止像Spectre和Meltdown这样的新型安全漏洞攻击
- 对AI模块的升级,重点在于改善CPU的AI性能
- 扩展到PC、HPC高性能计算、深度学习等新市场
ARM处理器系列
[!NOTE]
命名规则
标志< |
---|