title: arm
tags:
- ARM处理器
- 学习相关
categories:
- 课内
ARM课程相关笔记
等会贴一个文件代码,说实话这个csdn上的主题不是特别好康 ) (
第1章 嵌入式系统基础
1.1 嵌入式系统简介
定义:
理解:嵌入式系统核心就定制硬、软件。
组成:
硬件
嵌入式系统的硬件包括:核心处理器、外围电路 和 外部设备三部分,如下图所示:
核心处理器
嵌入式微处理器可以采用 冯.诺依曼体系结构 和 哈佛体系结构;指令系统可以采用 精简指令集系统 和 复杂指令集 系统。
结构
指令集
软件
由嵌入式操作系统和嵌入式应用软件两大部分组成。
需要注意嵌入式系统和嵌入式操作系统是两个东西
有 的版本将应用程序接口 API 归属于 OS 层,就是按照 三层来 划分的。
特点
分类
1.2 嵌入式处理器
(1)嵌入式微处理器(MPU)
(2)嵌入式微控制器(MCU)
和嵌入式微处理器相比:微控制器的最大特点是单片化
(3)嵌入式DSP处理器 DSP 处理器是专门用于信号处理方面的处理器
(4)SOC片上系统 SOC最大特点是实现了软/硬件的无缝结合,直接在处理器芯片内部嵌入操作系统代码模块。
1.3 嵌入式系统开发环境
1.4 嵌入式操作系统
嵌入式操作系统可分为:实时操作系统 和 非实时操作系统。
按实时性的要求,可分为:
- 软实时系统
- 硬实时系统
按任务是否可被抢占,分为
- 可抢占型系统
- 不可抢占型系统
第2章 ARM处理器及系统结构
2.1 ARM 处理器简介
ARM(Advanced RISC Machines)有 3 种含义:
-
它是一个公司的名称;
-
是一类微处理器的通称;
-
还是一种技术的名称。
是专门从事基于 RISC 技术芯片开发的公司
优点
① 体积小、功耗低、低成本、高性能;
② 支持 Thumb(16位)/ARM(32位)双指令集,能 很好地兼容 8位/16位 器件;
③ 大量使用 寄存器,指令执行速度更快;
④ 大多数数据操作都在寄存器中完成;
⑤ 寻址方式灵活简单,执行效率高;
⑥ 指令长度固定
Thumb指令集: Thumb指令可以看做是ARM指令压缩形式的子集,是针对代码密度的问题而提出的,它具有16为的代码密度。
使得ARM可以处理16位指令,也能执行32位指令
代码密度
2.2 ARM 处理器系列
2.2.1 系列
一、ARMv4
二、ARMv4T
ARMv4T增加了16-bit Thumb 指令集
三、ARMv5TE
并在ARM指令集体系结构上扩展了增强的DSP 指令集:
四、ARMv5TEJ
增加了Jazelle扩展以支持Java 加速技术(处理器指令层对JAVA加速)。
五、ARMv6
SIMD扩展
Thumb-2和TrustZone 技术
六、ARMv7
ARMv7 定义了 3 种 不 同 的 处 理 器 配 置 ( processor profiles):
•Profile A是面向复杂、基于虚拟内存的OS和应用的
•Profile R是针对实时系统的
•Profile M是针对低成本应用的优化的微控制器
七、ARMv8
2011年11月,ARM公司发布了新一代处理器架构ARM V8,ARM的首个64位架构。
ARM处理器指令集的特点 ARM内核不是一个纯粹的RISC体系结构,ARM指令集 与纯粹的RISC的定义有以下几个不同。
① 一些特定指令的周期数可变,并不是每条ARM指令都是单周期的。
② 内嵌的桶形移位器产生了更为复杂的指令,扩展了指令的 功能,因此改善了内核的性能。
③ 支持16位的Thumb指令集,提高了代码密度。
④ 支持条件执行:每条指令都可以设置一个执行条件,只有 条件满足时才执行。
⑤ 增强指令:一些功能强大的数字信号处理指令被加入到 ARM指令集中
2.2.2 ARM体系结构的演变
-
arm7 代码密度高并兼容16位的Thumb指令集;
-
arm9 采用 5级指令流水线。存储器系统根据 (改进型)哈弗体系结构(程序和数据空间独立的体系结构) 重新设计,区分了 数据总线 和 指令总线
我目前看到的资料ARM9的5条流水线是最多的,但是有说7条的,这个还有待考证
MPU支持实时操作系统;
- ARM9E 支持DSP指令集,适合于需要高速数字信号处理的场合;(有一张ppt说明了命名的规则)
- ARM10E 6条流水线
- ARM 11 内核有8级流水线
2.3 ARM9 处理器内核
2.3.1 ARM9系列MCU
一、ARM9TDMI
ARM9TDMI使用哈弗结构,通过cache可以同时读取指令和数据。
流水线从ARM7TDMI的 3级 增加到 5级。
二、ARM920T
三、ARM940T