【ARM基础知道】

发布于:2025-09-08 ⋅ 阅读:(22) ⋅ 点赞:(0)

嵌入式:以应用为中心,以计算机技术为基础,软硬件可裁剪的专用计算机系统

根据用户需求(功耗、体积、可靠性)去裁剪硬件

计算机硬件组成:运算器、控制器、存储器、输入设备、输出设备

  • CPU(Center Processing Unit):中央处理器。是一种通用的强大的处理器  (脑力劳动者CEO)
  • GPU(Graphics Processing Unit):图形处理器,(体力劳动者)
  • FPU:浮点型运算单元

在嵌入式行业:

  • MPU(Micro Processing Unit):微处理器,偏向处理,强调通用
  • MCU(Micro Contral Unit):微控制器,偏向控制,强调集成度
    • 单片机:单片微型计算机,将运算器、控制器、存储器集成在一块芯片上。单片机其实和MCU是一个东西
  • DSP(Digital Signal Processing):数字信号处理器,为了进行高强度数学运算的专用芯片
  • SOC(System On Chip):片上系统,
    • SOC是一个设计和集成的概念,更像是一个城市的规划图,把市政府(MPU)、警察局(MCU)、工厂(GPU)、研究所(DSP)、机场(modem调制解调器),规划在一起,形成一个完整的功能完善的城市
    • 外设:GPIO、timer、uart、PWM、I2C

  • RAM(random Access Memory):随机访问寄存器
    • ( * ) 可以直接被处理器寻址
    • 速度较ROM快
    • 掉电数据丢失
    • 价格昂贵
  • ROM(Read_only Memory):
    • 不能被直接寻址(块设备),没有直接连接在数据总线上
    • 速度比RAM慢

正点原子IMAX6ULL开发板,

  • 内核架构:
    • X86(复杂程序架构)
    • ARM(主流,精简型架构)
    • MIPS
    • RISC V
  • CISC:Complex Instruction Set Computer 复杂的程序架构 ,特点:性能强大(优点),体积大,功耗大(缺点)
  • RISC:Reduced Instruction Set Computer 精简指令集计算机,部署在手机上,特点:体积小,功耗小
  • 指令集版本:V1 - V9
  • 核心架构版本:ARM1 - ARM11,
    • ARM分为三个系列:
      • A系列  Cortex-A (APP),类型偏向于MPU。高性能应用处理器(手机、平板、Linux系统)。
      • R系列 Cortex-R (realtime实时的),类型偏向MCP。实时处理器,适合汽车、安全关键应用。
      • M系列 Cortex-M ,偏向于MCU。低功耗微控制器(常见的STM32、Arduino)。

核心kernal:

  • ALU(Arithmetic Logic Unit):算数逻辑单元,属于运算器,可以进行算数逻辑运算,
  • (工作在内核里的)通用寄存器:r0  ----  r15,不能通过地址访问,只能通过指针访问
  • (内核外)外设寄存器:统一连在三大总线上,
    • 控制总线:内核控制外设
    • 地址总线:传输地址
    • 数据总线:设备之间需要数据交换,负责内核和外设之间的数据交换
  • Cache:高速缓存
  • 在高速设备和低速设备之间开发了一块缓存,去解决设备之间传输速度不同的问题
    • i cache:(instruction cache)缓存指令,为了性能,打开i cache 
    • d cache:(data cache)缓存数据,为了安全, 关闭d cache,保证我们去操作寄存器里的数据时,操作的时寄存器的实际物理地址

单总线:

多总线:RAM属于高速设备,和内核间通信是高速 的,其他普通外设(GPIO、timer等等)和内核之间通信速度慢,所以总线设计成两路:

  • AHB(Advanced High-performance Bus):高性能总线,连接读写速度高的        
  • APB(Advanced peripheral bus):高级外设总线

MMU:(memory management unit)内存管理单元,硬件上有这个才能上操作系统。操作系统虚拟出来的一段进程空间,通过MMU映射到实际的物理地址上。在裸机上开发,需要关闭MMU。不能通过c语言来关闭,有一套流程。

  • RAM:内存、主存
  • ROM:外存、辅存
  • register:寄存器
    • 通用寄存器:工作在内核里面,内核通过标识符去访问
    • 外设寄存器:内核通过总线上的物理地址去访问
  • Cache:高速缓存,速度较寄存器慢,但高于RAM。

  • CPSR(current program status register):当前程序状态寄存器(32位)。
  • SPSR(saved program status register):备份程序状态寄存器

  • sp(stack pointer):栈指针寄存器,用来记录当前栈的栈顶,存栈顶的地址
  • lr (link register):链接寄存器,会存pc指针下一个指向的地址,保存现场。当pc跳转函数之后,需要回到主函数里,lr就是保存下一个指向的地址,使pc知道往哪回。
  • pc (program count):程序计数器:指向当前正在执行指令的下一个的下一个指令。刚上电,指向0,pc指针指向Main函数,当跳转函数时,将pc里的值保存到lr链接寄存器里,

三级流水线:

SRAM:(static )

DRAM:

DDRARM:


网站公告

今日签到

点亮在社区的每一天
去签到