嵌入式硬件基础(2)

RISC(Reduced Instruction Set Computer):精简指令集

  • 设计理念:简化指令集,每条指令只完成基本操作,复杂功能通过多条指令组合实现。

  • 特点

    • 指令集精简,指令长度固定(如ARM、MIPS架构)。

    • 采用加载-存储架构只有LOAD/STORE指令能访问内存)。

    • 硬件设计简单,依赖流水线、超标量等技术提高并行性。

    • 编译器需优化指令组合(对软件要求更高)。

  • 优势

    • 功耗低,适合移动设备(如智能手机、嵌入式系统)。

    • 指令执行速度快(单周期完成简单指令)。

    • 易于扩展和定制(如ARM的灵活授权模式)。

  • 缺点

    • 代码密度较低(程序可能更大)。

    • 复杂任务需更多指令。

  • 典型代表:ARM架构(如手机芯片)、RISC-V、MIPS、PowerPC。

  • RISC(Reduced Instruction Set Computer):精简指令集

CISC(Complex Instruction Set Computer):复杂指令集

  • 设计理念:通过复杂指令完成更多任务,一条指令可执行多个低级操作(如内存访问、计算等)。

  • 特点

    • 指令集庞大,指令长度可变(如x86架构)。

    • 支持直接内存操作(如ADD [内存地址], 数据)。

    • 硬件直接实现复杂指令(如字符串处理、乘除法等)。

    • 微码(Microcode)解码:复杂指令被拆分为微操作执行。

  • 优势

    • 代码密度高(程序占用内存更小)。

    • 对编译器要求较低(硬件处理更多细节)。

  • 缺点

    • 功耗高,设计复杂。

    • 部分复杂指令利用率低,可能导致性能浪费。

  • 典型代表:Intel x86、AMD处理器(但现代x86已融合RISC特性,如内部微操作转换)。

两者对比:

CISCRISC
指令集规模复杂、庞大精简、固定
指令长度可变长度固定长度
内存访问指令可直接操作内存只有LOAD/STORE可访问
硬件复杂度高(微码解码)低(直接执行)
功耗较高较低
代码密度高(程序更小)低(程序更大)
典型应用桌面电脑、服务器(x86)移动设备、嵌入式(ARM)

RAM:

  • Sram(static ram):用晶体管存储 0和1,成本高速度快,存储密度低。
  • Dram(dynamic ram)动态存储:用电容充放电存储0,1。功耗大,需要外接
    刷新电路,读写速度低于sram。成本低,存储密度大。
  • SDram(synchronous dram):增加了同步电路,提高dram的数据读写速度。
  • DDR ram(全称ddr sdram即double data rate sdram):为sdram的下一代。
    目前已发展到ddr5。
  • iram(internal ram):注意iram并非是真正意义上的某种ram,通常iram就是
    sram,它通常存在于Soc内部,所以被称为iram。   

ROM:

  • rom:非易失性存储器,最早的rom出场时写入数据,之后无法更改。
  • prom(programmable rom):可编程rom,出场后能够让用户写入一次数据,例如cdrom
  • eprom(erasable prom):可擦写prom,出场后可以擦除数据再次写入,但需要特殊设备,例如紫外光等。
  • eeprom(electiclly eprom)电可擦写可编程rom,无需专用设备就可以擦写,编写。
  • flash闪存,新一代非易失性存储器。

ARM核心组件详解:

ALU(算术逻辑单元)

  • 功能:执行所有算术(加减乘除)和逻辑(与或非移位)运算。

  • 特点

    • 操作数来自 通用寄存器(R0~R12),结果写回寄存器。

    • 运算会更新 CPSR 的条件标志位(N/Z/C/V)。

ARM 架构有 16 个通用寄存器(R0~R15),其中部分寄存器有特殊用途:

寄存器别名功能
R0~R12通用寄存器,用于数据存储和运算
R13SP栈指针(Stack Pointer),指向当前栈顶
R14LR链接寄存器(Link Register),保存函数返回地址
R15PC程序计数器(Program Counter),指向下一条要执行的指令地址。

MMU(内存管理单元)

  • 功能:实现 虚拟内存 到 物理内存 的映射,支持内存保护和多任务隔离。

  • 核心机制

    • 页表(Page Table):由操作系统维护,定义虚拟地址到物理地址的映射规则。

    • TLB(快表):缓存常用页表项,加速地址转换。

  • 用途

    • 运行操作系统(如 Linux)时启用 MMU。

    • 实现进程间内存隔离(防止非法访问)。

Cache(高速缓存)

  • 功能:缓存频繁访问的内存数据,减少访问延迟。

  • 层级

    • L1 Cache:分指令缓存(I-Cache)和数据缓存(D-Cache),哈佛架构设计。

    • L2 Cache:统一缓存,容量更大。

  • 操作

    • 通常由硬件自动管理,也可手动刷新(如 DMA 传输前后)。

组件协作流程示例(中断处理)

  1. IRQ 触发

    • CPU 保存 CPSR → SPSR_IRQ,切换模式为 IRQ,跳转到向量表 0x18

  2. IRQ 处理

    • 使用 SP_IRQ 保存现场(压栈 R0-R12, LR)。

    • 执行中断服务程序(ISR)。

  3. IRQ 返回

    • 从栈恢复寄存器,通过 MOVS PC, LR 恢复 SPSR_IRQ → CPSR 并返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值