ARTICLE · 1035095
点击Word文档打开的全部电路过程
你问的是:双击打开一个 Word 文档,从手指点击到屏幕显示,整个电脑电路是怎么运转的。
一句话总览:
点击 → 输入设备产生电信号 → 主板/芯片组接收 → 中断 CPU → 操作系统调度 → 从 SSD 读数据 → 内存加载 → CPU 执行指令 → GPU 渲染 → 显示器输出。全程由电源、时钟、复位、总线、中断、DMA 协同支撑。
下面按时间线拆开。
一、点击动作:手指变成电信号
鼠标/触摸板
· 鼠标微动开关闭合,或触摸板电容变化。
· 产生一个很小的电压/电流变化。
· 鼠标内部 MCU 把它编码成 USB HID 报告:按键、坐标、滚轮。USB 传输
· 通过 USB 差分信号线(D+ / D-)串行发送。
· 信号是高速变化的电压,代表 0 和 1。
· 传到主板上的 USB 控制器,通常集成在 PCH(平台控制器中枢) 或 CPU 里。PCH 处理
· PCH 解析 USB 数据包,确认是“点击左键,坐标在 Word 图标上”。
· 向 CPU 发一个 中断信号(IRQ 或 MSI)。
· 中断线电压拉高,CPU 暂停当前任务,保存现场,跳转到中断处理程序。
二、操作系统:识别点击,找到 Word
CPU 执行中断服务程序
· 从内存中读取 USB 驱动的中断处理代码。
· 驱动把 HID 报告转成系统输入事件。操作系统输入子系统
· Windows/macOS/Linux 的窗口管理器收到事件。
· 根据坐标判断:你点的是桌面上的 Word 文档图标。
· 决定启动 Word 进程,并打开这个 .docx 文件。创建进程
· 操作系统分配进程控制块、虚拟地址空间。
· 准备从磁盘加载 Word 可执行文件。
三、存储读取:从 SSD/HDD 到内存
文件系统查询
· 操作系统问文件系统:这个 .docx 和 Word 程序在磁盘哪个位置?
· 文件系统读目录、索引,得到逻辑块地址。存储设备电路
· SSD:主控芯片收到 NVMe 命令,通过 PCIe 总线通信。
· NAND 闪存阵列中,字线/位线加电压,读出电荷状态。
· 数据经过 ECC 校验、缓存,通过 PCIe 发送。
· HDD:磁头寻道,盘片旋转,磁头感应磁场变化,读出电信号。DMA 传输
· 存储控制器用 DMA 直接把数据写入内存。
· 不经过 CPU 逐字节搬运,CPU 只负责发指令和收完成中断。
· 数据从 PCIe → 内存控制器 → DRAM。DRAM 写入
· 内存条上的 DRAM 芯片:行激活、列选、读写、刷新。
· 电容充放电代表 0/1。
· 数据进入内存后,CPU 才能高速访问。
四、CPU 执行:加载 Word,解析文档
CPU 取指
· CPU 从内存读取 Word 程序的机器指令。
· 指令经过译码、执行、访存、写回。
· 涉及寄存器、ALU、缓存(L1/L2/L3)、分支预测。加载动态库
· Word 依赖大量 DLL:界面库、图形库、打印、拼写检查等。
· 操作系统按需从磁盘调入内存。解析 .docx
· .docx 本质是 ZIP 包,里面有 XML。
· Word 解压、解析 XML,得到文字、格式、图片。
· 在内存中构建文档模型。页面错误与按需调页
· 如果内存不够,暂时不用的数据写回磁盘。
· 需要时再触发缺页中断,从 SSD 读回。
五、GPU 与显示:把窗口画出来
CPU 准备显示命令
· Word 把要显示的窗口、文字、光标等交给图形子系统。
· 通过 PCIe 把命令和数据发给 GPU。GPU 渲染
· GPU 内部大量流处理器并行计算。
· 把文字、图形、透明效果合成到帧缓冲。
· 显存(GDDR/HBM)不断读写像素数据。显示输出
· 帧缓冲通过 DisplayPort / HDMI 输出。
· 显示器接收串行视频信号,驱动液晶像素。
· 你看到 Word 窗口出现。
六、贯穿全程的电路支撑
电源
· 市电/电池 → 主板 VRM → 多相 Buck 电路。
· MOSFET 高频开关,电感和电容滤波。
· 输出 0.8~1.3V 给 CPU,1.1V 左右给内存,1.8V/3.3V 给外设。
· 电流可达几十到上百安培。时钟
· 晶振产生基准频率。
· PLL 倍频,分发给 CPU、内存、PCIe、USB。
· 所有数字电路按节拍同步翻转。复位
· 上电时复位电路让各芯片进入已知状态。
· 然后按顺序初始化:CPU → 内存 → PCH → 外设。总线
· PCIe:SSD、GPU、网卡。
· DMI:CPU 与 PCH。
· USB:鼠标、键盘。
· 内存总线:CPU 与 DRAM。中断与 DMA
· 中断让 CPU 快速响应外设。
· DMA 让外设直接访问内存,减轻 CPU 负担。
七、简化流程图
手指点击↓鼠标/触摸板 → USB 控制器 → PCH↓中断 CPU↓操作系统识别点击↓文件系统定位 Word 和 .docx↓NVMe SSD → PCIe → DMA → 内存↓CPU 执行 Word 程序,解析文档↓GPU 渲染窗口↓DisplayPort/HDMI → 显示器↓你看到 Word 打开
八、总结
整个电脑电路的运转,不是一条线从头走到尾,而是无数电路模块在电源、时钟、复位驱动下,通过总线和协议协同:
· 电源提供能量;· 时钟提供节拍;· 输入设备把动作变成电信号;· PCH/CPU处理中断;· SSD/内存完成数据搬运;· CPU执行指令;· GPU渲染画面;· 显示器输出结果。
从你点击到 Word 打开,本质是:电信号 → 数字逻辑 → 总线传输 → 存储读写 → 指令执行 → 像素显示。
如果你愿意,我可以再往下拆一层,比如CPU 内部取指执行到底怎么翻晶体管,或者SSD 里 NAND 闪存怎么存 0 和 1。
好,那往下拆两层:先看 CPU 取指执行怎么落到晶体管,再看 NAND 闪存怎么存 0 和 1。
---
一、CPU 取指执行:从指令到晶体管翻转
1. 最底层:MOSFET 就是一个电控开关
CPU 里最基本的是 MOSFET,分 NMOS 和 PMOS。
· NMOS:栅极加高电压 → 源漏之间导通 → 相当于开关闭合。
· PMOS:栅极加低电压 → 导通 → 开关闭合。
用它们组成 CMOS 反相器:
· 输入 0 → PMOS 开、NMOS 关 → 输出 1。
· 输入 1 → PMOS 关、NMOS 开 → 输出 0。
这就是数字逻辑的起点:电压高低代表 0 和 1,晶体管开关实现逻辑非。
2. 逻辑门:NAND、NOR、传输门
把 CMOS 管组合起来,得到:
· NAND:两个 NMOS 串联,两个 PMOS 并联。
· NOR:两个 NMOS 并联,两个 PMOS 串联。
· 传输门:NMOS+PMOS 并联,用来导通或隔离信号。
这些门再组合成:
· 加法器:ALU 的核心。
· 多路选择器:选择数据来源。
· 译码器:把指令翻译成控制信号。
3. 时序逻辑:时钟和触发器
光有组合逻辑不够,还需要“记住”状态。
· 锁存器/触发器:由传输门和反相器组成,在时钟边沿锁存数据。
· 时钟:方波,上升沿/下降沿到来时,触发器更新。
· 寄存器:一组触发器,存 PC、指令、操作数。
CPU 的节拍就是:时钟沿 → 触发器更新 → 组合逻辑计算 → 下一个时钟沿再锁存。
4. 取指执行五步,落到电路
以一条加法指令为例:
① 取指
· PC 寄存器输出地址。
· 地址经总线送到内存。
· 内存返回指令,锁存到 IR(指令寄存器)。
② 译码
· 指令译码器把操作码变成一堆控制信号。
· 控制信号打开/关闭不同的传输门、选择器、ALU 通路。
③ 取操作数
· 寄存器堆读出两个操作数。
· 送到 ALU 输入端。
④ 执行
· ALU 内部加法器:进位链逐位翻转。
· 每一位都是 CMOS 门在翻转。
· 结果产生。
⑤ 写回
· 结果写回寄存器堆。
· PC 更新到下一条指令。
整个过程,每一个 0/1 都是晶体管栅极电压控制沟道通断,时钟一拍一拍推进。
---
二、NAND 闪存:怎么存 0 和 1
1. 存储单元:浮栅晶体管
NAND 的基本单元是 浮栅 MOSFET,比普通 MOSFET 多一层:
· 控制栅:加电压控制。
· 浮栅:夹在绝缘层中间,能困住电子。
· 沟道:源漏之间。
关键:浮栅里的电子数量,改变晶体管的阈值电压。
2. 写 0:往浮栅里灌电子
· 在控制栅加高电压。
· 电子通过 FN 隧穿 穿过绝缘层,进入浮栅。
· 浮栅捕获电子。
· 阈值电压升高。
· 读的时候,加正常电压,晶体管不导通 → 读为 0。
3. 擦 1:把电子抽走
· 加反向高压。
· 浮栅里的电子隧穿出去。
· 阈值电压降低。
· 读的时候,加正常电压,晶体管导通 → 读为 1。
4. 读取:看它通不通
· 控制栅加一个中间电压。
· 检测源漏之间是否导通。
· 导通 → 1,不导通 → 0。
· 这就是“读出电荷状态”。
5. 多值存储:MLC/TLC/QLC
不是只存 0 和 1,而是控制浮栅里电子数量,得到多个阈值电压:
· SLC:2 个电平,1 bit。
· MLC:4 个电平,2 bit。
· TLC:8 个电平,3 bit。
· QLC:16 个电平,4 bit。
电平越多,容量越大,但越容易出错,寿命越短。
6. 3D NAND:往上盖楼
平面 NAND 快到头了,就改成 3D NAND:
· 把存储单元一层层堆叠。
· 垂直沟道穿过很多层。
· 层数从 32 层到 200 多层。
· 容量大幅提升。
---
三、一句话总结
· CPU 取指执行:时钟一拍,PC 取指,译码器开控制门,寄存器送数,ALU 里 CMOS 门逐位翻转,结果写回。本质是晶体管开关按逻辑门和时钟节拍协同。
· NAND 存 0/1:往浮栅里灌电子或抽电子,改变阈值电压;读的时候看晶体管通不通。本质是电荷囚禁与释放。
如果你还想继续,我可以再往下拆:ALU 里的加法器怎么用最少的晶体管实现进位,或者 NAND 的擦写为什么有寿命限制、会磨损。