当前位置: 首页 > news >正文

ARM体系结构—架构—指令集—寄存器—工作模式

基础概念集

嵌入式:以应用为中心,以计算机技术为基础,软硬件可剪裁的专用计算机系统
计算机系统基本组成:硬件系统 软件系统(应用软件,系统软件)
计算机硬件系统基本组成:运算器,控制器,存储器,输入设备,输出设备
存储器:寄存器 > Cache > 主存储器(RAM) > 辅助存储器(外存 - 磁盘)

CPU(Center Processing Unit):中央处理单元,是一种强大的通用性处理器
GPU(Graphics Processing Unit):图形处理单元
FPU(Float Processing Unit):浮点型运算单元

嵌入式领域名词解释
MPU(Mirco Processing Unit):微处理器 通用型 偏向处理
MCU(Mirco Contral Unit):微控制器 集成度 偏向控制
单片机:单片微型计算机系统
DSP(Digital Signal Processing):数字信号处理器,为了高强度数学运算而设计的一种专用芯片
SOC(Sysrem On Chip):片上系统
//是一种集成和设计的理念,像一个蓝图,将市政府(MPU)警察局(MCU)研究所(DSP)机场(调制解调器)放在同一片土地上(芯片),形成功能完善的芯片。
SOC

kerbal:架构:X86,ARM,MIPS,RISC V
计算机指令集:
RISC (Reduce Instruction Set Computer) 精简指令集架构 X86
CISC (Complex Instruction Set Computer) 复杂指令集架构 ARM

RAM (Random Access Memory)
特点:(1)可以被处理器直接寻址
(2)访问速度快
(3)价格昂贵
(4)掉电丢失(易失性存储)
ROM (Read-Only Memory)
特点:(1)不可以被处理器直接寻址
(2)访问速度慢
(3)价格便宜
(4)掉电不丢失(非易失性存储)
flash:nor flash(或非):可被处理器直接寻址且掉电不丢失
nand flash(与非):
三大总线(功能上):地址总线,数据总线,控制总线(若干根)
单总线结构(冯诺依曼架构):人车不分流,成本低
多总线结构(哈佛架构):分为高速总线(AHB)和低速总线(APB)(人车分流),成本高,处理速度快,效率高

| 冯诺依曼架构 | 核心特点 |

  • 指令和数据共享同一存储器
  • 单总线结构:使用同一组总线传输指令和数据,无法同时进行指令读取和数据读写
  • 串行工作方式:CPU执行时,需要先从内存取指令,再根据指令取数据、处理、按顺序完成

| 哈佛架构 | 核心特点 |

  • 指令和数据分离:有两个独立的存储器,分别存放指令和数据
  • 多总线结构
  • 并行工作方式:CPU可以同时读取指令和访问数据,提高执行效率

ARM_Kernal
通用寄存器:共十六个(R0~R15),用于缓存数据

R13(sp)
sp(stack pointer):栈指针寄存器
R14(lr):在跳转函数之前备份pc寄存器的值
lr(linked register):链接寄存器
R15(pc):指向当前正在执行的下一条的下一条指令(即,PC指向预取指令)
pc(program counter):程序计数器

Cache:高速缓存器

i cache :instruction
d cache:data

ALU (Arithmetic Logical Unit) :算数逻辑单元(算数以及逻辑运算)
CPSR(Current Program Status Register):当前程序状态寄存器(32位)
SPSR(Saved Program Status Register):程序状态备份寄存器(32位)
MMU(Memory Management Unit):内存管理单元 (ARM_kernal默认关闭)
外设(eg:GPIO)由操作系统管理

处理器的工作模式

  1. ARM 有7个基本工作模式:(共包含37个32-bits长的寄存器)
    <1> User:非特权模式,大部分任务执行在这种模式
    <2> FIQ:(快中断请求)当一个高优先级(fast) 中断产生时将会进入这种模式
    <3> IRQ:当一个低优先级(normal)中断产生时将会进入这种模式
    <4> Supervisor:当复位或软中断指令执行时将会进入这种模式
    <5> Abort:当存取异常时将会进入这种模式
    <6> Undef:当执行未定义的指令时将会进入这种模式
    <7> System:使用和User模式相同寄存器集的特权模式
  2. Cortex-A特有模式(额外包含3个32-bits长的寄存器)
    <1> Monitor:是为了安全而扩展出的用于执行安全监控代码的模式,也是一种特权模式
    <2> Hyp:是为了测试使用


备注:黑色是共用寄存器
ARM寄存器

  1. ARM有37个32-Bits长的寄存器
  2. Cortex体系结构下有40个32-Bits长的寄存器(Cortex-A多出3个寄存器)

异常处理

当异常产生时, ARM core:
 拷贝 CPSR 到 SPSR_
 设置适当的 CPSR 位: 偏移量

  • 改变处理器状态进入 ARM 态
  • 改变处理器模式进入相应的异常模式
  • 设置中断禁止位禁止相应中断 (如果需要)0

 保存返回地址到 LR (LR – User模式中的)
 设置 PC 为相应的异常向量
返回时, 异常处理需要:
 从 SPSR
恢复CPSR
 从LR_恢复PC
 Note:这些操作只能在 ARM 态执行.
在这里插入图片描述

http://www.dtcms.com/a/391169.html

相关文章:

  • 自适应全变分模型的图像平滑去噪与边缘保留算法
  • 主流前端框架比较
  • 前端接口参数序列化
  • 精细调光,稳定驱动:AP5165B 在低压LED照明中的卓越表现
  • EasyGBS如何实现企业园区视频监控一体化管理?
  • Ledit 16.3 版图软件全面系统性教程
  • Linux的DTS配置信息
  • 线程池全面解析:核心原理、参数配置与实践指南
  • 【Linux】自定义协议——网络计算器实现
  • Ubuntu 安装的docker-compose拉取镜像失败问题处理办法
  • 第35篇:AI前沿:具身智能(Embodied AI)与通用人工智能(AGI)
  • LangChain 入门到精通企业项目实践之 LangChain 聊天模型
  • crush情感分析项目01
  • 免费插件分享 | Missing References Search
  • ECU OTA测试
  • Jenkins运维之路(Slave容器节点)
  • Amazon Lambda + API Gateway 实战,无服务器架构入门
  • 芯片管脚的源电流与漏电流
  • Django+ARIMA微博舆情预警系统 SnowNLP情感分析 Echarts可视化 机器学习 大数据项目✅
  • SIMetrix 8.30仿真蓝牙天线上的无源滤波器
  • [x-cmd] 升级 x-cmd 指南
  • AXI4-Stream总线流控握手实战经验总结
  • RAWSim-O-main项目Trae解析
  • react固定容器标签超出n+展示
  • ​​HarmonyOS应用开发:从入门到实战的完整指南​
  • QT与GTK生态最新进展及特性对比(2025年)
  • 包管理器分析
  • XC7K325T-2FBG676I Xilinx AMD Kintex-7 FPGA
  • FPGA入门-红外遥控
  • qml实现多页面切换显示的导航栏