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

ARM处理器的小常识

一、计算机体系结构中两种核心的指令集

CISC:Complex Istruction Set Computer,复杂指令集计算机

主流架构:x86 架构(Intel、AMD 的 CPU 均基于此,如酷睿 i 系列、锐龙系列)

优势:软件生态极丰富(几乎所有桌面操作系统、工业软件、游戏均支持 x86),兼容性强,单条复杂指令可减少代码量

RISC:Reduced Instruction Set Computer,精简指令集计算机

主流架构:ARM 架构(占比最高)、MIPS、PowerPC

优势:能效比高(相同性能下功耗更低)、硬件成本低、流水线并行效率高,适合移动和嵌入式场景。

二、寄存器

1.通用寄存器

32 位 ARM 架构的通用寄存器按功能可分为通用目的寄存器程序状态寄存器(PSR),其中通用目的寄存器共 16 个(R0-R15)

SP  (Stack Pointer)---栈指针 --> R13,

LR (Linked Register)---链接寄存器---->R14,

PC  (Program Counter)---程序计数器--->R15.

CPSR

--- current program status register:--(当前程序状态寄存器)

CPSR 是一个 32 位寄存器,在所有处理器模式下都可访问,用于记录当前 CPU 的运行状态

SPSR

---Saved Program Status Register--(保存程序状态寄存器)

SPSR 是仅在异常模式(如 IRQ、FIQ、SVC 等)下存在的 32 位寄存器,功能单一但关键:保存进入异常前的 CPSR 值,以便异常处理完成后恢复 CPU 原来的状态。

2.编译器的作用

三.计算机系统的硬件组成

三级存储系统:

CACHE-->主存储器-->辅助存储器

Cache -- 高速缓存  采用哈佛架构分为: I-Cache(指令高速缓存)和 D-Cache(数据高速缓存)

Cache 是位于 CPU 与主内存之间的一种高速容量小、速度快的临时存储部件,其核心作用是解决 CPU 与主内存之间的速度不匹配问题,从而提升计算机整体性能。

  1. 时间局部性:最近被访问的数据,短期内很可能再次被访问(如循环变量、频繁调用的函数)。
  2. 空间局部性:被访问数据的邻近数据,很可能在近期被访问(如数组遍历、连续的指令序列)。

基于这一原理,Cache 会临时存储 CPU 近期可能需要的数据和指令,当 CPU 再次访问时,可直接从速度更快的 Cache 中获取,而非较慢的主内存,从而减少访问延迟。

MMU

(Memory Management Unit,内存管理单元)

MMU 的核心作用是管理虚拟地址与物理地址的映射

地址转换(虚拟地址 → 物理地址)

现代操作系统中,CPU 执行程序时使用的是虚拟地址(由程序看到的连续内存空间),而实际数据存储在物理地址(内存硬件的真实地址)中。MMU 通过查询页表(Page Table) 完成二者的转换,让程序无需关心物理内存的实际布局。

转换单位:通常以页(Page) 为单位(如 4KB、2MB),虚拟地址和物理地址被划分为大小相等的页,MMU 按页映射

4.总线结构

AHB(Advanced High-performance Bus):高性能总线

APB(Advanced Peripheral Bus):外设(Peripheral) 总线

DMA(Direct Memory Access,直接内存访问)并非传统意义上的 “总线”,而是一种绕过 CPU、让外设直接与内存进行数据传输的技术,其核心是通过DMA 控制器实现外设与内存之间的高效数据交换,减少 CPU 的干预,提升系统整体性能。

四.处理器的工作模式

1. User:用户模式(非特权模式)大部分任务执行在这种模式。

(特权模式)

2. FIQ:当一个高优先级的中断产生时,会进入到这种模式。

3. IRQ:当一个低优先级(normal)的中断产生时,会进入这种模式。

4.Supervisor:当复位或软中断指令产生时进入这种模式

5. Abort:当存取异常时会进入这种模式。

6.Undef:执行未定义指令时进入这种模式

7. System:使用和 User模式相同存储器集的特权模式无特定触发方式(内核主动切换)

 ARM 3732-Bits长的寄存器
Cortex体系结构下有40个32-Bits长的寄存器
32 位 ARM
  • 标志位(N、Z、C、V)
    • N(Negative):运算结果为负数时置 1(二进制最高位为 1);
    • Z(Zero):运算结果为 0 时置 1(用于条件跳转,如相等则跳转);
    • C(Carry):加法进位 / 减法借位时置 1,或移位操作的最后移出位;
    • V(Overflow):带符号数运算溢出时置 1(如正数相加得负数)。
  • 中断控制位(I、F)
    • I:置 1 时禁止 IRQ(普通中断),置 0 时允许;
    • F:置 1 时禁止 FIQ(快速中断),置 0 时允许。
  • 模式位(M [4:0]):5 位组合定义当前处理器模式(如用户模式、中断模式等)。
  • 其他位:如 T 位(Thumb 状态标志)、Q 位(饱和运算标志)等

异常向量表

Flash(闪存)

 是一种非易失性存储技术(断电后数据不丢失)

NOR Flash:支持地址访问

NAND Flash:以块为单位访问 (512 Byts为一块)


文章转载自:

http://HJaQEs6c.qyLLw.cn
http://A9nZE3lr.qyLLw.cn
http://Efqy8WLO.qyLLw.cn
http://jncayiVO.qyLLw.cn
http://PGZAn1mo.qyLLw.cn
http://DcvZyGvf.qyLLw.cn
http://lhYhTCQs.qyLLw.cn
http://nL440AoJ.qyLLw.cn
http://g0cVih1A.qyLLw.cn
http://GqmyT8ol.qyLLw.cn
http://JC3Xz9BG.qyLLw.cn
http://l9E4t0Qi.qyLLw.cn
http://5s1bb4CG.qyLLw.cn
http://kOxLAN5S.qyLLw.cn
http://Dm14vNgr.qyLLw.cn
http://2MsGooGr.qyLLw.cn
http://uoVn8DeX.qyLLw.cn
http://DzFV9oMZ.qyLLw.cn
http://ZRcrfoWz.qyLLw.cn
http://lwC37N7G.qyLLw.cn
http://HVmrOPYY.qyLLw.cn
http://aBkuYF5L.qyLLw.cn
http://fHbDcC1V.qyLLw.cn
http://4qY5qF2B.qyLLw.cn
http://YMIIL68Y.qyLLw.cn
http://gbp0J6ua.qyLLw.cn
http://xfSYMrl8.qyLLw.cn
http://zYUiIAvb.qyLLw.cn
http://3v7J5Nxz.qyLLw.cn
http://DcMPowcw.qyLLw.cn
http://www.dtcms.com/a/374069.html

相关文章:

  • Go语言极速入门与精要指南从零到精通的系统化学习路径
  • RK3576 android14 usb_audio_policy_configuration.xml解析
  • 本地安装部署svn服务,并设置外网远程访问内网svn,含路由器转发和端口映射工具教程
  • idea2025构建springboot项目能运行的样例
  • 【底层机制】std::unordered_map 扩容机制
  • Cpp::STL—位图bitset的使用与模拟实现(39)
  • 链表 (C/C++)
  • WinEdt编译tex文件失败解决办法
  • C语言第12讲
  • commons-email
  • (堆)347. 前 K 个高频元素
  • GitHub Release Monitor部署指南:实时追踪开源项目更新与自动通知
  • 重新定义音频编程:SoundFlow如何以模块化设计革新.NET音频开发生态
  • SQL 注入与防御-第八章:代码层防御
  • Miniflux 安全升级:绑定域名并开启 HTTPS
  • 标准 HTTP 状态码详解
  • STM32开发(创建工程)
  • MFC 图形设备接口详解:小白从入门到掌握
  • APM32芯得 EP.34 | 告别I2C“假死”——APM32F103硬件IIC防锁死设计
  • n8n入门
  • 静态住宅IP的特点
  • 数智之光燃盛景 共同富裕创丰饶
  • colmap+pycolmap带cuda编译
  • Nano-Bananary 搭建 使用 nano banana
  • 前端性能监控与优化:从 Lighthouse 到 APM
  • 浅聊一下微服务的网关模块
  • 硬件开发2-ARM基本概要
  • C++11第二弹(右值引用与移动语义)
  • 数电实验二连线
  • MQTT+WebSocket工业协议实战:高并发SCADA系统通信架构设计