🖥 SMP 多核处理器架构可视化 多级 TLB + 多级 Cache

RISC-V ARM MMU L1 TLB L2 TLB L1 Cache L2 Cache L3 Cache NoC DRAM
RISC-V 4-Core SMP · 多级 TLB + Cache 参考:SiFive U740 / Andes NDS · satp + sfence.vma DRAM DDR4/DDR5 · 物理地址空间 L3 Cache · Last-Level Cache (LLC) · 所有核共享 16–32 MB · Banked · MESI / MOESI / CHI 一致性协议 Bank 0 · 8 MB Bank 1 · 8 MB Bank 2 · 8 MB Bank 3 NoC Crossbar / Interconnect SiFive NoC (RISC-V) · CMN-600 (ARM) · AMBA AXI/ACE 协议 DDR Core 0 · hart-0 流水线 Pipeline Fetch → Decode → Execute → WB 分支预测 · 乱序执行 MMU 地址翻译 · 权限检查 satp 寄存器 · Sv39/Sv48 硬件页表行走器 (HWPTW) L1 ITLB 指令 TLB 48 项 · 全关联 L1 DTLB 数据 TLB 48 项 · 全关联 L2 TLB (核私有) 指令+数据统一 · miss handler 出口 U740: 512 项 · 4-way · per-core 私有 L1 I-Cache 指令缓存 32–48 KB · 64B line 4-way · VIPT L1 D-Cache 数据缓存 32 KB · 64B line 4-way · PIPT L2 Cache 私有 L2 · 指令+数据统一 U740: 2 MB · 8-way · VIPT SiFive U740 / Andes AN660 Core 1 · hart-1 流水线 Pipeline Fetch → Decode → Execute → WB 分支预测 · 乱序执行 MMU 地址翻译 · 权限检查 satp 寄存器 · Sv39/Sv48 硬件页表行走器 (HWPTW) L1 ITLB 指令 TLB 48 项 · 全关联 L1 DTLB 数据 TLB 48 项 · 全关联 L2 TLB (核私有) 指令+数据统一 · miss handler 出口 U740: 512 项 · 4-way · per-core 私有 L1 I-Cache 指令缓存 32–48 KB · 64B line 4-way · VIPT L1 D-Cache 数据缓存 32 KB · 64B line 4-way · PIPT L2 Cache 私有 L2 · 指令+数据统一 U740: 2 MB · 8-way · VIPT SiFive U740 / Andes AN660 Core 2 · hart-2 流水线 Pipeline Fetch → Decode → Execute → WB 分支预测 · 乱序执行 MMU 地址翻译 · 权限检查 satp 寄存器 · Sv39/Sv48 硬件页表行走器 (HWPTW) L1 ITLB 指令 TLB 48 项 · 全关联 L1 DTLB 数据 TLB 48 项 · 全关联 L2 TLB (核私有) 指令+数据统一 · miss handler 出口 U740: 512 项 · 4-way · per-core 私有 L1 I-Cache 指令缓存 32–48 KB · 64B line 4-way · VIPT L1 D-Cache 数据缓存 32 KB · 64B line 4-way · PIPT L2 Cache 私有 L2 · 指令+数据统一 U740: 2 MB · 8-way · VIPT SiFive U740 / Andes AN660 Core 3 · hart-3 流水线 Pipeline Fetch → Decode → Execute → WB 分支预测 · 乱序执行 MMU 地址翻译 · 权限检查 satp 寄存器 · Sv39/Sv48 硬件页表行走器 (HWPTW) L1 ITLB 指令 TLB 48 项 · 全关联 L1 DTLB 数据 TLB 48 项 · 全关联 L2 TLB (核私有) 指令+数据统一 · miss handler 出口 U740: 512 项 · 4-way · per-core 私有 L1 I-Cache 指令缓存 32–48 KB · 64B line 4-way · VIPT L1 D-Cache 数据缓存 32 KB · 64B line 4-way · PIPT L2 Cache 私有 L2 · 指令+数据统一 U740: 2 MB · 8-way · VIPT SiFive U740 / Andes AN660 TLB miss → 页表行走 TLB miss 后的 Page Walker PTE 也是普通内存数据 优先走数据侧缓存层级 L1 D$ L2 L3 / LLC DRAM L1 miss L2 miss 缓存一致性协议 Modified — 本核已修改 Exclusive — 独占此行 Shared — 多核共享干净 Invalid — 无效/未缓存 Snooping / Directory 总线监听 or 本地目录 RISC-V 关键寄存器 satp — 地址翻译根寄存器 sfence.vma — TLB 失效指令 sstatus.MXR — 允许取可执行 sstatus.SUM — 用户页访问 ASID — 地址空间标识符 MODE=Sv39 / Sv48