tags: [source-summary] type: source source: "从数电模电到计算机系统-原理与本质" author: "AI助手" date: 2026-09-19
从最底层的电子元器件(二极管、三极管)到完整的计算机系统,这条路径是怎么走通的?
初学者常有的困惑:
读完本文,你能理解:
用生活理解:模电就像"水力学"——电流像水流,电压像水压,三极管像"水龙头",可以用小水流控制大水流。
关键理解:
用生活理解:数电就像"乐高积木"——用最简单的积木块(逻辑门)搭建出复杂的功能。
| 门电路 | 功能 | 真值表 |
|---|---|---|
| 与门(AND) | 都为1才为1 | 0·0=0, 0·1=0, 1·0=0, 1·1=1 |
| 或门(OR) | 有一个1就为1 | 0+0=0, 0+1=1, 1+0=1, 1+1=1 |
| 非门(NOT) | 取反 | 0'=1, 1'=0 |
| 与非门(NAND) | 万能门 | 可以实现所有逻辑 |
| 或非门(NOR) | 万能门 | 可以实现所有逻辑 |
关键理解:
半加器:两个1位二进制数相加
S = A XOR B (异或)
C = A AND B (与)
全加器:考虑进位的加法器
S = A XOR B XOR Cin
Cout = (A AND B) OR (Cin AND (A XOR B))
4位加法器:把4个全加器串联 → 这就是CPU中ALU的核心
关键理解:
用生活理解:组合逻辑是"过路不留"(输入变输出立刻变),时序逻辑是"过路留痕"(能记住之前的状态)。
D触发器(最常用):
关键理解:
关键理解:
用生活理解:寄存器是"口袋"(小但快),存储器是"仓库"(大但慢)。
速度
↑
┌──────┴──────┐
│ 寄存器 │ ← 最快,最贵,最小(KB级)
├─────────────┤
│ Cache │ ← 快,贵,小(MB级)
├─────────────┤
│ 内存 │ ← 较快,适中,较大(GB级)
├─────────────┤
│ 硬盘/SSD │ ← 最慢,最便宜,最大(TB级)
└─────────────┘
关键理解:
用生活理解:CPU就像"工厂的流水线"——原材料(数据)进来,经过一道道工序(运算),变成产品(结果)出去。
ALU的工作原理:
| sel | 运算 |
|---|---|
| 00 | A + B |
| 01 | A - B |
| 10 | A & B |
| 11 | A | B |
控制单元的工作流程:
┌─────────────────────────────────────────────────┐
│ CPU │
│ ┌─────────────┐ ┌─────────┐ ┌────────────┐ │
│ │ 寄存器 │ │ ALU │ │ 控制单元 │ │
│ │ R0-R15 │ │加/减/与/或│ │ 取指译码 │ │
│ └──────┬──────┘ └────┬────┘ └─────┬──────┘ │
│ └───────────────┼────────────┘ │
│ ┌────┴────┐ │
│ │ 内部总线 │ │
│ └────┬────┘ │
└─────────────────────────┼───────────────────────┘
┌─────────────┼─────────────┐
│ 地址总线 │ 数据总线 │ 控制总线
↓ ↓ ↓
┌─────────────────────────────────────────────────┐
│ 内存 │
│ 指令 + 数据(同一块存储空间) │
└─────────────────────────────────────────────────┘
用生活理解:时钟像"节拍器",让所有部件同步工作;中断像"门铃",让CPU能响应外部事件。
┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐
│ │ │ │ │ │ │ │ │ │
───┘ └──┘ └──┘ └──┘ └──┘ └──
↑ ↑ ↑ ↑ ↑
上升沿 上升沿 上升沿 上升沿 上升沿
时钟的作用:
时钟与操作系统的关系:
configTICK_RATE_HZ = 1000 表示每秒1000个时钟滴答(1ms一个)┌─────────────┐
│ 外设 │ ── 中断请求信号(INT) ──→ ┌─────────────┐
│ (键盘、网卡)│ │ 中断控制器 │
└─────────────┘ │ (如GIC-400) │
└──────┬──────┘
│ 中断信号
↓
┌─────────────┐
│ CPU │
│ 停止当前任务 │
│ 执行中断处理 │
│ 返回继续执行 │
└─────────────┘
中断的硬件实现:
中断与操作系统的关系:
| 数电模电概念 | 计算机组成概念 | 操作系统概念 | Linux实现 | FreeRTOS实现 |
|---|---|---|---|---|
| 逻辑门 | 门电路 | - | - | - |
| 触发器 | 寄存器 | 上下文保存 | task_struct中的寄存器 | TCB中的pxTopOfStack |
| SRAM/DRAM | 内存 | 虚拟内存 | mm_struct | heap_1~5 |
| 组合逻辑 | ALU | - | - | - |
| 时序逻辑 | 控制单元 | 调度器 | CFS | 优先级抢占 |
| 时钟信号 | 时钟 | 时钟中断 | tick中断 | SysTick |
| 中断信号 | 中断控制器 | 中断处理 | GIC-400 | PendSV/NVIC |
| 总线 | 地址/数据/控制总线 | 系统调用 | syscall | SVC |
误区:CPU很神秘,是"黑盒子" 正解:CPU就是复杂的时序逻辑电路,由ALU、寄存器、控制单元组成
误区:内存和硬盘是一回事 正解:内存是RAM(断电丢失),硬盘是ROM/闪存(断电保持)
误区:时钟越快CPU越快 正解:时钟频率只是因素之一,还需要看CPI、指令集效率等
误区:中断会影响CPU性能 正解:中断是必要的,没有中断就无法响应外部事件
误区:操作系统是软件,和硬件无关 正解:操作系统的设计深受硬件结构影响(如中断、内存层次、上下文切换)
答:
答:
configTICK_RATE_HZ决定了调度的粒度(如1000Hz=1ms)答:
答:
答:
raw/Joplin/嵌入式+Linux/数电模电笔记/数电/05-触发器.md — 触发器详解raw/Joplin/嵌入式+Linux/数电模电笔记/数电/10-从零搭建计算机(上)-组成与算力.md — ALU与计算单元raw/Joplin/嵌入式+Linux/数电模电笔记/模电/01-半导体基础与PN结.md — 二极管/三极管/MOS管raw/Joplin/计算机专业基础/计算机组成原理/5.计算机中央处理器(CPU)_.md — CPU结构