文章目录
-
- 一、计算机指令集分类
- 二、ARM内核版本
- 三、ARM体系架构初了解
- 四、存储器架构
- 五、总线结构
- 六、典型的计算机主板
- 七、处理器修炼历程
- 八、SoC概念
- 九、汇编
- 十、开发ARM程序常用的集成开发环境
- 十一、面向应用的ARM最小系统
- 十二、RAM与ROM
- 十三、ARM体系架构
-
- 处理器工作模式
- ARM 寄存器
- 程序状态寄存器
- 程序指针PC
- 十四、异常处理

一、计算机指令集分类
CISC:Complex Instruction Set Computer 复杂指令集(X86) 特点:指令功能多、芯片复杂、成本高、体积大、功耗高
RISC:Reduced Instruction Set Computer 精简指令集 特点:指令功能少、芯片简单、成本低、体积小、功耗低
ARM:设计RISC精简指令集架构CPU(分版本) 授权——>半导体公司
stm32f103:st意法半导体生产 arm公司的CPU
二、ARM内核版本
早期:ARM+数字 ARM7 ARM9 ARM11
按领域加上前缀区分:
Cortex-A:Application 应用领域
- Cortex-A7(IMX6ULL、STM32MP157)
- Cortex-A5(早期智能机 摩托罗拉)
- Cortex-A8(Samsung Gaxlay Note)
- Cortex-A9(Samsung Exnoy 4412)
- 。。。。。。
- Cortex-A725(玄戒O1)
Cortex-R:Real-TIme 实时性领域(汽车电子)
Cortex-M:MCU 单片机领域
- Cortex-M3(stm32f103)
- Cortex-M4(stm32f407、STM32MP157)
三、ARM体系架构初了解

ALU:算数逻辑单元,完成算数运算
通用寄存器(内核):存放数据 (没有地址)一共16个(R0-R15)。
PC:programmer counter 程序计数器,指向当前程序正在执行指令的下一条指令。 三级流水线结构:pc取指令->译码器翻译指令->CPU执行指令(三者并行)
LR:Linked register 链接寄存器 保存函数返回地址
SP:stack pointer 栈指针寄存器,管理栈区空间
CPSR:current programmer status register 当前程序状态寄存器。程序运行到某一步时相关的状态(溢出、借位、进位)(特殊、异常状态)。
SPSR:save programmer status ragister 保存/备份程序状态寄存器 保存当异常(中断)发生时cpsr寄存器中的值。
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

十三、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处理器处于何种模式、何种状态?
网硕互联帮助中心







评论前必须登录!
注册