MCU的内部架构与程序运行原理讲解(01) MCU系列课程概述 认识MCU及常见内部架构_哔哩哔哩_bilibili
原学习视频链接如上
MCU内部模块
1、CPU:执行用户指令,是MCU的大脑。
2、总线(AHB,APB等):MCU内部数据交换的桥梁
3、非易失性存储器(如FLASH):“硬盘”永久性保存用户数据,程序。掉电后数据依然能保存
4、易失性存储器(如SRAM):“内存”,用于保存程序中的中间变量,堆栈。掉电后数据丢失
5、外设:执行指定功能
地址映射表:“存储映射”,CPU读写操作都会有对应的地址,每一个模块都有自己的地址
系统控制器:用于控制MCU内部各个模块的状态
中断控制器:连接并管理来自各个模块的中断信号与CPU的中断线
时钟树:各个模块的时钟分配。每个模块的时钟信号都可以选择
复位树:各个模块的复位分配,一个MCU中可能有多种复位状态
一、CPU结构
以ARM Cortex-M3为例
1、NVIC:嵌入式中断向量控制器,用于中断控制
2、CPU核心:CPU指令处理的核心
(1)指令获取单元:用于获取指令
(2)译码器:将这一条指令进行译码,获得具体的指令信息
(3)ALU:算术逻辑单元,用于进行运算
(4)寄存器组:通用寄存器和特殊功能寄存器
(5)存储器接口:与外部交换数据
(6)用于调试
3、DEBUG调试接口:用于调试
4、MPU:用于控制读写访问权限保护数据
5、总线接口:用于与外部交换数据
指令执行流水线:取址->译码->执行->暂存->写回
下一条指令的执行无需等待上一条指令执行完成
常见指令操作:
(1)数据处理指令:
(2)跳转指令
(3)程序状态寄存器访问指令
(4)加载存储指令