【初识ARM】ARM相关基础概念

文章目录

一、计算机指令集分类

CISC :Complex Instruction Set Computer 复杂指令集(X86)

特点:指令功能多、芯片复杂、成本高、体积大、功耗高

RISC :Reduced Instruction Set Computer 精简指令集

特点:指令功能少、芯片简单、成本低、体积小、功耗低

ARM:设计RISC精简指令集架构CPU(分版本)

授权------>半导体公司

stm32f103:st意法半导体生产 arm公司的CPU

二、ARM内核版本

早期:ARM+数字

ARM7 ARM9 ARM11

按领域加上前缀区分:

  1. Cortex-A:Application 应用领域

    • Cortex-A7(IMX6ULL、STM32MP157)
    • Cortex-A5(早期智能机 摩托罗拉)
    • Cortex-A8(Samsung Gaxlay Note)
    • Cortex-A9(Samsung Exnoy 4412)
    • 。。。。。。
    • Cortex-A725(玄戒O1)
  2. Cortex-R:Real-TIme 实时性领域(汽车电子)

  3. Cortex-M:MCU 单片机领域

    • Cortex-M3(stm32f103)
    • Cortex-M4(stm32f407、STM32MP157)

三、ARM体系架构初了解

  1. ALU:算数逻辑单元,完成算数运算

  2. 通用寄存器(内核):存放数据 (没有地址)一共16个(R0-R15)。

  3. PC :programmer counter 程序计数器,指向当前程序正在执行指令的下一条指令。

    三级流水线结构:pc取指令->译码器翻译指令->CPU执行指令(三者并行)

  4. LR:Linked register 链接寄存器 保存函数返回地址

  5. SP:stack pointer 栈指针寄存器,管理栈区空间

  6. CPSR:current programmer status register 当前程序状态寄存器。程序运行到某一步时相关的状态(溢出、借位、进位)(特殊、异常状态)。

  7. SPSR :save programmer status ragister 保存/备份程序状态寄存器

    保存当异常(中断)发生时cpsr寄存器中的值。

  8. MMU :memory management unit 内存管理单元:将程序中的虚拟地址转换为物理地址。

四、存储器架构

存储器是用来存放程序和数据的部件,它是一个记忆装置,也是计算机能够实现"存储程序控制"的基础。

冯诺依曼架构:数据和指令共享一块存储空间;

哈弗架构:数据和指令拥有独立的存储空间.

高速缓冲存储器(Cache) :高速缓存,CPU可以直接访问,用来存放当前正在执行的程序中的活跃部分,以便快速地向CPU提供指令和数据。

五、总线结构

单总线:内核和外设之间通过一组线连接通信;

双总线 (多总线 ):

速度快的外设------>内核:AHB总线:Advanced High Bus 先进高速总线(USB、网卡、RAM)

速度慢的外设------>内核:APB总线:Advanced Peripheral Bus 先进外设总线(GPIO、UART、TIMER)

六、典型的计算机主板

七、处理器修炼历程

八、SoC概念

九、汇编

处理器的编码是一串数字,比较难记,因此开发出了助记符号来降低开发难度提高效率,因此产生了汇编语言,又由于汇编语言的结构不是很清晰,因此人们采用了汇编语言来产生较高层次的语言(如C语言)。

编译的定义 :

编译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。

编译器:用于编译的软件为编译器。

编译的四个步骤 :

交叉编译 :在一个平台编写编译程序,在另一个平台运行程序。

十、开发ARM程序常用的集成开发环境

十一、面向应用的ARM最小系统

最小系统 :能系统能够正常工作的最少器件构成的系统。

十二、RAM与ROM

nor flash :任何一个字节可以被寻址,带有地址总线和数据总线;

nand flash:块设备数据,以512byte为一块进行读写数据。

十三、ARM体系架构

处理器工作模式

ARM有7个基本工作模式:

User:非特权模式,大部分任务执行在这种模式;

FIQ:当一个高优先级(fast)中断产生时将会进入这种模式;

IRQ:当一个低优先级(normal)中断产生时将会进入这种模式;

Supervisor(svc模式:默认模式):当复位或软中断指令执行时将会进入这种模式;

Abort:当存取异常时会进入这种模式;

Undef:当执行到未定义指令时会进入这种模式;

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

Cortex-A特有模式:

HYP模式:在线调试;

Monitor:是为了安全而扩展出的用于执行安全监控代码的模式;也是特权模式。

注意:除去黑色的其他不同颜色代表当前模式独有的寄存器。

ARM 寄存器

ARM有37个32-Bits长的寄存器.

1 个用作PC( program counter)

1个用作CPSR(current program status register)

5个用SPSR(saved program status registers)

30个通用寄存器

Cortex体系结构下有40个32-Bits长的寄存器

Cortex-A多出3个寄存器,Monitor模式r13_mon,r14_mon,spsr_mon当前处理器的模式决定着哪组寄存器可操作.任何模式都可以存取.

程序状态寄存器

程序指针PC

十四、异常处理

中断向量表:本质是一个数组,数组中存放的是中断服务函数的入口地址;

异常向量表:本质是一个数组,数组中存放的是跳转到异常服务函数的指令。

tips:

1)说出ARM可以工作的模式名字。

2)ARM核有多少个寄存器?

3)什么寄存器用于存储PC和LR寄存器?

4)R13通常用来存储什么?

5)哪种模式使用的寄存器最少?

6)在Thumb指令集中,哪些寄存器处于Low group?

7)CPSR的哪一位反映了处理器的状态?

8)所有的Thumb指令采取什么对齐方式?

9)ARM有哪几个异常类型。

10)为什么FIQ的服务程序地址要位于0X1C?

11)在复位后,ARM处理器处于何种模式、何种状态?

相关推荐
kyrie_sakura43 分钟前
大模型学习18 大模型学习 - LangChain2_Model I/O
学习·自然语言处理
宝绿特塑业再生科技1 小时前
板材收缩率不稳,户外家具装配尺寸为何对不上:从切割尺寸变化到接缝不一的系统性排查与对策
笔记·科技·学习·生活·户外家具·hdpe再生颗粒·hdpe
~城南花已开~2 小时前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
我命由我123454 小时前
6-3.Python 异常处理 - 异常处理进阶(else 块与 finally 块、异常传递、自定义异常)
开发语言·前端·数据库·后端·python·学习·java-ee
外收内放5 小时前
FastAPI猜字谜实战(8):收官
开发语言·python·学习·fastapi
David猪大卫5 小时前
【C++修炼】STL容器—stack与queue
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
fengci.5 小时前
CTF2刷题记录(困难部分)
android·开发语言·前端·学习·php
qeen876 小时前
【Linux】磁盘读写文件原理及文件系统基本概念介绍
linux·运维·服务器·笔记·学习
无心水6 小时前
6、软件工程 核心考点与学习笔记
笔记·学习·软件工程·软考高级·架构师·软考·软考系统架构设计师
ue星空6 小时前
学完老师的课程我能不能自己也开课?
学习