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特性,如内部微操作转换)。
两者对比:
CISC | RISC | |
指令集规模 | 复杂、庞大 | 精简、固定 |
指令长度 | 可变长度 | 固定长度 |
内存访问 | 指令可直接操作内存 | 只有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 | 通用寄存器,用于数据存储和运算 | |
R13 | SP | 栈指针(Stack Pointer),指向当前栈顶 |
R14 | LR | 链接寄存器(Link Register),保存函数返回地址 |
R15 | PC | 程序计数器(Program Counter),指向下一条要执行的指令地址。 |
MMU(内存管理单元)
-
功能:实现 虚拟内存 到 物理内存 的映射,支持内存保护和多任务隔离。
-
核心机制:
-
页表(Page Table):由操作系统维护,定义虚拟地址到物理地址的映射规则。
-
TLB(快表):缓存常用页表项,加速地址转换。
-
-
用途:
-
运行操作系统(如 Linux)时启用 MMU。
-
实现进程间内存隔离(防止非法访问)。
-
Cache(高速缓存)
-
功能:缓存频繁访问的内存数据,减少访问延迟。
-
层级:
-
L1 Cache:分指令缓存(I-Cache)和数据缓存(D-Cache),哈佛架构设计。
-
L2 Cache:统一缓存,容量更大。
-
-
操作:
-
通常由硬件自动管理,也可手动刷新(如 DMA 传输前后)。
-
组件协作流程示例(中断处理)
-
IRQ 触发:
-
CPU 保存 CPSR → SPSR_IRQ,切换模式为 IRQ,跳转到向量表
0x18
。
-
-
IRQ 处理:
-
使用 SP_IRQ 保存现场(压栈 R0-R12, LR)。
-
执行中断服务程序(ISR)。
-
-
IRQ 返回:
-
从栈恢复寄存器,通过
MOVS PC, LR
恢复 SPSR_IRQ → CPSR 并返回。
-