Appearance
现今几乎所有的硬件设备都需要通过 PCB 板子来承载逻辑电路,PCB 是逻辑电路的总称。
PCB(Printed Circuit Board,印制电路板)是电子元器件电气连接的提供者,通过在绝缘基材上按预定设计形成导电线路和孔径来实现电子元器件之间的互连。现代电子设备中,从简单的计算器到复杂的服务器,其核心电路都构建在 PCB 之上。
PCB 的主要作用包括提供元器件的固定支撑、实现元器件之间的电气连接、以及为电路提供散热路径。在嵌入式系统开发中,理解 PCB 的层次结构对于硬件选型和系统设计具有重要意义。
现代计算机的外观形态基本上都是一个板子,这个板子称为主板。主板是一个复杂的 PCB,用于将各个电路元件组装起来,包括:CPU、内存、硬盘、各种 IO 外设的接口等等。可以说,这个板子才是我们认知中的电脑,而所谓 CPU 是这个电脑的大脑,从物理构成上只是这个电脑的一小部分。
按层数可分为单面板、双面板和多层板。单面板只有一面有导电线路,成本最低但布线密度有限;双面板两面都有导电线路,通过过孔连接,是大多数简单应用的首选;多层板(4层、6层、8层甚至更多)则通过内部电源层和地层提供更好的电磁兼容性和信号完整性,常用于高速数字电路。
按基材可分为 FR-4(玻璃纤维环氧树脂,最常用)、铝基板(高功率应用)、陶瓷基板(高频应用)等。FR-4 具有良好的机械强度和电气性能,性价比高,是绝大多数嵌入式设备的选择;铝基板散热性能优异,常用于 LED 照明和功率模块;陶瓷基板在高频、高温环境下表现优异。
单板计算机(Single Board Computer),在嵌入式开发中,经常使用的计算机是一个体积小,功耗低的精致小板子,在这个小巧的板子上,包含了组成计算机所必需的全部构件。不过集成度还是要低于手机。
嵌入式设备中,多采用的是板分层架构,一个嵌入式的硬件平台会被分为核心板和底板,核心板主要由 SoC 芯片构成,底板上承载 IO 设备的接口。一个 SoC 芯片也像 PC 电脑那样,CPU 和主板具有高度的绑定性,一个 SoC 芯片往往只能安装于特定的底板之上,或者大多数情况下,开发拿到手的时候,核心板已经和底板焊死在一起了,是一个完整的可开发的硬件平台,通常被称为 SBC(Single Board Computer,单板计算机),外观上就是一块 PCB 板子,但是它已经包含了一个计算机所需要所有硬件,剩下的就只需要给它包一个机箱或者盒子就行。
常见的 SBC 包括树莓派、BeagleBone、NVIDIA Jetson 系列等。这些板卡集成了 CPU、内存、存储接口、网络接口和各种外设接口,可以直接运行 Linux 等操作系统,非常适合快速原型开发和教学使用。与传统的 PC 主板相比,SBC 通常功耗更低、体积更小、针对性更强,专为嵌入式应用场景优化。
SoC 的引脚非常多(通常是 BGA 封装,有几百个细小的焊点),普通的 PCB 工艺很难处理,且直接在主板上焊接 SoC 的维修成本太高,因此工业界普遍采用这种"积木式"的架构。SoC 一般会在底面或者侧面暴露引脚或者通过板载连接器与底板通信。
核心板与底板的分离带来了显著的实际工程价值。当 SoC 升级换代时,只需更换核心板而无需重新设计整个底板;当产品需要不同的 IO 配置时,只需设计不同的底板而保持核心板不变。这种模块化设计大大降低了研发成本和风险。
SOM(系统模块)是核心板的正式称呼,将 SoC 先焊接到一个非常小的 PCB 上,专门完成 SoC 的焊接、时序等复杂的焊接工艺,将 SoC 的锡球引脚包装成简单的板间通信电路接口。SOM 通常集成了 CPU、RAM、Flash 存储器、电源管理芯片等核心组件,通过高密度的板对板连接器(如 0.5mm 或 0.8mm 间距的板对板连接器)与底板连接。
这种设计使得 SOM 可以作为独立的子模块进行生产和测试,提高了良品率。底板则相对简单,主要承载各种接口电路(如以太网 PHY、USB 收发器、串口驱动等)和连接器,对 PCB 工艺要求较低,成本也更可控。
常见的 SOM 接口标准包括 SODIMM(类似笔记本内存条的接口)、定制的高速连接器等。通过标准化的接口,同一款 SOM 可以适配不同的底板,为产品系列化提供了硬件基础。
将芯片焊接在 PCB 板上。芯片封装直接影响 PCB 的焊接难度、可维修性和电气性能,理解不同封装的特点对于硬件选型和生产成本控制至关重要。
这种芯片的引脚像"蜈蚣腿"一样从四周伸出来,侧面可以看到整齐排列的金属引脚。引脚暴露在外,看得见、摸得着,具有极好的可操作性。
优点是易于焊接和维修,哪怕是手工拿着烙铁也能完成焊接或更换芯片;同时易于测试,工程师可以用示波器探头直接点在引脚上测量信号,调试阶段非常友好。
缺点也很明显:引脚数量受限,因为引脚只能排在芯片四周,如果需要 500 个引脚,这颗芯片会变得像盘子一样大,占用大量 PCB 空间;高频性能差,引脚较长,像一根根小天线,在处理极高频率的数据时会产生明显的干扰和寄生效应。
这种封装常用于引脚数量较少(100 脚以内)的芯片,如早期的 MCU、电源管理芯片、接口芯片等。
BGA 封装的芯片侧面光滑,看不到引脚,翻过来可以看到底部整齐排列的金属球(焊球)。引脚不再局限于边缘,而是铺满了整个芯片底部,形成密集的焊球阵列。
优点包括极高密度,在同样的尺寸下,BGA 可以容纳比 QFP 多出几倍甚至十几倍的引脚,这正是高性能 SoC(如手机 CPU)必须采用 BGA 的原因;电气性能极佳,信号传输路径极短,适合高速数据传输(如 DDR4 内存信号);散热更好,芯片底部直接通过焊球与 PCB 大面积接触,热量可以更快地传导到 PCB 的散热层。
缺点是焊接门槛高,无法用手工烙铁焊接,必须使用回流焊炉或热风枪;维修困难,焊点被盖在芯片下面,坏了看不见,必须用 X 光机才能检查内部焊接是否虚焊,更换芯片也需要专业的 BGA 返修台。
BGA 封装是高性能 SoC、FPGA、高速存储器芯片的必然选择,在嵌入式系统设计中非常常见。实际工程中,BGA 焊接的可靠性需要通过 PCB 设计时的焊盘设计、阻焊层开窗、回流焊温度曲线等环节来保证。
PC 主板(Motherboard)是嵌入式硬件工程师经常参考的设计范例,它采用与嵌入式 SBC 类似的分层架构思想,但在标准化程度和扩展性方面更为成熟。现代 PC 主板由 PCB 基板、芯片组、CPU 插槽、内存插槽、扩展插槽和各种接口组成,承载了计算机系统的核心功能。
PC 主板最大的特点是标准化和模块化。CPU 采用 Socket 插槽(如 LGA、AM 系列)而非焊接,用户可以自由升级;内存采用 DIMM 插槽,支持不同容量和频率的内存条;扩展插槽(PCIe)允许添加显卡、网卡、采集卡等各种功能卡。这种模块化设计使得同一块主板可以适配不同配置的组件,大大延长了产品的生命周期。
PC 主板的 PCB 设计通常比嵌入式板卡更复杂。高速信号(如 PCIe Gen5、DDR5)对阻抗控制、层叠结构、走线拓扑有严格要求;电源部分需要处理数百瓦的功率,对铜箔厚度、散热设计提出了挑战;EMI/EMC 合规性要求比大多数嵌入式产品更严格。这些都是嵌入式硬件工程师在设计高速板卡时需要学习的经验。
服务器主板在 PC 主板的基础上进一步强化了扩展性和可靠性。服务器主板通常支持多路 CPU(如双路、四路),每路 CPU 可以有多达 64 个核心,通过 QPI 或 UPI 总线互连,提供强大的并行计算能力。内存支持也远超消费级主板,通常支持 24 条甚至更多内存插槽,容量可达数 TB,采用 ECC 内存纠错技术,确保数据完整性。
服务器主板的扩展性极强,通常配备多个 PCIe x16 插槽,可以安装多张显卡、网卡、RAID 卡等设备。服务器专用接口包括 BMC(基板管理控制器)IPMI 接口,用于远程管理和监控;VLAN、虚拟化支持等企业级网络功能;冗余电源接口,支持热插拔电源以提高可靠性。机架式结构采用标准 19 英寸机架,高度单位为 U(1U=1.75 英寸),常见有 1U、2U、4U 等规格,便于在数据中心高密度部署。
服务器主板的 PCB 设计比普通主板更复杂。多层板通常在 8 层以上,以应对大量的高速信号和电源网络。电源部分采用多相供电设计,每相配备高品质电感和电容,确保在高负载下稳定供电。散热设计也更加严格,通常配备温度传感器和智能风扇控制,根据温度自动调节风扇转速。对于嵌入式开发者,服务器主板的设计经验值得借鉴,特别是在高功率密度设计、热管理、可靠性设计等方面。
对于嵌入式开发者来说,PC 主板的价值在于提供了成熟的设计参考。Mini-ITX、NUC 等小型化主板形态直接影响着嵌入式 SBC 的设计;工业级主板(如研华、凌华的产品)则是嵌入式工业控制设备的直接选择;甚至有些嵌入式产品直接使用 x86 平台,在 PC 主板上扩展专用的 IO 卡,快速完成产品开发。
手机 PCB 代表了当今嵌入式电路板设计的最高水平,是先进工艺和极致空间的集大成者。现代智能手机的 PCB 通常采用 6-12 层高密度互连(HDI)设计,在极小的空间内容纳了应用处理器、基带芯片、电源管理、射频前端、内存、存储等数十颗芯片,以及数百个被动元件。
手机 PCB 的核心特点是"极小空间、极高密度"。一块典型手机主板的尺寸约为 50mm × 100mm,却集成了相当于整个 PC 主板的功能。为实现这种高密度集成,手机 PCB 采用了 Any-layer HDI 技术,允许任意层之间的盲埋孔连接,最小孔径可达 0.1mm,最小线宽线距可达 0.075mm。这种工艺水平远超普通嵌入式板卡,接近半导体制造的精度。
手机 PCB 的另一大挑战是射频设计。一部现代手机需要支持 2G/3G/4G/5G、Wi-Fi、蓝牙、GPS、NFC 等多种无线制式,射频前端极其复杂。PCB 设计者需要在有限空间内合理安排天线位置、射频走线、屏蔽罩和滤波元件,确保各种无线信号互不干扰。射频走线通常要求阻抗精确控制在 50Ω,线宽公差要求在±5% 以内,这对 PCB 制造工艺提出了极高要求。
手机 PCB 的散热设计极具挑战性。由于机身密闭、无风扇,所有热量只能通过机身表面被动散出。PCB 设计者需要通过铜箔分布、金属屏蔽罩、石墨片等手段,将芯片产生的热量均匀传导到机身表面。同时,手机对功耗极其敏感,PCB 上的电源分配网络需要精细设计,以最小化传输损耗和热量产生。
尽管手机 PCB 技术先进,但其生态系统极其封闭,这与嵌入式开发者的需求形成了鲜明对比。手机 SoC(如高通骁龙、联发科天玑、华为海思)从不对外零售,只能通过手机厂商采购;手机 PCB 设计文件属于商业机密,外界无法获取参考设计;手机维修配件市场混乱,原厂 PCB 难以获得。同时,手机 PCB 的扩展性较低,现在的手机对外暴露的接口,往往只有一个 type-C 的 USB 接口和 sim 卡槽。
这种封闭性源于手机产业的商业模式。手机厂商通过软硬件一体化的封闭生态来建立竞争壁垒,PCB 设计作为核心机密自然不会公开。对于嵌入式开发者来说,手机 PCB 的价值仅限于技术参考,无法直接借鉴或复用。即使有能力获得拆解后的手机主板,也缺乏相应的原理图、BOM 表和驱动支持,难以进行二次开发。
虽然无法直接使用手机 PCB,但嵌入式开发者可以从手机设计中学到经验。例如,HDI 技术可以应用于高密度嵌入式板卡;射频屏蔽罩的思路可以应用于无线通信设备;被动散热的设计理念可以应用于低功耗嵌入式产品。手机 PCB 代表了工程实践的极限,理解其设计思路有助于提升嵌入式硬件设计水平。
除了主板和底板,计算机系统中还有大量基于 PCB 的扩展卡和插件设备,它们通过标准接口连接到主板,提供扩展功能。这些设备本质上也是 PCB,只是形态和接口有所不同。
存储设备:。机械硬盘的电路板位于盘体底部,控制磁头读写和数据传输。固态硬盘则完全是一块 PCB,集成了主控芯片、NAND 闪存颗粒、DRAM 缓存等组件,通过 SATA、NVMe 等接口连接主板。M.2 NVMe 固态硬盘体型小巧,直接插入主板插槽,传输速率可达 7GB/s 以上。
内存条:。内存条(DIMM)是最常见的扩展设备,实际上是长条形的 PCB,上面焊接了多颗 DRAM 芯片。通过金手指与主板的内存插槽连接,支持热插拔升级。内存条的 PCB 设计要求极高,因为 DDR 信号频率高达数千 MHz,需要精确的阻抗匹配和等长布线。
网络接口卡:。独立网卡通过 PCIe 插槽扩展网络功能,支持万兆以太网、光纤通道等高速接口。网卡 PCB 上集成了网络控制器、PHY 芯片、网络变压器和接口连接器,对于高性能网卡,还需要处理散热和 EMI 问题。
显卡:。显卡是最复杂的扩展卡之一,本身就是一块小型主板。显卡 PCB 集成了 GPU 核心、显存颗粒、供电模块、显示输出接口等,功耗可达数百瓦,需要专门的散热系统。显卡 PCB 通常采用 8-12 层板设计,GPU 和显存间的高带宽信号对布线要求极高。
其他扩展卡:。包括声卡、采集卡、RAID 控制卡、HBA 卡等各种专业扩展卡。这些卡通过 PCIe、PCI、ISA 等标准总线连接主板,提供特定的功能。对于嵌入式开发者,理解这些扩展卡的 PCB 设计有助于设计自定义的扩展模块。
接口标准:。扩展卡与主板的连接接口标准化是模块化的基础。PCIe 是当前主流,支持 x1、x4、x8、x16 等不同带宽;SATA 用于存储设备;USB 用于外设连接。这些标准接口定义了机械尺寸、电气特性、协议规范,确保不同厂商的产品可以互换使用。
/abstract - 目录 /ai - 人工智能 /ai/app - 大模型应用 /ai/app/api/openai-rpc - OpenAI_API /ai/app/arch - 应用架构 /ai/app/arch/api - API 设计 /ai/app/arch/caching - Prompt Caching /ai/app/arch/gateway - 网关与缓存 /ai/app/arch/routing - 模型路由 /ai/app/auto - 自动化 /ai/app/auto/impl - 实现原理 /ai/app/auto/traditional - 传统自动化 /ai/app/engine - 推理引擎 /ai/app/engine/llama/cpp /ai/app/engine/llama_cpp - llama.cpp /ai/app/engine/mistral/rs /ai/app/engine/mistral_rs - mistral.rs /ai/app/engine/rust/infer /ai/app/engine/rust_infer - Rust 推理引擎 /ai/app/engine/vllm - vLLM /ai/app/finetune - 微调 /ai/app/lib - 框架库 /ai/app/lib/langchain - LangChain /ai/app/lib/langchain/langgraph - LangGraph /ai/app/lib/langchain/runnable - LCEL 与 Runnable /ai/app/lib/packages - 常用包 /ai/app/multimodal - 多模态 /ai/app/multimodal/audio - 语音交互 /ai/app/multimodal/generation - 媒体生成 /ai/app/multimodal/vision - 视觉理解 /ai/app/overlay - Overlay /ai/app/overlay/agent - 智能体 /ai/app/overlay/agent/a2a - A2A 协议 /ai/app/overlay/agent/case - 应用实战 /ai/app/overlay/agent/case/claude/code /ai/app/overlay/agent/case/claude_code - Claude Code /ai/app/overlay/agent/case/cline - Cline /ai/app/overlay/agent/cua - Computer Use Agent /ai/app/overlay/agent/deep/agent /ai/app/overlay/agent/deep_agent - Deep Agent /ai/app/overlay/agent/loop - Agent 循环 /ai/app/overlay/agent/mcp - MCP Server /ai/app/overlay/agent/safety - 安全防护 /ai/app/overlay/agent/safety/content - 内容安全 /ai/app/overlay/agent/safety/guardrails - Guardrails /ai/app/overlay/agent/safety/injection - Prompt 注入 /ai/app/overlay/agent/skills - Skills /ai/app/overlay/agent/tools - 工具调用 /ai/app/overlay/ops - LLMOps /ai/app/overlay/ops/eval - 评估框架 /ai/app/overlay/ops/monitor - 可观测性 /ai/app/overlay/ops/test - 测试策略 /ai/app/overlay/rag - RAG /ai/app/overlay/rag/agentic/rag /ai/app/overlay/rag/agentic_rag - Agentic RAG /ai/app/overlay/rag/data - 数据工程 /ai/app/overlay/rag/data/parsing - 文档解析 /ai/app/overlay/rag/data/processing - 数据处理 /ai/app/overlay/rag/embedding - Embedding /ai/app/overlay/rag/graphrag - GraphRAG /ai/app/overlay/rag/retrieval - 检索质量 /ai/app/overlay/rag/vector/db /ai/app/overlay/rag/vector_db - 向量数据库 /ai/app/overlay/session - 会话管理 /ai/app/overlay/session/compression - 上下文压缩 /ai/app/overlay/session/context - Context Engineering /ai/app/overlay/session/prompt - 提示词 /ai/app/overlay/ui - AI UI /ai/compute - AI 引擎 /ai/compute/api - 标准接口 /ai/compute/api/cpu - SIMD /ai/compute/api/cuda - CUDA /ai/compute/api/opencl - OpenCL /ai/compute/api/simt - SIMT /ai/compute/api/triton - Triton /ai/compute/deploy - 部署 /ai/compute/deploy/eco - 部署工具 /ai/compute/deploy/hardware - 硬件 /ai/compute/deploy/llmops - LLMOps /ai/compute/deploy/multi-gpu - 多卡推理 /ai/compute/deploy/onnx-deploy - ONNX 部署 /ai/compute/deploy/optimization - 推理优化 /ai/compute/deploy/quantization - 模型量化 /ai/compute/deploy/serving - 服务部署 /ai/compute/distributed - 集群 /ai/compute/distributed/comm - 集合通信 /ai/compute/distributed/parallel - 模型拆分 /ai/compute/engine - 主流引擎 /ai/compute/engine/deepspeed - DeepSpeed /ai/compute/engine/other - 其他 /ai/compute/engine/pytorch - PyTorch /ai/compute/engine/vllm - vLLM /ai/compute/impl - 设计实现 /ai/compute/impl/kvcache - KV Cache /ai/compute/impl/moe - 混合专家 /ai/compute/impl/speculative - 投机解码 /ai/compute/kernel - 算子 /ai/compute/kernel/concepts - 概念索引 /ai/compute/kernel/flashattention - FlashAttention /ai/compute/kernel/format - 模型格式 /ai/compute/kernel/fusion - 算子融合 /ai/compute/kernel/gguf - GGUF /ai/compute/kernel/marlin - Marlin /ai/compute/kernel/onnx - ONNX /ai/compute/kernel/optimization - 算子优化 /ai/compute/kernel/quant/matrix /ai/compute/kernel/quant_matrix - 量化选型 /ai/compute/kernel/quantization - 量化算法 /ai/compute/stack - 计算栈 /ai/cpp - C++ /ai/neural - 神经网络 /ai/neural/dl - 深度学习 /ai/neural/dl/audio - 听觉 /ai/neural/dl/backforward - 反向传播 /ai/neural/dl/cnn - CNN /ai/neural/dl/diffusion - Diffusion /ai/neural/dl/multimodal - 多模态 /ai/neural/dl/nlp - NLP /ai/neural/dl/recommend - 推荐 /ai/neural/dl/rnn - RNN /ai/neural/dl/transformer - Transformer /ai/neural/dl/vision - 视觉 /ai/neural/dl/vit - ViT /ai/neural/llm - LLM /ai/neural/llm/arch - 架构 /ai/neural/llm/finetune - 微调 /ai/neural/llm/memo - 记忆 /ai/neural/llm/pretraind - 基座模型 /ai/neural/math - 数学基础 /ai/neural/ml - 机器学习 /ai/neural/ml/bf - 梯度下降法 /ai/neural/ml/loss - 损失函数 /ai/neural/ml/reinforce - 强化学习 /ai/neural/ml/supervised - 监督学习 /ai/neural/ml/unsupervised - 无监督学习 /ai/neural/numpy - Numpy /ai/neural/pytorch - PyTorch /ai/neural/sklearn - sklearn /ai/python - Python /ai/python/basic - 语言基础 /ai/python/basic/module - 模块系统 /ai/python/fastapi - FastAPI /ai/python/jupyter - jupyter /ai/python/uv - uv /ai/symbol - 符号逻辑 /ai/symbol/expert-system - 专家系统 /ai/symbol/logic - 数理逻辑基础 /ai/symbol/neuralify - 神经符号融合 /ai/symbol/outline - 学习路线 /ai/symbol/prolog - Prolog /ai/symbol/reasoning - 推理引擎与搜索 /ai/symbol/representation - 知识表示 /basic - 理论基础 /basic/algo - 算法 /basic/algo/compress - 压缩 /basic/algo/crypto - 加密和解密 /basic/algo/model - 算法模型 /basic/algo/model/bit - 位运算 /basic/algo/model/dp - 动态规划 /basic/algo/model/leetcode - leetcode 题型 /basic/algo/model/recrusion - 递归 /basic/algo/model/struct - 数据结构辅助 /basic/algo/sort - 排序算法 /basic/algo/string - 字符串算法 /basic/algo/struct - 数据结构 /basic/algo/struct/graph - 图 /basic/algo/struct/traversal - 图遍历 /basic/algo/struct/tree - 树 /basic/compile - 编译原理 /basic/compile/advance - 高级语言 /basic/compile/dsl - DSL /basic/compile/dsl/glob - glob /basic/compile/dsl/regex - 正则表达式 /basic/compile/lang - 编程语言概览 /basic/db - 数据库 /basic/db/cmp - SQL /basic/db/nf - 范式 /basic/graphic - 图形学 /basic/graphic/2d - 2D 图形 /basic/graphic/3d - 3D 场景渲染 /basic/hardware - 硬件组成 /basic/hardware/coding - 编码 /basic/hardware/cpu - CPU /basic/hardware/gpu - GPU /basic/hardware/interrupt - 中断 /basic/hardware/motherboard - 主板 /basic/hardware/storage - 存储 /basic/hardware/topo - CPU 拓扑 /basic/network - 网络协议 /basic/network/ether - 以太网 /basic/network/http - HTTP /basic/network/ip - IP /basic/network/protocol - 网络协议 /basic/network/tcp - TCP /basic/network/udp - UDP /basic/os - 操作系统 /basic/os/mm - 内存管理 /basic/os/schd - 调度 /client - 客户端 /client/art - 美术设计
/client/art/mime - 媒体文件 /client/art/render - 渲染 /client/art/toolchain - 工具链 /client/csharp - C# /client/csharp/async - 异步编程 /client/csharp/basic - 语言基础 /client/csharp/dotnet - .NET /client/csharp/msbuild - MSBuild /client/csharp/nuget - NuGet /client/csharp/unity - Unity /client/game - 游戏引擎 /client/game/cocos - Cocos /client/game/godot - Godot /client/game/unity - Unity /client/game/unreal - Unreal /client/gui - 图形应用 /client/gui/arch - 架构 /client/gui/arch/observe - 可观测性 /client/gui/ergonomic - 人机关系 /client/gui/ergonomic/interact - 人机交互 /client/gui/ergonomic/screen - 屏幕 /client/gui/framework - UI 框架 /client/gui/framework/cross - 跨平台 /client/gui/framework/electron - Electron /client/gui/framework/flutter - Flutter /client/gui/framework/flutter/dart - Dart /client/gui/framework/reactnative - ReactNative /client/gui/platform - UI 平台 /client/gui/platform/android - Android /client/gui/platform/gnome - Gnome /client/gui/platform/ios - Apple /client/gui/platform/web-env - Web 宿主 /client/gui/platform/windows - Windows /client/gui/security - 安全 /client/gui/security/access - 应用权限 /client/gui/security/antiattack - 网络攻击 /client/gui/security/auth - 登录鉴权 /client/gui/security/privacy - 隐私保护 /client/gui/security/sandbox - 沙箱 /client/render - 渲染引擎 /client/render/api - 标准接口 /client/render/api/directx - DirectX /client/render/api/opengl - OpenGL /client/render/api/sdl - SDL /client/render/api/vulkan - Vulkan /client/render/api/vulkan/icd - ICD /client/render/api/vulkan/spirv - SPIR-V /client/render/api/webgl /client/render/api/webgpu - WebGPU /client/render/basic - 渲染基础 /client/render/basic/mapping - 贴图 /client/render/basic/scene - 3D 场景 /client/render/engine - 主流引擎 /client/render/engine/cycles - Cycles /client/render/engine/godot - Godot /client/render/engine/skia - Skia /client/render/raster - 光栅化管线 /client/render/raster/ae - 后处理 /client/render/raster/illumination - 光照模型 /client/render/raster/rast - 光栅化算法 /client/render/raytrace - 光线追踪管线 /client/render/raytrace/bvh - 加速算法 /client/render/raytrace/denoise - 降噪 /client/render/raytrace/integrate - 混合渲染管线 /client/render/shader - 着色器 /client/render/shader/optimization - 着色器优化 /client/render/shader/patterns - 常见模式 /client/render/stack - 计算栈 /client/render/vec/compose /client/render/vec_compose - 矢量合成管线 /client/rust - Rust /client/rust/basic - 语言基础 /client/rust/basic/assets - 静态资源管理 /client/rust/basic/closure - 闭包 /client/rust/basic/ld - 链接库 /client/rust/basic/macro - 宏 /client/rust/basic/mod - 模块系统 /client/rust/basic/ref - 智能指针 /client/rust/basic/trait - 特性 /client/rust/cargo - Cargo /client/rust/cli - CLi /client/rust/framework - UI 框架 /client/rust/framework/iced - iced /client/rust/framework/slint - Slint /client/rust/framework/tauri - Tauri /client/rust/wasm - WASM /client/web - Web /client/web/api - Web API /client/web/api/wasm - WASM /client/web/browser - 浏览器 /client/web/browser/arch - 架构 /client/web/browser/devtools - DevTools 性能分析 /client/web/browser/eventloop - 事件循环 /client/web/browser/http - HTTP 协议 /client/web/browser/memleak - 内存泄漏 /client/web/browser/optimize - 性能优化 /client/web/browser/render - 渲染周期 /client/web/browser/render copy - 渲染周期 /client/web/browser/security - 浏览器安全 /client/web/browser/security copy - 安全 /client/web/browser/storage - 存储 /client/web/browser/v8 - V8 /client/web/css - CSS /client/web/css/basic - 语言基础 /client/web/css/sass - Sass /client/web/css/tailwind - Tailwindcss /client/web/css/trick - CSS trick /client/web/css/trick/animation - CSS 动画 /client/web/css/trick/bfc - 块级格式上下文 /client/web/css/trick/layout - 布局 /client/web/css/trick/layout/box-sizing - CSS盒模型 /client/web/css/trick/layout/containing-block - 包含块 /client/web/css/trick/layout/grid - grid布局 /client/web/css/trick/relative - 主题定制 /client/web/css/trick/sort - css 属性的分类 /client/web/css/trick/z-index - 层叠上下文与 z-index /client/web/eng - 工程化 /client/web/eng/bootstrap - 项目搭建 /client/web/eng/build - 构建优化 /client/web/eng/engineering - 工程化搭建 /client/web/eng/migration - 迁移 /client/web/eng/svg - svg /client/web/eng/vite - Vite /client/web/eng/vite-plugin - Vite 插件 /client/web/eng/webpack - Webpack /client/web/html - HTML /client/web/html/basic - 语言基础 /client/web/html/mathml - MathML /client/web/html/md - Markdown /client/web/html/seo - SEO /client/web/html/svg - SVG /client/web/html/trick - HTML trick /client/web/html/trick/drag - HTML 拖放 API /client/web/html/trick/event - 事件与尺寸获取 /client/web/html/trick/wc - Web Component /client/web/js - JavaScript /client/web/js/basic - 语言基础 /client/web/js/basic/async - 异步编程 /client/web/js/basic/class - 面向对象 /client/web/js/basic/iterable - 迭代器 /client/web/js/basic/obj-base-ops - js 对象基本操作 /client/web/js/basic/own-property - 属性的可枚举性和所有者 /client/web/js/basic/proto - 原型链 /client/web/js/basic/stream - Stream API /client/web/js/basic/type-transform - 隐式类型转换 /client/web/js/npm - npm /client/web/js/typescript - TypeScript /client/web/js/typescript/basic - 语法基础 /client/web/nodejs - Nodejs /client/web/nodejs/express - Express.js /client/web/nodejs/nestjs - Nestjs /client/web/nodejs/performance - Node.js 性能调优 /client/web/react - React /client/web/react/fiber - Fiber 与调和 /client/web/react/rsc - 服务端组件 /client/web/solid - Solid /client/web/ssr - SSR /client/web/ssr/nextjs - Nextjs /client/web/ssr/nuxtjs - Nuxtjs /client/web/ssr/seo - SEO /client/web/ssr/ssg - SSG /client/web/ssr/vike - Vike /client/web/typical - 典型业务 /client/web/vue - Vue /client/web/vue/cpc - 组件通信 /client/web/vue/nuxt-server - 服务端组件 /client/web/vue/vdom - 虚拟 DOM 与 Diff 算法 /design - 软件设计 /design/async - 异步 /design/async/async-await - await /design/async/reactive - 响应式 /design/async/schedule - 用户态调度 /design/concurrent - 并发 /design/concurrent/atom - 原子操作 /design/concurrent/barrier - 内存屏障 /design/concurrent/lock - 同步原语 /design/concurrent/lock/free /design/concurrent/lock_free - 无锁并发 /design/concurrent/thread - 多线程 /design/fp - 函数式 /design/fp/composition - 组合 /design/fp/functor - 函子 /design/fp/hint - hint /design/fp/immutable - 不可变 /design/fp/io - IO /design/fp/state - 状态管理 /design/oop - 面向对象 /design/oop/aop - AOP /design/oop/interface - 接口与抽象 /design/oop/ioc - IOC /design/oop/lifetime - 对象生命周期 /design/oop/om - 对象模型 /design/oop/pattern - 设计模式 /design/oop/relationship - 类间关系 /design/oop/solid - SOLID /design/spacetime - 面向时空 /design/spacetime/domain - 主机域 /design/spacetime/general - 通用域 /design/spacetime/general/architecture - 架构演进 /design/spacetime/general/container - 容器
/design/spacetime/general/corruption - 腐化 /design/spacetime/general/dependency - 依赖管理 /design/spacetime/general/tradeoff - 权衡 /design/spacetime/network - 网络域 /design/spacetime/process - 进程域 /design/spacetime/process/coupling - 组件耦合 /design/spacetime/process/scope - 作用域 /design/spacetime/process/single - 单进程 /design/spacetime/space - 体系建构 /design/typical - 经典范式 /design/typical/ability - 质量属性 /design/typical/ddd - DDD /design/typical/duty - 职责分配 /design/typical/macro - 宏观指导 /design/typical/maintainability - 可读性与可维护性 /design/typical/refactor - 重构 /design/typical/reliability - 可靠性与可用性 /design/typical/requirements - 需求分析 /design/typical/simplify - 简化原则 /design/typical/swift - 敏捷开发 /examples - 随便看看 /index /kernel - 系统层 /kernel/asm - 汇编 /kernel/asm/arm - ARM 指令集 /kernel/c - C /kernel/c/basic - 语言基础 /kernel/c/basic/io - io 操作 /kernel/c/basic/string - 字符串操作 /kernel/c/build - 构建系统 /kernel/c/concurrent - 并发编程 /kernel/c/debug - 调试 /kernel/c/lib - 库函数 /kernel/embed - 嵌入式 /kernel/embed/bios - BIOS /kernel/embed/device - 外设 /kernel/embed/device/bus - 总线设备 /kernel/embed/device/bus/i2c - I2C /kernel/embed/device/bus/pci - PCI /kernel/embed/device/bus/usb - USB /kernel/embed/device/comm - 数据面 /kernel/embed/device/platform - 平台设备 /kernel/embed/device/sub - 集成子设备 /kernel/embed/device/wwan - 蜂窝模块 /kernel/embed/elel - 硬件基础 /kernel/embed/elel/design - 打板 /kernel/embed/elel/fpga - FPGA /kernel/embed/elel/pcb - PCB /kernel/embed/elel/soc - SoC /kernel/embed/freertos - FreeRTOS /kernel/embed/iot - 物联网 /kernel/embed/sbc - 开发板 /kernel/embed/sbc/raspberry - 树莓派 /kernel/embed/sbc/stm32 - STM32 /kernel/embed/uboot - U-Boot /kernel/equip - 装机 /kernel/equip/bmc - BMC /kernel/equip/gpu - GPU /kernel/equip/laptop/brand /kernel/equip/laptop_brand - 笔记本 /kernel/equip/lte - LTE /kernel/equip/motherboard - 主板 /kernel/equip/motherboard/bmc - BMC 详解 /kernel/equip/motherboard/consumer - 消费级 /kernel/equip/motherboard/epyc - EPYC 装机 /kernel/equip/motherboard/ram - 内存适配 /kernel/equip/motherboard/server - 服务器 /kernel/equip/motherboard/threadripper - Threadripper 装机 /kernel/equip/motherboard/workstation - 工作站 /kernel/equip/motherboard/xeon - Xeon 装机 /kernel/equip/ram - 内存 /kernel/equip/sbc - SBC /kernel/equip/screen - 屏幕 /kernel/equip/server/room /kernel/equip/server_room - 机房 /kernel/equip/slot - 接口 /kernel/equip/support - 支撑设备 /kernel/linux - Linux /kernel/linux/develop - 系统开发 /kernel/linux/develop/ctx - 内核上下文 /kernel/linux/develop/io/uring /kernel/linux/develop/io_uring - io_uring /kernel/linux/develop/ip/cli /kernel/linux/develop/ip_cli - ip 命令 /kernel/linux/develop/kbuild - linux 内核构建系统 /kernel/linux/develop/lock - 同步原语 /kernel/linux/develop/service - 系统服务 /kernel/linux/develop/socket - 套接字 /kernel/linux/develop/stream-block - 流式与块式存取 /kernel/linux/develop/struct - 数据结构 /kernel/linux/develop/struct/iov - 聚簇读写 /kernel/linux/develop/struct/linked - 链表 /kernel/linux/develop/systemd - systemd /kernel/linux/develop/zero-copy - sendfile 零拷贝 /kernel/linux/device - 设备管理 /kernel/linux/device/dma - DMA /kernel/linux/device/driver - 驱动接口 /kernel/linux/device/driver/can - CAN /kernel/linux/device/driver/pci - PCIe 驱动 /kernel/linux/device/driver/usb - USB 驱动 /kernel/linux/device/driver/virtio /kernel/linux/device/iommu - IOMMU /kernel/linux/device/lifecycle - 生命周期 /kernel/linux/device/udev - udev /kernel/linux/file - 文件管理 /kernel/linux/file/block - 块设备子系统 /kernel/linux/file/pfs - 伪文件系统 /kernel/linux/file/vfs - 虚拟文件系统 /kernel/linux/irq - 中断管理 /kernel/linux/irq/clock - 时钟中断 /kernel/linux/irq/controller - 中断控制器 /kernel/linux/irq/handler - 中断处理 /kernel/linux/irq/sync - 内核并发机制 /kernel/linux/mm - 内存管理 /kernel/linux/mm/mmap - 虚拟内存映射 /kernel/linux/mm/pmm - 物理内存管理 /kernel/linux/mm/reclaim - 内存回收 /kernel/linux/mm/swap - 内存交换 /kernel/linux/net - 网络实现 /kernel/linux/net/stack - 协议栈 /kernel/linux/power - 电源管理 /kernel/linux/power/boot - 开机上电 /kernel/linux/power/tpm - 安全启动 /kernel/linux/process - 进程管理 /kernel/linux/process/cgroup - Cgroup /kernel/linux/process/ipc - IPC /kernel/linux/process/namespace - 命名空间 /kernel/linux/process/schd - 调度 /kernel/linux/process/security - 权限管理 /kernel/linux/syscall - 系统调用 /kernel/linux/syscall/file - 文件管理 /kernel/linux/syscall/mm - 内存管理 /kernel/linux/syscall/process - 进程管理 /kernel/linux/video - 视图系统 /kernel/linux/video/terminal - 终端系统 /kernel/netlink - 通信 /kernel/netlink/hardware - 硬件通信 /kernel/netlink/protocol - 协议分层 /kernel/vm - 虚拟化 /kernel/vm/basic - 基本原理 /kernel/vm/basic/bios - BIOS /kernel/vm/basic/cpu - CPU /kernel/vm/basic/device - 设备 /kernel/vm/basic/memory - 内存 /kernel/vm/debug - 虚拟机调试增强 /kernel/vm/qemu - QEMU 内核调试 /kernel/vm/spdk-dpdk - SPDK 与 DPDK /kernel/vm/vfio - VFIO /kernel/vm/virtio - VirtIO /sde - 工程化 /sde/container - 容器 /sde/container/docker - Docker /sde/container/principle - 实现原理 /sde/git - Git /sde/git/advanced - Git 高阶用法 /sde/git/github - Github /sde/git/gitlab - Gitlab /sde/k8s - K8s /sde/k8s/k3s - k3s /sde/k8s/network - 网络模型 /sde/shell - Shell /sde/shell/basic - 语言基础 /sde/shell/cli - 常见命令行 /sde/sre - 运维 /sde/sre/elk - 可观测性 /sde/sre/jenkins - Jenkins /sde/sre/openstack - OpenStack /sde/sre/tuning - Linux 性能调优 /sde/test - 测试 /sde/test/basic - 测试原理 /sde/test/framework - 测试工具与框架 /sde/test/tdd - 测试驱动开发 /sde/workflow - 工作流 /sde/workflow/devops - DevOps /sde/workflow/devops/cicd - CI/CD /sde/workflow/quality - 质量控制 /sde/workflow/quality/docs - 文档工程 /sde/workflow/quality/review - Code Review /sde/workflow/version - 版本管理 /server - 服务端 /server/db - 数据库 /server/db/architecture - 数据库架构分层 /server/db/distributed - 集群 /server/db/distributed/comparison - 数据库对比与选型 /server/db/distributed/newsql - NewSQL 数据库 /server/db/distributed/sharding - 分库分表 /server/db/distributed/transaction - 分布式事务 /server/db/engine - 存储引擎 /server/db/engine/fulltext - 全文检索 /server/db/engine/graph - 图 /server/db/engine/innodb - innodb /server/db/engine/vector - 向量 /server/db/nosql - NoSQL /server/db/nosql/es - ElasticSearch /server/db/nosql/milvus - Milvus /server/db/nosql/milvus/idx - 向量索引 /server/db/nosql/milvus/storage - 分布式能力 /server/db/nosql/milvus/usage - 使用实践 /server/db/nosql/minio - MinIO /server/db/nosql/mongo - MongoDB
/server/db/nosql/neo4j - Neo4j /server/db/nosql/redis - Redis /server/db/practice - 工程实践 /server/db/practice/backup - 备份与恢复 /server/db/practice/capacity - 容量规划 /server/db/practice/cloud - 云数据库服务 /server/db/practice/monitoring - 监控与运维 /server/db/practice/standards - 数据库规范 /server/db/practice/tuning - 性能调优实践 /server/db/sql - SQL /server/db/sql/basic - sql 基础 /server/db/sql/basic/design - 数据库设计 /server/db/sql/basic/integrity - 数据完整性 /server/db/sql/basic/transaction - 事务与并发控制 /server/db/sql/mysql - MySQL /server/db/sql/mysql/acid - ACID /server/db/sql/mysql/id - 索引 /server/db/sql/mysql/impl - 存储引擎 /server/db/sql/mysql/optimize - 查询优化 /server/db/sql/pg - PostgreSQL /server/db/sql/sqlite - SQLite /server/distribute - 分布式 /server/distribute/arch - 集群架构 /server/distribute/basic - 分布式基础 /server/distribute/basic/cap - CAP /server/distribute/basic/concurrency - 并发模型 /server/distribute/basic/concurrency/coroutine - 协程原理 /server/distribute/basic/concurrency/event-loop - 事件驱动架构 /server/distribute/basic/consensus - 共识算法 /server/distribute/basic/consensus/paxos - Paxos 算法 /server/distribute/basic/consensus/raft - Raft 算法 /server/distribute/basic/consensus/zab - ZAB 协议 /server/distribute/basic/id - 分布式 ID /server/distribute/basic/lock - 分布式锁 /server/distribute/basic/transaction - 分布式事务 /server/distribute/cloud - 云原生 /server/distribute/cloud/arch - 架构 /server/distribute/cloud/cicd - CI/CD /server/distribute/cloud/container - 容器技术 /server/distribute/cloud/mesh - Service Mesh /server/distribute/cloud/orchestration - Kubernetes /server/distribute/cloud/pkg - 包管理与镜像 /server/distribute/micro - 微服务 /server/distribute/micro/cache - 缓存 /server/distribute/micro/cache/consistency - 缓存一致性 /server/distribute/micro/config - 配置中心 /server/distribute/micro/discovery - 服务发现 /server/distribute/micro/gateway - API 网关 /server/distribute/micro/lb - 负载均衡 /server/distribute/micro/observability - 可观测性 /server/distribute/micro/observability/monitoring - 监控告警 /server/distribute/micro/observability/tracing - 链路追踪 /server/distribute/micro/qos - QoS /server/distribute/micro/qos/chaos - 混沌工程 /server/distribute/micro/qos/fuse - 熔断限流 /server/distribute/micro/qos/ha - 高可用与容错 /server/distribute/micro/qos/ha/load-balance - 负载均衡 /server/distribute/micro/qos/highes - 三高 /server/distribute/micro/qos/monitor - 监控 /server/distribute/micro/qos/observability - 可观测性 /server/distribute/micro/qos/observability/monitoring - 监控指标设计 /server/distribute/micro/qos/performance - 性能优化 /server/distribute/micro/qos/performance/profiling - 性能分析工具 /server/distribute/micro/qos/reliability/disaster-recovery - 容灾 /server/distribute/micro/qos/reliability/failover - 故障转移 /server/distribute/micro/qos/slashing - 限流降级 /server/distribute/micro/reliability - 健壮性 /server/distribute/micro/reliability/fusing - 熔断降级 /server/distribute/micro/reliability/ratelimit - 限流 /server/go - Go /server/go/gmp - GMP 调度器 /server/java - Java /server/java/basic - 语言基础 /server/java/jvm - JVM 内存与 GC /server/java/mod - 模块系统 /server/java/mod/gradle - gradle /server/java/mod/maven - Maven /server/java/spring - Spring /server/middleware - 中间件 /server/middleware/mq - 消息队列 /server/middleware/mq/kafka - Kafka /server/middleware/mq/rabbitmq - RabbitMQ /server/middleware/mq/rocketmq - RocketMQ /server/middleware/mycat - MyCat /server/middleware/proxy - 代理 /server/middleware/proxy/gateway - API 网关 /server/middleware/proxy/haproxy - haproxy /server/middleware/proxy/lvs - LVS /server/middleware/proxy/nginx - Nginx /server/middleware/srs - SRS /server/network - 网络编程 /server/network/io-model - I/O 模型 /server/network/proto - 网络协议 /server/network/proto/http - HTTP /server/network/proto/quic - QUIC /server/network/proto/rpc - RPC 框架 /server/network/proto/tcp - TCP /server/network/proto/udp - UDP /server/network/proto/websocket - WebSocket /server/network/security - 网络安全 /server/network/tcp-tuning - TCP 调优 /server/network/zero-copy - 零拷贝 /server/typical - 典型业务 /server/typical/auth - 登录鉴权 /server/typical/flash/sale /server/typical/flash_sale - 秒杀活动 /server/typical/image - 图片上传 /server/typical/order - 订单管理 /server/typical/search - 内容搜索 /server/typical/setup - 快速建站 /web3 - 去中心化 /web3/blockchain - 区块链 /web3/blockchain/consensus - 共识机制 /web3/blockchain/crypto - 密码学支持 /web3/blockchain/ethereum - 以太坊 /web3/blockchain/zk-proof - 零知识证明 /web3/dapp - DApp /web3/dapp/defi - DeFi /web3/dapp/tokens - 代币标准 /web3/dapp/wallets - 账户与钱包 /web3/solidity - Solidity /web3/solidity/smart-contracts - 智能合约