夜雨聆风学习资料网

ARTICLE · 1035095

点击Word文档打开的全部电路过程

点击Word文档打开的全部电路过程

你问的是:双击打开一个 Word 文档,从手指点击到屏幕显示,整个电脑电路是怎么运转的。

一句话总览:

点击 → 输入设备产生电信号 → 主板/芯片组接收 → 中断 CPU → 操作系统调度 → 从 SSD 读数据 → 内存加载 → CPU 执行指令 → GPU 渲染 → 显示器输出。全程由电源、时钟、复位、总线、中断、DMA 协同支撑。

下面按时间线拆开。


一、点击动作:手指变成电信号

  1. 鼠标/触摸板
       · 鼠标微动开关闭合,或触摸板电容变化。
       · 产生一个很小的电压/电流变化。
       · 鼠标内部 MCU 把它编码成 USB HID 报告:按键、坐标、滚轮。
  2. USB 传输
       · 通过 USB 差分信号线(D+ / D-)串行发送。
       · 信号是高速变化的电压,代表 0 和 1。
       · 传到主板上的 USB 控制器,通常集成在 PCH(平台控制器中枢) 或 CPU 里。
  3. PCH 处理
       · PCH 解析 USB 数据包,确认是“点击左键,坐标在 Word 图标上”。
       · 向 CPU 发一个 中断信号(IRQ 或 MSI)。
       · 中断线电压拉高,CPU 暂停当前任务,保存现场,跳转到中断处理程序。

二、操作系统:识别点击,找到 Word

  1. CPU 执行中断服务程序
       · 从内存中读取 USB 驱动的中断处理代码。
       · 驱动把 HID 报告转成系统输入事件。
  2. 操作系统输入子系统
       · Windows/macOS/Linux 的窗口管理器收到事件。
       · 根据坐标判断:你点的是桌面上的 Word 文档图标。
       · 决定启动 Word 进程,并打开这个 .docx 文件。
  3. 创建进程
       · 操作系统分配进程控制块、虚拟地址空间。
       · 准备从磁盘加载 Word 可执行文件。

三、存储读取:从 SSD/HDD 到内存

  1. 文件系统查询
       · 操作系统问文件系统:这个 .docx 和 Word 程序在磁盘哪个位置?
       · 文件系统读目录、索引,得到逻辑块地址。
  2. 存储设备电路
       · SSD:主控芯片收到 NVMe 命令,通过 PCIe 总线通信。
         · NAND 闪存阵列中,字线/位线加电压,读出电荷状态。
         · 数据经过 ECC 校验、缓存,通过 PCIe 发送。
       · HDD:磁头寻道,盘片旋转,磁头感应磁场变化,读出电信号。
  3. DMA 传输
       · 存储控制器用 DMA 直接把数据写入内存。
       · 不经过 CPU 逐字节搬运,CPU 只负责发指令和收完成中断。
       · 数据从 PCIe → 内存控制器 → DRAM。
  4. DRAM 写入
       · 内存条上的 DRAM 芯片:行激活、列选、读写、刷新。
       · 电容充放电代表 0/1。
       · 数据进入内存后,CPU 才能高速访问。

四、CPU 执行:加载 Word,解析文档

  1. CPU 取指
       · CPU 从内存读取 Word 程序的机器指令。
       · 指令经过译码、执行、访存、写回。
       · 涉及寄存器、ALU、缓存(L1/L2/L3)、分支预测。
  2. 加载动态库
       · Word 依赖大量 DLL:界面库、图形库、打印、拼写检查等。
       · 操作系统按需从磁盘调入内存。
  3. 解析 .docx
       · .docx 本质是 ZIP 包,里面有 XML。
       · Word 解压、解析 XML,得到文字、格式、图片。
       · 在内存中构建文档模型。
  4. 页面错误与按需调页
       · 如果内存不够,暂时不用的数据写回磁盘。
       · 需要时再触发缺页中断,从 SSD 读回。

五、GPU 与显示:把窗口画出来

  1. CPU 准备显示命令
       · Word 把要显示的窗口、文字、光标等交给图形子系统。
       · 通过 PCIe 把命令和数据发给 GPU。
  2. GPU 渲染
       · GPU 内部大量流处理器并行计算。
       · 把文字、图形、透明效果合成到帧缓冲。
       · 显存(GDDR/HBM)不断读写像素数据。
  3. 显示输出
       · 帧缓冲通过 DisplayPort / HDMI 输出。
       · 显示器接收串行视频信号,驱动液晶像素。
       · 你看到 Word 窗口出现。

六、贯穿全程的电路支撑

  1. 电源
       · 市电/电池 → 主板 VRM → 多相 Buck 电路。
       · MOSFET 高频开关,电感和电容滤波。
       · 输出 0.8~1.3V 给 CPU,1.1V 左右给内存,1.8V/3.3V 给外设。
       · 电流可达几十到上百安培。
  2. 时钟
       · 晶振产生基准频率。
       · PLL 倍频,分发给 CPU、内存、PCIe、USB。
       · 所有数字电路按节拍同步翻转。
  3. 复位
       · 上电时复位电路让各芯片进入已知状态。
       · 然后按顺序初始化:CPU → 内存 → PCH → 外设。
  4. 总线
       · PCIe:SSD、GPU、网卡。
       · DMI:CPU 与 PCH。
       · USB:鼠标、键盘。
       · 内存总线:CPU 与 DRAM。
  5. 中断与 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 的擦写为什么有寿命限制、会磨损。

相关学习资料