图谱完整展示硬件→底层指令→编程语言的四层技术体系:
1、硬件层:x86、ARM64、Cortex-M、8051 等不同处理器架构,分别对应不同的指令集;
2、底层指令层:机器语言是 CPU 直接执行的二进制代码,汇编语言是机器码的符号化表达,多数助记符与机器指令一一对应(伪指令、宏除外),且严格区分指令集架构;
3、原生底层语言:C、C++、Rust、Zig、Fortran、D、Objective-C 等可直接编译为汇编 / 机器码,无托管虚拟机,但仍依赖系统运行时,能够直接操作硬件,是整个语言体系的基础;
4、高级语言分支:Go、Java/C#、Python/JS 等属于同级并行技术路线,根据运行机制分为轻运行时、虚拟机、解释器 / JIT 三类,封装程度逐级提升,与物理 CPU 的执行距离通常也由近及远。
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 各类处理器(核心硬件执行单元) │
│ x86(PC/服务器) │ ARM64(手机/云) │ Cortex-M(STM32) │ 8051传统单片机 │ RISC-V(开放) │
│ 【指令集是规范,处理器是实现】 │
└──────────────────────────────────────────────┬──────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 机器语言(二进制 0/1)【指令层 · 原生码】 │
│ 规则:处理器硬件电路直接解码;架构隔离,二进制不能跨架构直接运行 │
│ 封装:无任何软件中间层 │
└──────────────────────────────────────────────┬──────────────────────────────────────────────┘
↓ 一一映射
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 汇编语言 Assembly【指令层 · 符号化】 │
│ 规则:多数助记符 ↔ 机器码对应;x86 / ARM / RISC-V 汇编架构完全隔离 │
│ 封装:仅别名,无额外运行环境;可直接操作寄存器 / 内存 │
└──────────────────────────────────────────────┬──────────────────────────────────────────────┘
↓ 编译翻译
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ 第3层|原生底层编译语言(无托管 VM,编译产出机器码,裸机可开发) │
│ C / C++ / Rust / Mojo / Zig / Fortran / D / Objective-C │
│ 定位:系统基座语言;可直接操作硬件寄存器;OS / 虚拟机 / 解释器主要由这一层实现 │
│ 封装:无自带虚拟机 / 解释器;OS 环境下由操作系统加载执行 │
└──────────────────────────────────────────────┬──────────────────────────────────────────────┘
↓ 上层全部依托本层构建
┌────────────────────────────────┼────────────────────────────────┐
│ │ │
┌─────────────┴─────────────┐ ┌─────────────┴─────────────┐ ┌─────────────┴─────────────┐
│ 第4层分支1|轻运行时 │ │ 第4层分支2|虚拟机托管 │ │ 第4层分支3|解释型/JIT │
│ 编译原生码 + 内置运行时 │ │ 字节码 + VM 托管 │ │ 源码由解释器 / JIT 执行 │
│ 距离CPU:最近 │ │ 距离CPU:中等 │ │ 距离CPU:较远 │
├───────────────────────────┤ ├───────────────────────────┤ ├───────────────────────────┤
│ Go │ │ Java │ │ Python │
│ Swift │ │ C# │ │ JavaScript(含V8 JIT) │
│ │ │ Erlang(BEAM) │ │ Lua │
│ │ │ Elixir(BEAM) │ │ Ruby │
│ │ │ │ │ PHP │
│ │ │ │ │ Julia(LLVM JIT) │
└───────────────────────────┘ └───────────────────────────┘ └───────────────────────────┘
←────────────────────────────同属第4层 · 三种执行方式,可通过接口互相调用────────────────────────────→