0.1 什么是计算机
由使用者输入指令与数据,经过中央处理器的数学与逻辑单元运算处理后,以产生或存储成有用的信息。所以,只要有输入设备及输出设备,又有CPU能进行复杂运算的,这就是计算机了。
相关服务:德国服务器租用
0.1.1 计算机硬件的五大单元
- 输入单元、输出单元、控制器、运算器、存储器。
输入单元: 键盘、鼠标、触摸屏、手写板、扫描仪等等。
输出单元: 显示器、打印机等。
控制器: 协调各周边元件与各单元间的工作。
运算器: 负责程序的运算与逻辑判断。
存储器: 存储数据。
控制器与运算器集成在CPU中,而CPU为一个具有特定功能的芯片,里面含有微指令集。
CPU处理的数据来自于内存,当打开一个软件或资料,系统先把文档从硬盘加载到内存中,CPU再从内存中读取数据。
0.1.2 CPU的架构
CPU内部的微指令集(也称微程序)是连接机器指令与硬件电路的“翻译官”和“指挥官”。它的核心作用是将一条复杂的机器指令,拆解成一系列简单、精确的硬件控制信号,从而指挥CPU内部的各个组件(如寄存器、运算器等)协同工作,最终完成指令的功能。
具体来说,微指令集的作用体现在以下几个方面:
指令的“翻译”与“执行”
- 翻译层:CPU直接执行的是二进制的机器指令。微指令集为每一条机器指令都编写了一段对应的微程序,这段微程序由多条微指令组成。
- 执行单元:每条微指令在一个时钟周期内生效,它会直接产生一组控制信号,精确地控制CPU内部的数据通路,例如打开某个寄存器的输出门、选择多路选择器的输入、控制ALU进行加法运算等。
简化硬件设计,提升灵活性
- 替代硬连线:在没有微指令集的硬布线控制器中,指令的控制逻辑由复杂的组合逻辑电路直接实现,设计和修改都非常困难。而微指令集将控制逻辑“软件化”,存放在一个专用的只读存储器(控制存储器)中。
- 易于修改与扩展:如果需要修正指令的执行逻辑或增加新指令,理论上只需修改或更新控制存储器中的微程序,而无需重新设计整个CPU的物理电路。这极大地提高了CPU设计的灵活性和可维护性。
实现复杂的指令功能
对于CISC(复杂指令集计算机)架构的CPU,一条机器指令的功能可能非常复杂。微指令集可以将这些复杂操作拆解为几十甚至上百个简单的微操作步骤,通过微程序的顺序和分支来精确控制整个执行流程,这是硬布线逻辑难以高效实现的。
作为不同架构的“桥梁”
- 仿真与兼容:通过编写特定的微程序,一个CPU可以“模拟”另一个不同指令集架构的CPU的行为。例如,某些CPU可以通过微码更新来修复兼容性问题。
- 统一底层硬件:在现代CPU中,复杂指令的微程序可以将它们统一转换为一种更简单的内部指令格式(如RISC风格的μops),使得后续的超标量、乱序执行等高级优化技术能够更高效地工作。
核心概念解析
为了更好地理解,可以记住以下几个关键点:
- 微指令 (Micro-instruction):控制CPU内部硬件的最基本单位,对应一个时钟周期的操作。
- 微程序 (Micro-program):由多条微指令组成,专门用于解释和执行一条机器指令。
- 控制存储器 (Control Store):CPU内部的一个专用ROM,用于存放所有指令对应的微程序。
总而言之,CPU内部的微指令集是CPU设计中的一项关键技术。它通过“软件化”的方式,将复杂的机器指令翻译成CPU硬件能够直接执行的简单操作,不仅简化了硬件设计,还带来了极大的灵活性和强大的功能实现能力。
0.1.2.1 精简指令集与复杂指令集
CPU的精简指令集(RISC)与复杂指令集(CISC)是两种根本不同的设计哲学。尽管它们在现代处理器中相互借鉴、界限已不如从前分明,但其核心思想依然主导着不同领域的计算市场。
核心区别:两种设计哲学
-
精简指令集 (RISC - Reduced Instruction Set Computer)
- 设计理念:追求“简单高效”。指令集非常精简,每条指令只完成一个基本操作(如一次加法、一次数据加载),并且指令长度固定,执行时间通常为一个时钟周期。
- 优点:硬件设计简单,功耗低,易于实现流水线和并行处理,能效比高。
- 缺点:完成一个复杂任务需要多条指令,导致编译后的程序代码量相对较大,对编译器的优化能力要求高。
- 代表架构:ARM, RISC-V, MIPS, SPARC。
-
复杂指令集 (CISC - Complex Instruction Set Computer)
- 设计理念:追求“功能强大”。指令集非常丰富,包含许多复杂的指令,一条指令可以完成一个复杂操作(如一条指令完成内存读取、计算和写回)。
- 优点:编程相对简单,编译后的代码密度高(程序更短),向后兼容性好。
- 缺点:硬件设计极其复杂,功耗高,指令执行时间不固定,难以高效地进行流水线和并行处理。
- 代表架构:x86 (由Intel和AMD主导)。
现代应用:RISC 与 CISC 的版图划分
CISC 的“自留地”:x86 架构
尽管 RISC 在能效上优势明显,但 CISC 凭借其强大的生态和兼容性,在以下领域依然占据绝对主导地位:
- 个人电脑 (PC) 和工作站:这是 x86 的传统核心领地。Windows 和 macOS (Intel 版本) 生态系统,以及海量的专业软件(如 CAD、视频编辑、大型游戏)都深度依赖 x86 架构。
- 服务器和数据中心:在需要运行大型数据库、企业级应用和虚拟化环境的传统服务器市场,x86 凭借其强大的单线程性能和成熟的虚拟化技术占据主导地位。
值得注意的是,现代 x86 处理器(如 Intel Core 和 AMD Ryzen)早已不是纯粹的 CISC。它们在内部会将复杂的 x86 指令动态解码成一系列类似 RISC 的“微操作”(Micro-ops),然后由一个高效的 RISC 核心来执行,从而兼顾了高性能和能效。
RISC 的“主战场”:ARM 架构
RISC 的最大成功体现在 ARM 架构上,它凭借卓越的能效比,几乎垄断了以下市场:
- 智能手机和平板电脑:全球绝大多数移动设备都采用基于 ARM 架构的处理器(如高通骁龙、苹果 A/M 系列、联发科天玑),其低功耗特性是移动设备长续航的关键。
- 嵌入式系统和物联网 (IoT):从智能家居设备、可穿戴设备到工业控制系统,ARM 的低功耗、低成本和高集成度使其成为首选。
- 汽车电子:现代汽车中的信息娱乐系统、高级驾驶辅助系统 (ADAS) 等,越来越多地采用 ARM 架构的处理器。
新兴力量:RISC-V
作为最年轻的开源 RISC 架构,RISC-V 因其开放、免费、可定制的特点,正迅速崛起,主要应用于:
- AIoT 和边缘计算:在需要高度定制化和成本敏感的 AIoT 设备、边缘服务器中,RISC-V 正在快速渗透。
- 汽车和工业控制:许多厂商开始在汽车的微控制器 (MCU)、区域控制器和工业自动化设备中采用 RISC-V。
- 高性能计算 (HPC) 和数据中心:虽然尚处早期,但已有公司开始设计基于 RISC-V 的高性能服务器 CPU 和 AI 加速芯片,挑战 x86 和 ARM 的地位。
- 太空探索:RISC-V 的开放性和可定制性也吸引了 NASA、欧洲空间局等机构,正在开发用于航天器的抗辐射处理器。
总结:三足鼎立的现状与未来
总的来说,当前的处理器市场形成了一个相对清晰的格局:
- x86 (CISC):牢牢占据桌面 PC、工作站和传统服务器市场,依靠强大的生态壁垒维持优势。
- ARM (RISC):在移动设备、嵌入式系统和汽车电子领域占据绝对主导地位,是能效比的标杆。
- RISC-V (RISC):作为开源新锐,正在AIoT、边缘计算、定制化加速器等新兴领域快速扩张,并有望在未来挑战前两者的传统市场。
这三者并非完全对立,而是长期并存,各自在最适合其优势的领域发光发热。同时,它们也在相互借鉴,例如 x86 内部的 RISC 化设计,以及 ARM 和 RISC-V 不断增强其在服务器和高性能计算领域的能力。
0.1.3 x86的由来
“x86”这个名称,源于英特尔(Intel)早期一系列微处理器型号的数字后缀,其核心是一个以数字“86”结尾的处理器家族。它的由来和发展历程非常清晰:
0.1.3.1 核心起源:Intel 8086 处理器
- 诞生:1978年,英特尔公司推出了其首款16位微处理器,型号为 Intel 8086。
- 命名规则:这款处理器是英特尔“x86”王朝的开创者。随后,英特尔又陆续推出了其升级版本,如 80186、80286、80386 和 80486。
- “x86”的由来:由于这些处理器的型号都以“86”结尾,在业界和用户口中,它们被统称为“86”系列。久而久之,这个家族的指令集架构就被简称为 “x86”,其中的“x”代表了可变的前缀数字(如1, 2, 3, 4)。
0.1.3.2 名称的延续与演变
- 商标限制与命名变更:到了20世纪90年代初,当英特尔开发出第五代处理器时,他们意识到纯数字无法注册为商标。因此,英特尔放弃了“80586”的命名方式,转而为其新处理器注册了 “Pentium”(奔腾) 这个著名的商标。
- 架构名称的固化:尽管产品名称从“80x86”变为了“Pentium”、“Core”(酷睿)等,但其底层的指令集架构已经非常成熟和稳定。为了指代这个延续下来的架构,“x86” 这个名称被保留并固化下来,成为该架构家族的统称。
- 扩展与兼容:后续,AMD公司率先将x86架构从32位扩展到64位,推出了 AMD64 架构。英特尔后来也采纳了这一扩展(最初称为IA-32e,后改为Intel 64)。为了区分,人们通常将支持64位的架构称为 “x86-64” 或 “x64”,但它依然是x86家族的一部分,保持了强大的向后兼容性。
总而言之,“x86”这个名称直接来源于Intel 8086及其后继者(80186, 80286等)处理器型号中共同的“86”后缀。即便英特尔后续更改了产品商标,这个源于早期型号的架构名称也因其广泛认知度而被沿用至今。
0.1.4 32位与64位
“32位”与“64位”是描述计算机处理器(CPU)和操作系统(OS)架构的核心术语,它从根本上定义了系统处理和管理数据的能力。这个数字直接源于CPU中寄存器的位数,而寄存器是CPU内部用于暂存数据和地址的最高速存储单元,其大小决定了整个系统的数据处理与寻址能力。
0.1.4.1 核心区别:寄存器位数与内存寻址能力
-
寄存器位数:这是最根本的区别。一个32位的CPU,其通用寄存器是32位宽,一次能处理32位(4字节)的数据;而64位CPU的寄存器是64位宽,一次能处理64位(8字节)的数据,理论上数据吞吐能力翻倍。
-
内存寻址能力(最关键差异):寄存器也用于存储内存地址。因此,寄存器的位数直接决定了CPU能访问的最大物理内存空间。
- 32位系统:32位的地址总线最多能寻址
2^32个不同的内存地址,即 4GB (4,294,967,296 字节)。这意味着,无论你安装了多少物理内存,32位的Windows操作系统最多只能有效利用 4GB。 - 64位系统:64位的地址总线理论上能寻址
2^64个地址,这是一个天文数字(约 16 EB,即160亿GB)。这远远超出了当前任何个人电脑或服务器的实际内存配置,因此可以认为64位系统几乎没有内存上限。
- 32位系统:32位的地址总线最多能寻址
0.1.4.2 各维度详细对比
| 维度 | 32位系统 | 64位系统 | 说明 |
|---|---|---|---|
| 数据处理能力 | 一次处理32位数据 | 一次处理64位数据 | 对于需要大量计算的任务(如视频渲染、科学计算),64位CPU的处理效率更高。 |
| 寄存器数量 | 较少 | 更多 | x86-64架构在x86的基础上增加了通用寄存器的数量,减少了数据在CPU和内存之间搬运的次数,提升了执行效率。 |
| 指令集 | x86指令集 | x86-64指令集(也称AMD64/Intel 64) | 64位模式下引入了新的指令,并对原有指令进行了扩展,以支持64位操作数和地址。 |
| 软件兼容性 | 只能运行32位软件 | 向下兼容,可运行32位和64位软件 | 64位操作系统内置了一个“兼容层”(如Windows的WOW64),可以运行为32位系统编译的程序。但32位系统无法运行为64位系统编译的程序。 |
| 性能 | 相对较低 | 相对更高 | 除了数据吞吐和寄存器优势,64位系统在处理大内存数据时无需进行复杂的“分页”操作,速度更快。 |
0.1.4.3 如何理解“位”(Bit)
“位”(Bit)是计算机中最小的数据单位,它只有两种状态:0 或 1。计算机的所有信息(数字、文字、图像、声音)最终都以二进制位的形式进行存储和处理。
- 8位 = 1个字节(Byte)
- 32位 = 4个字节
- 64位 = 8个字节
因此,当CPU的寄存器是64位时,意味着它一次能最高效地处理8个字节的数据块。
0.1.4.4 现实影响与选择建议
-
内存需求:如果你的电脑需要安装超过4GB的内存(例如8GB、16GB或更多),那么必须选择64位操作系统,否则超出部分的内存将无法被系统识别和使用。
-
软件要求:现代的专业软件(如大型游戏、视频编辑软件Adobe Premiere、3D建模软件Blender、数据库系统等)为了获得更好的性能和利用更多内存,都已推出甚至只提供64位版本。如果你需要运行这类软件,就必须使用64位系统。
-
性能体验:对于日常办公、网页浏览等轻度任务,32位和64位系统的体验差异可能不大。但在进行高强度计算、多任务处理或使用大内存应用时,64位系统的性能优势会非常明显。
总而言之,32位与64位的根本区别在于CPU的寄存器大小,这直接导致了它们在最大内存支持和数据处理能力上存在巨大鸿沟。随着应用软件对资源需求的不断增长,64位系统早已成为个人电脑、服务器和现代计算设备的绝对主流和标准配置。
0.1.5 其他单元的设备
五大单元中逻辑运算与控制单元封装在CPU中,其它三个单元如下:
- 系统单元: CPU、内存、主板(包括主板上的其它硬件)。
- 存储单元: 内存、辅助内存(硬盘、软盘、光盘、磁带等)。
- 输入/输出单元: 键盘、鼠标、显示器、触摸屏、打印机等等。
0.1.6 运行流程
把计算机必做人的身体,各硬件与身体部位对应如下;
- CPU=大脑
- 内存=正在思考的内容
- 硬盘=记忆
- 主板=神经系统
- 各种周边设备=人体跟外界沟通接触的五官等。
- 显卡=脑袋中的影像
- 电源供应器=心脏
CPU的数据都来自于内存,而内存的内容要从硬盘加载或输入设备输入。
0.1.7 计算机按用途分类
计算机按用途分类,主要可以分为两大类:通用计算机和专用计算机。这种划分方式的核心标准是看一台计算机的功能是面向广泛的应用场景,还是为特定任务而生。
0.1.7.1 通用计算机 (General-Purpose Computer)
通用计算机是为解决各种不同类型的问题而设计的,具有极强的灵活性和通用性。我们日常接触的绝大多数计算机都属于此类。
-
核心特点:
- 功能多样:通过安装不同的软件,可以执行科学计算、文字处理、图像编辑、游戏娱乐、网络通信等几乎无限的任务。
- 高度灵活:同一个硬件平台可以根据用户需求随时改变其功能。
- 结构复杂:为了支持广泛的软件生态,其硬件和操作系统设计都相当复杂。
-
典型代表:
- 个人计算机 (PC):包括台式机和笔记本电脑,是应用最广泛的通用计算机。
- 服务器 (Server):为网络中的其他计算机(客户端)提供数据、文件、应用等服务的高性能计算机。
- 工作站 (Workstation):面向特定专业领域(如图形设计、工程仿真)的高性能个人计算机。
- 大型机 (Mainframe) 和 超级计算机 (Supercomputer):分别用于大规模数据处理和极致科学计算的巨型通用计算机。
0.1.7.2 专用计算机 (Special-Purpose Computer)
专用计算机则是为解决一个或一类非常特定的问题而专门设计和制造的。它的设计目标是在特定领域内实现极致的效率、速度、可靠性或低成本。
-
核心特点:
- 功能单一:通常只能执行一种或少数几种预设的任务,无法像通用计算机那样随意安装软件改变功能。
- 高效专用:因为只做一件事,所以其硬件和软件都针对该任务进行了最优化,执行效率极高。
- 结构相对简单:省去了通用计算机中许多不必要的复杂组件,因此通常成本更低、功耗更小、可靠性更高。
-
典型代表:
- 嵌入式系统 (Embedded System):这是最庞大的一类专用计算机,它们被“嵌入”到各种电子设备中,作为其智能控制核心。例如:手机基带芯片、汽车发动机控制单元(ECU)、智能手表主控、家用电器(洗衣机、微波炉)的控制板等。
- 工业控制计算机 (PLC):用于工厂自动化生产线上的实时控制和数据采集。
- 网络设备:如路由器、交换机,它们内部都有专用的处理器来高效处理网络数据包。
- 游戏机:虽然功能看似多样,但像 PlayStation、Xbox 这类游戏主机,其硬件架构是为游戏这一特定应用场景高度定制和优化的,因此也可以看作是一种专用计算机。
核心区别一览
| 特性 | 通用计算机 | 专用计算机 |
|---|---|---|
| 主要用途 | 解决各种广泛的问题 | 解决一个或一类特定问题 |
| 功能 | 多样、可变(通过软件) | 单一、固定(通常固化在硬件/固件中) |
| 灵活性 | 极高 | 极低 |
| 设计目标 | 通用性、可编程性 | 在特定任务上的效率、速度、成本、功耗优化 |
| 复杂度 | 高 | 相对较低 |
| 例子 | 个人电脑、服务器、笔记本 | 手机基带芯片、汽车ECU、路由器、微波炉控制器 |
0.1.8 计算机常用计算单位
计算机中的常用计算单位是衡量数据存储、处理和传输能力的基础,主要围绕 位 (bit) 和 字节 (Byte) 这两个核心概念构建。理解它们之间的关系和换算,是掌握计算机基础知识的关键一步。
0.1.8.1 核心基石:位与字节
-
位 (bit):这是计算机中最小的数据单位,代表一个二进制数字,即 0 或 1。所有信息在计算机底层最终都以位的形式表示。
-
字节 (Byte):这是计算机中最基本的存储单位。1 个字节由 8 个位 (bit) 组成,即
1 Byte = 8 bits。我们常说的文件大小、内存容量,其基础计量单位都是字节。
0.1.8.2 存储容量单位:从内存到硬盘
为了衡量更大的数据量,我们使用基于字节的、以 1024 为换算基数的单位(这源于二进制计算的特性)。
| 单位 | 全称 | 换算关系 | 常见用途 |
|---|---|---|---|
| KB | 千字节 (Kilobyte) | 1 KB = 1,024 Bytes | 计量小文本文件、图标等。 |
| MB | 兆字节 (Megabyte) | 1 MB = 1,024 KB | 计量中等大小的文件,如MP3音乐、高分辨率图片。 |
| GB | 吉字节 (Gigabyte) | 1 GB = 1,024 MB | 计量大型文件,如电影、游戏;也用于标称内存(RAM)和固态硬盘(SSD)容量。 |
| TB | 太字节 (Terabyte) | 1 TB = 1,024 GB | 主要用于标称大容量机械硬盘(HDD)、企业级存储和数据中心容量。 |
| PB | 拍字节 (Petabyte) | 1 PB = 1,024 TB | 用于描述超大规模数据中心、云计算平台的存储总量。 |
重要提示:硬盘制造商有时会采用以 1000 为换算基数的十进制标准(即
1 GB = 1,000,000,000 Bytes)来标注产品容量。这就是为什么你购买的硬盘在电脑上显示的可用空间会略小于标称值。
0.1.8.3 处理与传输速率单位:衡量速度
这类单位通常使用以 1000 为换算基数的十进制标准,并且多用 位 (bit) 作为基础单位。
-
处理器时钟频率:
- Hz (赫兹):基本单位,表示每秒的周期数。
- MHz (兆赫) / GHz (吉赫):表示每秒百万次或十亿次时钟周期。CPU 的主频(如 3.5 GHz)就用此单位,它反映了 CPU 每秒钟能执行的基本操作次数。
-
网络数据传输速率:
- bps (位/秒):基本单位,表示每秒传输的二进制位数。
- Kbps (千位/秒) / Mbps (兆位/秒) / Gbps (吉位/秒):用于衡量网络带宽和下载/上传速度。例如,百兆宽带的速度是 100 Mbps。但网速显示使用的是MB/S,大写B,单位是字节,所以转换要除以8,再刨去网络损耗,实际网速再打个七折。例如100Mbps宽带,100/8*0.7=8.75MB/S(正常网速)。
0.1.8.4 易混淆点:大B与小b
这是最容易出错的地方,务必注意区分:
- 大B (Byte, 字节):用于衡量存储容量。如文件大小、内存大小。
- 小b (bit, 位):用于衡量数据传输速率。如网络速度。
换算时切记:1 Byte/s (字节/秒) = 8 bits/s (位/秒)
总结一下:
- 所有信息都由 位 (bit) 构成。
- 字节 (Byte) 是基本存储单位,
1 Byte = 8 bits。 - 存储容量(内存、硬盘)用 B (Byte) 的倍数(KB, MB, GB, TB)衡量。
- 网络速度用 b (bit) 的倍数(Kbps, Mbps, Gbps)衡量。
- CPU 速度用 Hz (赫兹) 的倍数(MHz, GHz)衡量。
0.2. 个人电脑架构与相关设备元件
0.2.1 Intel芯片架构
北桥:负责链接速度较快的CPU、内存与显卡接口等元件;
南桥:负责链接速度较慢的设备接口,包括硬盘、USB、网卡等。
目前已将北桥整合到CPU中,所以在主板上只能看到南桥。
CPU的工作频率:外频与倍频
连接CPU外部元件的统一频率称为外频,CPU内部频率称为倍频。超频通常指设置外频。外频 x 倍频=主频
比如外频是100MHz,这能保证CPU外的其他硬件能够正常运行,但在数据进入CPU后,CPU把他的处理速度加快了33倍,这就是33倍频。100MHz*33=3.3GHz主频,表示CPU每秒可以执行33亿次时钟周期,而每个时钟周期可能执行多条指令,也可能一条指令需要多个时钟周期。
0.2.2 内存
内存(Memory),在计算机语境下通常特指主存储器(Main Memory),它是CPU能够直接读写数据的高速暂存空间,是程序运行和数据处理的“工作台”。内存的性能对计算机的整体速度和多任务处理能力有着决定性影响。
内存的工作原理:CPU的“高速临时仓库”
内存的核心作用是在CPU和硬盘等外部存储器之间充当一个高速的数据中转站。因为CPU处理数据的速度远快于硬盘读写的速度,所以需要内存来临时存放CPU即将处理或正在处理的数据。
- 核心构成:现代计算机的主内存主要由DRAM(动态随机存取存储器) 芯片构成。一个DRAM存储单元由一个晶体管和一个电容组成,电容的充电状态(有/无电荷)代表二进制数据“1”或“0”。
- “动态”与“易失性”:由于电容会自然漏电,存储的数据会随时间丢失。因此,内存需要被周期性刷新以维持数据,这也是它被称为“动态”存储器的原因。同时,一旦断电,所有数据都会丢失,所以内存也属于 “易失性”存储器。
- 数据交互:当您运行一个程序时,操作系统会将该程序从硬盘加载到内存中,然后CPU再从内存中读取指令和数据进行运算。运算完成后,结果会写回内存,再由内存写入硬盘进行保存。
衡量内存性能的关键指标
选购或评估内存时,需要关注以下几个核心参数:
-
容量 (Capacity):单位为GB,决定了内存能同时存放多少数据。容量不足会导致系统频繁使用速度慢得多的硬盘作为虚拟内存,从而严重拖慢速度。目前,8GB是基本门槛,16GB是主流配置,而32GB及以上则更适合游戏、设计和专业应用。
-
频率 (Frequency):单位为MHz或MT/s(每秒百万次传输),是内存速度的直观体现。频率越高,理论上内存与CPU之间的数据传输速率就越快。例如,DDR4-3200表示该内存的频率为3200MHz。
-
时序 (Timings):一组数字参数(如CL16-18-18-36),代表内存执行各种操作的延迟时间。其中最重要的指标是CAS Latency (CL),它表示从内存接收到读取命令到开始输出数据所需的时钟周期数。在频率相同的情况下,时序越低,性能越好。比较不同内存的实际延迟,可以使用公式:实际延迟(ns) ≈ CL值 / (频率 / 2000)。
-
带宽 (Bandwidth):单位为GB/s,是内存性能的最终体现,代表每秒能传输的数据总量。它由频率和位宽共同决定。现代内存普遍采用双通道技术,通过同时使用两条内存条成倍地提升带宽。
-
内存的理论最大带宽可以通过以下公式计算得出:
带宽 (GB/s) = (数据传输速率 (MT/s) × 通道宽度 (bit)) / 8
数据传输速率 (Data Rate):即我们常说的内存频率,如DDR4-3200的3200 MT/s。它代表每秒可以完成多少百万次的数据传输。
通道宽度 (Channel Width):指内存总线的位宽。单条DDR内存的位宽是64位。
除以8:将单位从“位”(bit)转换为“字节”(Byte)。因为1字节(Byte) = 8位(bit)。
以一根常见的 DDR4-3200 内存条为例:
数据传输速率: 3200 MT/s
通道宽度: 64 bit
理论带宽: (3200 × 64) / 8 = 25.6 GB/s
【双通道带宽计算示例】
同样是两根 DDR4-3200 内存条组成双通道:
总通道宽度: 128 bit (64 bit × 2)
理论总带宽: (3200 × 128) / 8 = 51.2 GB/s
主流内存类型:从DDR4到DDR5
目前,市场上主流的内存类型是DDR4和DDR5,它们之间存在显著差异:
| 特性 | DDR4 | DDR5 |
|---|---|---|
| 工作频率 | 1600 - 3200 MT/s | 4800 - 8400+ MT/s (起步更高) |
| 工作电压 | 1.2V | 1.1V (更节能) |
| 单条容量 | 最大32GB (消费级) | 最大128GB+ (未来可达512GB) |
| 核心架构 | 16 Banks | 32 Banks (并发能力更强) |
| 通道设计 | 单一64位通道 | 双32位子通道 (提升效率) |
| 纠错能力 | 无 (需CPU支持ECC) | On-die ECC (芯片内置纠错) |
| 物理兼容性 | 防呆缺口位置不同 | 不兼容DDR4主板 |
简单来说,DDR5在频率、容量、能效和数据完整性方面都全面超越了DDR4,是未来的主流方向。但由于其高频率也带来了较高的CL时序,因此在对延迟敏感的应用中,一些高频DDR4内存仍有其优势。
内存与外存:临时工作台与永久仓库
理解内存,必须将其与“外存”(如硬盘、固态硬盘)区分开来:
| 特性 | 内存 (主存储器) | 外存 (辅助存储器) |
|---|---|---|
| 速度 | 极快 (纳秒级) | 慢 (毫秒级),即使是固态硬盘也比内存慢数百倍 |
| 容量 | 较小 (几GB到几十GB) | 巨大 (几百GB到几TB甚至更高) |
| 数据持久性 | 易失性 (断电后数据丢失) | 非易失性 (断电后数据长期保存) |
| 与CPU交互 | CPU可直接访问 | 必须先将数据加载到内存中,CPU才能处理 |
| 用途 | 存放当前正在运行的程序和正在处理的数据 | 存放所有需要长期保存的文件、程序和数据 |
总而言之,内存是计算机中至关重要的“临时工作台”,它的容量、速度和效率直接影响着您使用电脑的流畅度。当您感觉电脑变慢、卡顿时,很可能是内存容量不足或速度成为了瓶颈。
DRAM与SRAM
DRAM(动态随机存取存储器)和 SRAM(静态随机存取存储器)是计算机系统中两种核心的内存技术,它们都属于易失性存储器(断电后数据会丢失),但在工作原理、性能和成本上有着本质区别,也因此扮演着不同的角色。

核心区别:为什么电脑不直接用更快的SRAM当内存?
-
结构与原理
- DRAM:使用1个晶体管+1个电容来存储数据。因为电容会漏电,所以必须每隔几毫秒“刷新”一次电荷,这就是“动态”的含义。这种结构简单,集成度极高,能轻松做到单条32GB。
- SRAM:使用6个晶体管组成的触发器来锁存数据。只要通电,数据就稳定存在,无需刷新,这就是“静态”的含义。结构复杂,占用面积大,成本极高。
-
速度与延迟
- SRAM:速度极快,延迟通常在纳秒级。它直接集成在CPU内部(L1/L2/L3缓存),紧挨着运算核心,确保CPU不用等待数据。
- DRAM:速度相对较慢,延迟在几十到上百纳秒。它通过主板上的内存插槽与CPU通信,物理距离远,且受限于总线带宽。
-
容量与成本
- DRAM:便宜大杯。价格便宜
- SRAM:极其昂贵。如果要把32GB做成SRAM,其芯片面积可能比整个主板还大,价格会是天文数字,且功耗巨大。
存储层级:它们是如何分工的?
计算机存储系统是一个金字塔结构,越往上越快但越小,越往下越慢但越大:
- L1/L2缓存 (SRAM):CPU的“贴身口袋”。容量极小(几MB到几十MB),速度最快,存放CPU当前立刻要用的指令和数据。
- L3缓存 (SRAM):CPU的“手提包”。容量稍大(几十MB),速度次之,作为L1/L2和内存之间的缓冲。
- 主内存 (DRAM):电脑的“办公桌”。容量大(8GB-128GB),速度中等,存放所有正在运行的程序和打开的文件。
- 硬盘 (SSD/HDD):电脑的“档案柜”。容量最大(TB级),速度最慢,用于长期保存数据。断电后数据不丢失。
总结
简单来说,DRAM和SRAM是“速度”与“成本/容量”之间的权衡。
SRAM 快而贵,做缓存;DRAM 密而廉,做内存。
在一个典型的计算机系统中,它们协同工作:CPU首先在高速但容量小的SRAM缓存中寻找数据,如果找不到(缓存未命中),才会去访问低速但容量大的DRAM主存。这种存储层次结构的设计,是现代计算机在性能和成本之间取得最佳平衡的关键。
只读存储器(ROM)
只读存储器(ROM) 是一种在制造时或出厂后被写入数据,并且在设备正常运行时只能被读取、不能被随意修改的半导体存储器。它的核心价值在于能够永久或半永久地保存关键数据,即使设备断电,数据也不会丢失。
ROM 的核心特点
- 只读性 (Read-Only):在设备正常使用时,CPU只能从ROM中读取数据,不能像写入RAM那样随时修改其内容。这保证了存储在其中的关键数据(如程序代码)的稳定性和安全性。
- 非易失性 (Non-Volatile):这是ROM最重要的特性。与断电后数据会消失的RAM不同,ROM在断电后依然能牢牢保留所有数据。这使得它非常适合存储设备启动和运行所必需的“根基性”信息。
ROM 的主要类型(从“真·只读”到“可擦写”)
随着技术发展,ROM的“只读”概念已从绝对化演变为相对化,形成了一个家族:
- 掩模ROM (Mask ROM):最“硬核”的只读。数据在芯片制造时通过物理掩模工艺写入,出厂后绝对无法修改。成本低,适合大规模生产固定程序的场景,如早期游戏卡带。
- PROM (可编程ROM):允许用户进行一次性的写入。写入后数据便固定,无法再更改。
- EPROM (可擦除可编程ROM):可以通过紫外线照射来擦除整个芯片的数据,从而实现重复编程。通常芯片上有一个用于照射的石英窗口。
- EEPROM (电可擦除可编程ROM):可以通过电信号来擦除和重写数据,比EPROM方便,因为它不需要紫外线设备。可以按“字节”为单位进行修改。
- Flash (闪存):这是目前应用最广的ROM技术,可以看作是EEPROM的升级版。它也通过电信号擦写,但以“块”为单位,速度更快、容量更大、成本更低。我们常用的U盘、SSD固态硬盘、手机存储,本质上都属于Flash ROM。
ROM 与 RAM 的核心区别
| 特性 | ROM (只读存储器) | RAM (随机存取存储器) |
|---|---|---|
| 数据易失性 | 非易失性:断电后数据不丢失。 | 易失性:断电后数据立即丢失。 |
| 主要用途 | 存储固定程序和数据(如BIOS、操作系统内核)。 | 作为临时工作区,存放CPU正在运行的程序和数据。 |
| 读写速度 | 相对较慢(尤其是写入)。 | 速度极快,与CPU直接交换数据。 |
| 可修改性 | 正常使用时不可写或难于修改。 | 可以随时高速读写。 |
| 成本与容量 | 成本较低,可做到大容量(如TB级)。 | 成本较高,容量相对较小(如GB级)。 |
ROM 的典型应用
- 计算机BIOS/UEFI:你电脑主板上的那块小芯片,存储着开机自检、硬件初始化和引导操作系统的最底层程序,这正是ROM的典型应用。
- 固件 (Firmware):路由器、打印机、智能电视等几乎所有智能设备内部,都有一个存储着设备核心控制程序的ROM芯片,这个程序就是固件。
- 游戏卡带:任天堂等游戏机使用的卡带,其本质就是一块Mask ROM或Flash ROM,存储着游戏程序。
- 大容量存储设备:如前所述,U盘、SSD、手机内部存储、SD卡等,其存储介质都是基于ROM技术的NAND Flash。
总而言之,你可以将 ROM 想象成设备的“长期记忆”或“操作手册”,它永久保存着设备如何启动、如何运行的基本指令和关键数据。
0.2.3 显卡
显卡(GPU)是计算机的核心部件之一,主要负责图形渲染和并行计算。它的工作原理可以通俗地理解为:GPU(显卡芯片)从显存(VRAM)中读取数据,进行计算和渲染,然后将结果通过主板接口(如PCIe)传输给显示器。
理解显卡的性能,主要看以下几个方面:
显卡核心(GPU)性能
这是决定显卡性能上限的最关键因素,主要由以下几个参数决定:
- 架构 (Architecture):这是GPU的“设计蓝图”,决定了其计算效率和能效比。例如,NVIDIA的Ampere、Ada Lovelace架构,AMD的RDNA 3架构等。新架构通常会带来显著的性能和效率提升。
- 核心数量 (CUDA Cores / Stream Processors):这是GPU内部的并行计算单元。数量越多,理论上并行处理能力就越强。NVIDIA称之为CUDA Core,AMD称之为Stream Processor。
- 核心频率 (Clock Speed):即GPU的工作频率,单位为GHz。频率越高,单个核心的处理速度就越快。高端显卡通常具有更高的Boost频率。
显存(VRAM)与带宽
显存是GPU专用的高速内存,用于临时存储纹理、模型、帧缓冲等数据。其性能直接影响高分辨率和高画质下的表现。
- 容量 (Capacity):决定了显卡能处理多大的数据集。对于1080P游戏,8GB是主流;2K/4K分辨率或专业应用,则建议12GB或更高。
- 类型 (Type):目前主流是GDDR6和GDDR6X,比旧的GDDR5速度更快、带宽更高。
- 位宽 (Bus Width):可以想象成GPU和显存之间数据传输的“高速公路”宽度,单位为bit。位宽越宽,单位时间内能传输的数据就越多。常见的有128bit、192bit、256bit、384bit等。
- 显存带宽 (Memory Bandwidth):这是衡量显存性能的综合指标,单位为GB/s。它由位宽和显存频率共同决定,计算公式为:
带宽(GB/s) = 位宽(bit) × 显存频率(MHz) × 2 ÷ 8
带宽越高,GPU访问数据的速度就越快,性能瓶颈就越小。
传输接口:PCI Express (PCIe)
这是显卡与主板连接的“桥梁”,负责GPU与CPU、系统内存之间的数据交换。
- 版本与带宽:PCIe标准不断演进,每一代的带宽大约是上一代的两倍。目前主流是PCIe 4.0和正在普及的PCIe 5.0。
- PCIe 4.0 x16:提供约 31.5 GB/s 的双向带宽。
- PCIe 5.0 x16:提供约 63.0 GB/s 的双向带宽。
- 对性能的影响:对于当前绝大多数显卡,PCIe 4.0 x16的带宽已经足够,升级到PCIe 5.0带来的游戏帧率提升微乎其微。只有当未来显卡的吞吐量超出PCIe 4.0上限时,PCIe 5.0的优势才会显现。
主流技术对比(NVIDIA vs AMD)
| 特性 | NVIDIA (RTX 40系列) | AMD (RX 7000系列) |
|---|---|---|
| 核心架构 | Ada Lovelace | RDNA 3 |
| 代表技术 | DLSS 3 (AI超分+帧生成) | FSR 3 (开源超分+帧生成) |
| 光线追踪 | 第三代RT Core,性能强大 | 第二代Ray Accelerator,性能优秀 |
| 优势 | 技术生态完善,光追性能强,创作软件优化好 | 能效比高,性价比突出 |
简单来说,选购显卡时,可以遵循以下思路:
- 看核心:先确定GPU型号和架构,这是性能的“天花板”。
- 看显存:再看显存容量、类型和带宽,这决定了在高分辨率和高画质下性能的“下限”。
- 看接口:最后确保主板有匹配的PCIe插槽即可,对于当前显卡,PCIe 4.0是甜点级配置。
0.2.4 硬盘与储存设备
计算机存储设备有:硬盘、软盘、MO、CD、DVD、U盘等等。
硬盘的物理组成
硬盘的物理组成根据其技术类型主要分为两大类:机械硬盘(HDD) 和固态硬盘(SSD)。它们的内部构造和工作原理有本质区别。
机械硬盘(HDD)的物理组成
HDD是一种精密的机电一体化设备,其核心物理结构包括:
-
盘片(Platter):数据的实际存储介质。它是一个或多个由铝、玻璃或陶瓷制成的圆形磁盘,表面涂有用于磁性记录数据的合金层。盘片高速旋转,使磁头能够读写数据。
-
磁头(Read/Write Head):负责读取和写入数据的组件。它通过电磁感应原理,将电信号转换为磁信号写入盘片,或从盘片感应磁信号并转换为电信号。磁头在盘片表面“飞行”,两者之间有纳米级的微小距离。
-
磁头驱动机构(Actuator):一个精密的机械臂系统,负责在盘片半径方向移动磁头,使其精确定位到需要读写的磁道上。其核心部件是音圈电机(VCM)。
-
主轴组件(Spindle):由主轴电机驱动,负责带动盘片以恒定的高速旋转(常见转速为5400rpm、7200rpm,甚至更高)。
-
控制电路板(PCB):硬盘的“大脑”,通常裸露在硬盘外部。它包含微控制器、缓存芯片、固件芯片等电子元件,负责控制硬盘的所有操作,如数据读写、寻道、接口通信等。
-
其他辅助组件:包括用于固定和减震的底盘、防止外部灰尘进入的呼吸过滤器、在检测到震动时能将磁头安全停泊的锁存装置等。
固态硬盘(SSD)的物理组成
SSD没有机械运动部件,它完全基于半导体技术,其核心物理结构包括:
-
闪存芯片(NAND Flash):数据的实际存储介质。它由一系列浮栅晶体管构成,通过电荷的有无来存储二进制数据(0和1)。多个闪存芯片通常会并行工作以提高性能。
-
主控芯片(Controller):SSD的“大脑”,负责管理所有数据读写操作。它执行磨损均衡、垃圾回收、坏块管理、数据加密等关键任务,并充当闪存芯片与外部接口(如SATA、NVMe)之间的桥梁。
-
缓存(DRAM Cache):一块易失性的动态随机存取存储器,用于临时存储闪存芯片的映射表(FTL)和正在处理的数据,以加速读写操作。部分低端SSD可能没有独立的DRAM缓存。
-
接口与连接器:用于连接主机(如电脑主板)的物理接口,常见的有SATA、M.2、U.2等。接口类型决定了SSD与主机之间的数据传输速度上限。
-
PCB基板:所有电子元件(主控、闪存、缓存等)都焊接在一块印刷电路板上,构成SSD的主体。
数据的写入与记录
数据写入硬盘的过程,在机械硬盘(HDD)和固态硬盘(SSD)中是完全不同的物理机制。简单来说,HDD是利用电磁感应改变磁盘上的磁性方向来记录数据,而SSD则是通过向闪存芯片注入或移除电子来存储信息。
以下是两种硬盘数据写入的详细过程:
机械硬盘(HDD)的数据写入
HDD的写入过程本质上是“电生磁”,即将电信号转换为磁信号,并精确地记录在高速旋转的盘片上。
-
数据准备:计算机将需要写入的数据(二进制的0和1)通过接口发送给硬盘的控制电路板(PCB)。
-
电流转换:PCB上的控制器接收到数据后,会根据数据的0和1,精确控制通过磁头内部线圈的电流方向。例如,正向电流可能代表写入“1”,反向电流则代表写入“0”。
-
磁场生成:当电流通过磁头线圈时,会在磁头缝隙处产生一个高强度的、方向由电流方向决定的磁场。
-
磁化盘片:这个磁场会磁化盘片下方一个非常微小的区域(称为磁化元)。盘片表面的磁性涂层有两种稳定的磁化方向,分别对应二进制的“0”和“1”。
-
精确定位:在写入过程中,磁头驱动机构(Actuator)会根据指令,将磁头移动到盘片的指定磁道上。同时,盘片在主轴电机(Spindle)的带动下高速旋转,确保目标扇区能准确地经过磁头下方,完成数据写入。
固态硬盘(SSD)的数据写入
SSD的写入过程是基于半导体技术的“电荷注入”,它没有机械运动,完全是电子层面的操作。
-
数据准备与接收:与HDD类似,计算机将数据发送给SSD的主控芯片(Controller)。
-
“先擦后写”的规则:这是SSD写入的核心特点。NAND闪存芯片有一个基本物理限制:数据只能写入到空白的(已擦除的)存储单元中,不能直接覆盖旧数据。
- 擦除单位是“块”:闪存的最小擦除单位是一个“块”(Block),一个块通常包含128或256个“页”(Page)。
- 写入单位是“页”:而最小的写入单位是“页”(Page),通常是4KB或8KB。
-
写入新数据(简单情况):当要写入新文件时,主控会直接将数据写入到一个完全空白的“页”中。这个过程非常快,也是新SSD速度极快的原因。
-
写入新数据(复杂情况 - 垃圾回收与写入放大):这是SSD性能和寿命管理的关键。当SSD使用了一段时间,很多“块”中都混合着有效数据和无效数据(例如,你删除了某个文件,操作系统只是做了“已删除”标记,并未真正擦除其占用的“页”)。
- 垃圾回收(GC):当需要写入新数据,但没有足够的空白“块”时,主控会启动垃圾回收。它会选择一个包含大量无效数据的“块”,将其中所有有效数据读取出来,写入到一个新的空白“块”中,然后将这个旧的“块”整体擦除,变成一个可用的空白块。
- 写入放大(WA):垃圾回收过程会导致实际写入闪存芯片的数据量大于用户要写入的数据量。例如,用户只想写入4KB,但主控为了腾出空间,可能需要先读写1MB的有效数据。这种现象称为“写入放大”,它会降低SSD的写入速度和使用寿命。
-
TRIM指令的作用:为了优化垃圾回收的效率,现代操作系统会使用TRIM指令。当你删除文件时,操作系统会通过TRIM指令立即通知SSD主控:“这个文件对应的‘页’已经无效了,可以被回收了。”这样,主控就能提前将这些“页”标记为空闲,从而在垃圾回收时更高效地工作,减少写入放大,保持SSD的长期高性能。
总结对比
-
HDD:写入过程是连续的物理覆盖。磁头可以直接在盘片的任意位置覆盖写入新数据,无需提前“擦除”。
-
SSD:写入过程是非覆盖式的“复制-擦除-重写”。必须先将包含无效数据的“块”整体擦除,才能写入新数据。这个过程由主控和固件通过复杂的算法(如垃圾回收、磨损均衡)来管理,以优化性能和延长寿命。
HDD的盘片划分
机械硬盘(HDD)为了高效地定位和管理海量数据,将盘片的存储空间进行了一套精密的几何划分。这套划分体系的核心就是磁道、扇区、磁柱,而磁化元则是构成这一切的物理基础。它们之间的关系,从宏观到微观,可以理解为:磁柱由磁道组成,磁道由扇区组成,扇区由磁化元组成。
磁化元 (Magnetic Domain):最基础的物理存储单元
- 定义:磁化元是盘片磁性涂层上能够被独立磁化的最小物理区域,也常被称为“记录单元”。
- 作用:它是存储二进制数据“0”和“1”的物理基础。通过磁头施加的磁场,可以改变这个微小区域的磁化方向(例如,从北极向上变为向下),这两种不同的磁化状态就分别代表了“0”和“1”。
- 关系:一个扇区的数据,最终就是由记录在盘片上成千上万个这样的磁化元的磁化状态序列来表示的。
扇区 (Sector):最小的逻辑读写单元
- 定义:为了便于管理,硬盘制造商将一条磁道(见下文)沿圆周方向划分成许多个扇形的小区域,每个小区域就是一个扇区。
- 大小:传统上,每个扇区的大小为 512 字节。随着技术发展,为了提高存储效率,现在也广泛使用 4KB (4096字节) 的扇区,称为“4K扇区”。
- 作用:扇区是操作系统能够感知和访问的最小逻辑单元。无论是读还是写数据,都必须以扇区为单位进行。即使你只想修改一个字节,硬盘也必须读取整个扇区,修改数据,再将整个扇区写回。
磁道 (Track):一个盘面上的同心圆
- 定义:当磁头臂固定在一个位置时,磁头在盘片高速旋转过程中所能读写到的路径,就是一个磁道。它是一个以盘片中心为圆心的同心圆。
- 特点:一个盘片有两个记录面(正反两面),每个面都有一个独立的磁头,因此每个盘片会对应两条独立的磁道(分别位于正反两面)。
磁柱 (Cylinder):一组垂直对齐的磁道
- 定义:由于硬盘通常由多个盘片堆叠而成,所有盘片上半径相同的磁道,在空间上就构成了一个圆柱体的形状,这个结构被称为磁柱。
- 作用:磁柱是一个非常重要的概念,它与磁头(Head) 和扇区(Sector) 一起,构成了早期硬盘定位数据的三维坐标系统,即 CHS 寻址。访问数据时,硬盘控制器会先移动磁头臂到指定的磁柱,然后选择特定的磁头(即特定盘片的特定面),最后等待盘片旋转到指定的扇区。
总结:从宏观到微观的层级关系
为了更直观地理解,我们可以从宏观到微观逐层分解:
- 硬盘 (HDD):由多个盘片 (Platter) 堆叠而成。
- 盘片 (Platter):每个盘片有两个记录面,每个面有一个磁头 (Head)。
- 磁柱 (Cylinder):由所有盘片上半径相同的磁道 (Track) 组成。磁柱数 = 磁道数。
- 磁道 (Track):一个盘面上的同心圆,被划分为多个扇区 (Sector)。
- 扇区 (Sector):最小的逻辑读写单元,其数据最终由盘片上的磁化元 (Magnetic Domain) 的磁化状态来物理存储。
补充说明:现代硬盘的寻址方式
需要注意的是,由于早期 CHS 寻址方式存在容量限制(最大约 8GB),现代大容量硬盘已普遍采用逻辑块寻址 (LBA)。LBA 将整个硬盘的扇区从 0 开始进行线性编号,形成一个巨大的扇区数组。操作系统和文件系统只需通过一个简单的数字(逻辑块地址)就能访问任意扇区,无需关心复杂的 CHS 物理结构。硬盘内部的控制器会负责将 LBA 地址转换为对应的 CHS 物理位置。
MBR与GPT分区表
为硬盘进行分区时,MBR(常被称为“MSDOS相容模式”) 和GPT是两种截然不同的分区表标准。它们决定了操作系统如何识别和管理磁盘上的存储空间,其中GPT是为了解决MBR的诸多限制而诞生的现代标准。
以下是两者的核心区别:
1. MBR (Master Boot Record) - “MSDOS相容模式”
这是一种非常古老的分区方案,因其历史久远,常被称作“MSDOS相容模式”。
- 分区信息存储:所有分区信息(分区大小、位置、类型等)都存储在硬盘最开头的一个512字节的扇区中,即“主引导记录”。
- 最大分区容量:2TB。这是由MBR使用的32位逻辑块地址(LBA)决定的,对于当今的大容量硬盘是主要瓶颈。
- 主分区数量:最多只能创建 4个主分区。为突破此限制,可将一个主分区设为“扩展分区”,再在其中创建多个“逻辑分区”。
- 启动方式:配合传统的 BIOS 固件工作。启动时,BIOS执行MBR中的引导代码,由其负责加载操作系统。
- 数据安全性:低。MBR只有这一个分区表,若该扇区损坏(如病毒感染或写入错误),整个硬盘的分区信息将丢失,数据难以恢复。
- 操作系统支持:所有Windows、Linux、macOS(较旧版本)都支持。对32位系统几乎是唯一选择。
2. GPT (GUID Partition Table) - 现代标准
GPT是“全局唯一标识符分区表”的缩写,是随 UEFI 接口标准一同推广的现代分区方案。
- 分区信息存储:在硬盘开头和结尾各存储一份分区表的副本,形成冗余备份,极大提高了数据可靠性。
- 最大分区容量:理论支持高达 9.4 ZB(约94亿TB),对于可预见的未来是 practically unlimited(实际上无上限)。
- 主分区数量:理论上无限制。Windows系统最多允许创建 128个 主分区,这已远超绝大多数使用场景。
- 启动方式:配合现代的 UEFI 固件工作。UEFI直接读取GPT分区信息,无需依赖引导代码,启动更安全、更快速。UEFI支持“安全启动”(Secure Boot),可防止恶意软件篡改启动过程。
- 数据安全性:高。得益于分区表的备份机制,即使一份分区表损坏,也可从另一份恢复。每个分区都有一个全局唯一标识符(GUID),降低了冲突风险。
- 操作系统支持:64位的Windows(Vista SP1及以后)、Linux、macOS(Intel平台及Apple Silicon)均支持。32位系统通常不支持从GPT磁盘启动。
总结对比
| 特性 | MBR (MSDOS相容模式) | GPT |
|---|---|---|
| 容量限制 | 最大2TB | 理论上无限制 (9.4 ZB) |
| 主分区数量 | 最多4个 | 理论上无限制 (Windows限制128个) |
| 数据安全性 | 低 (单一分区表) | 高 (分区表有备份) |
| 启动方式 | BIOS | UEFI (也兼容BIOS,但无法发挥优势) |
| 现代支持 | 所有系统,但已过时 | 所有现代64位系统 |
如何选择?
-
选择 GPT:如果你的电脑是近十年(约2015年后)购买的,使用UEFI主板,且硬盘容量超过2TB,或者你希望拥有更安全、更灵活的分区方案,请毫不犹豫地选择GPT。这是当前和未来的标准。
-
选择 MBR:只有在需要兼容非常老旧的硬件(如老式BIOS主板)或32位操作系统时,才需要选择MBR。
固态硬盘
固态硬盘(Solid State Drive, SSD)是一种基于半导体技术的存储设备,它完全摒弃了机械硬盘(HDD)的旋转盘片和移动磁头,因此具有速度极快、无噪音、防震抗摔、功耗低等显著优点。
在您已经了解其物理组成(闪存芯片、主控等)的基础上,以下是对其工作原理和关键特性的进一步解析:
1. 核心工作原理:电子的“搬运工”
SSD的核心是NAND闪存芯片,其基本存储单元是浮栅晶体管(Floating Gate Transistor)。数据的写入和读取本质上是控制电子在浮栅中的“注入”与“移除”。
-
写入数据(编程):通过向控制栅施加一个高电压(通常是20V左右),利用量子隧穿效应,将电子“注入”到不与任何电路直接相连的浮栅中。浮栅中存储了电子,晶体管的阈值电压会发生改变,这被读取为“0”或“1”。
-
擦除数据:擦除是写入的逆过程。向衬底施加高电压,将浮栅中的电子“拉出”,使其恢复到空白状态。这个过程会磨损闪存单元,是影响SSD寿命的主要原因。
-
读取数据:施加一个较低的电压,检测晶体管是否导通。根据其导通状态(受浮栅中电子数量影响)即可判断存储的是“0”还是“1”。读取过程基本不会对闪存单元造成磨损。
2. 闪存类型:速度与耐久性的权衡
根据每个存储单元存储的比特数,NAND闪存主要分为以下几种,它们在速度、成本、耐久性(P/E周期) 上各有优劣:
| 类型 | 全称 | 每单元存储 | 速度 | 耐久性 | 成本 | 主要用途 |
|---|---|---|---|---|---|---|
| SLC | Single-Level Cell | 1 bit | 最快 | 最高 | 最昂贵 | 企业级、工业级 |
| MLC | Multi-Level Cell | 2 bits | 中等 | 中等 | 中等 | 高端消费级(已较少见) |
| TLC | Triple-Level Cell | 3 bits | 较慢 | 较低 | 较便宜 | 主流消费级 |
| QLC | Quad-Level Cell | 4 bits | 最慢 | 最低 | 最便宜 | 大容量、读取密集型应用 |
注:P/E周期(Program/Erase Cycle)指一个闪存单元可以被擦写的大致次数,是衡量耐久性的关键指标。
3. 主控芯片:SSD的“大脑”与“管家”
主控芯片是SSD的绝对核心,它运行着复杂的固件算法,负责管理所有操作并直接影响性能和寿命。其主要职责包括:
- 闪存转换层(FTL):将操作系统看到的连续逻辑地址(LBA)映射到物理闪存芯片上的物理地址。这是实现磨损均衡(Wear Leveling) 和 垃圾回收(Garbage Collection) 的基础。
- 磨损均衡(Wear Leveling):确保写入操作均匀地分散到所有闪存单元上,避免某些单元因过度擦写而过早损坏,从而延长SSD整体寿命。
- 垃圾回收(Garbage Collection):回收那些包含无效数据的“页”,将它们整理成空白的“块”以供后续写入。这个过程是SSD产生“写入放大(Write Amplification)”的主要原因。
- 错误校正(ECC):检测和修正数据读写过程中可能出现的比特错误,保证数据的完整性。
- 接口管理:处理与主机(电脑)的通信,如SATA、NVMe协议。
4. 接口与协议:决定速度的“高速公路”
接口是物理连接,协议是数据传输的规则,两者共同决定了SSD的理论速度上限。
- SATA:传统的接口,理论带宽约6Gbps(实际读写速度约550MB/s)。是主流的2.5英寸SSD接口。
- M.2:一种小巧的板载接口,可以支持SATA或NVMe协议。外形小巧,广泛用于笔记本电脑和现代主板。
- NVMe (Non-Volatile Memory Express):专为闪存设计的高速协议,通过PCIe总线与CPU直接通信,极大地提升了并行处理能力和降低了延迟。理论速度可达3500MB/s甚至更高(PCIe 3.0 x4),新一代PCIe 4.0/5.0速度更快。
总结与选购建议
- 追求极致性能:选择采用NVMe协议的M.2 SSD,主控品牌(如Phison、Samsung、Intel)和闪存类型(TLC是当前性能和耐久性的最佳平衡点)是关键考量。
- 主流日常使用:一个采用TLC闪存的SATA接口SSD,对于绝大多数用户来说已经足够,性价比高。
- 注意:QLC SSD虽然便宜且容量大,但其写入速度和耐久性相对较低,不适合频繁写入大量数据的场景(如专业视频编辑、大型数据库)。
0.2.5 PCI与PCIe
PCI(Peripheral Component Interconnect)和 PCIe(PCI Express)是两种完全不同的计算机扩展总线标准。简单来说,PCI 是已经基本被淘汰的“老古董”,而 PCIe 是现代电脑中绝对的主流和高性能接口,我们熟知的独立显卡、高速固态硬盘(SSD)都依赖它工作。
以下是它们的核心区别与详细解析:
1. 核心区别一览
| 特性 | PCI (老式标准) | PCIe (现代标准) |
|---|---|---|
| 技术基础 | 并行总线 | 串行点对点互连 |
| 总线结构 | 共享总线 (设备争用带宽) | 点对点交换结构 (独享带宽) |
| 速度/带宽 | 极慢 (最高约 533 MB/s) | 极快 (每个通道可达 GB/s 级别) |
| 通道配置 | 固定宽度 (32位/64位) | 灵活通道数 (x1, x4, x8, x16) |
| 物理插槽 | 长,金手指等距,缺口在中间 | 长度可变,金手指不等距,缺口靠后 |
| 总线争用 | 有,性能受影响 | 无,性能更优 |
| 当前状态 | 基本淘汰,现代主板罕见 | 绝对主流和标准 |
| 兼容性 | 与 PCIe 物理和协议均不兼容 | 向下兼容旧版本 PCIe 协议 |
2. 深入解析:为什么 PCIe 远超 PCI
-
工作方式的根本不同
- PCI (并行总线):可以想象成一条单车道的乡间公路。所有连接到这条总线上的设备(如声卡、网卡)都共享这一条数据通道,当多个设备同时传输数据时,会产生拥堵,争抢带宽。其最高理论带宽仅为 533MB/s。
- PCIe (串行点对点):更像是由多条独立高速公路组成的网络。每个设备(如显卡、SSD)都拥有自己专用的数据通道(Lane),彼此之间互不干扰,可以同时全速传输数据,彻底消除了总线争用问题。
-
速度的天壤之别
PCIe 的速度优势是压倒性的。我们以最基础的 x1 通道为例,比较不同版本的 PCIe 与 PCI 的速度:- PCI:最高带宽约 0.53 GB/s
- PCIe 1.0 x1:带宽约 0.25 GB/s (单向)
- PCIe 2.0 x1:带宽约 0.50 GB/s (单向)
- PCIe 3.0 x1:带宽约 0.98 GB/s (单向)
- PCIe 4.0 x1:带宽约 1.97 GB/s (单向)
- PCIe 5.0 x1:带宽约 3.94 GB/s (单向)
- PCIe 6.0 x1:带宽约 7.56 GB/s (单向)
而高性能设备(如显卡、高端SSD)使用的 x16 插槽,其带宽是 x1 的 16 倍。例如,PCIe 4.0 x16 的双向总带宽可达惊人的 63 GB/s 以上,比 PCI 快了上百倍。
-
物理形态的差异
- PCI:插槽通常较长,颜色多为白色或乳白色。其金手指(插卡与主板接触的部分)是等距排列的。
- PCIe:插槽有多种长度,对应不同的通道数(x1最短,x16最长)。颜色多样,常见的有黑色、蓝色等。其金手指不等距,一个关键的视觉识别点是:PCIe 插槽在靠近主板后部挡板的一端有一个明显的缺口,而 PCI 插槽没有。
3. PCIe 的版本、通道与兼容性
-
版本演进:PCIe 标准自推出以来持续迭代,每一代的带宽大约是上一代的两倍。目前主流的消费级平台已普及 PCIe 4.0,PCIe 5.0 也已开始在高端平台和设备上应用。
-
通道数 (Lanes):这是决定 PCIe 插槽物理尺寸和带宽的关键。常见的规格有:
- x1:用于低速设备,如独立声卡、普通网卡。
- x4:用于中高速设备,如 NVMe 协议的固态硬盘、万兆网卡。
- x8/x16:主要用于高性能显卡。其中 x16 是标准的显卡插槽。
-
兼容性:PCIe 具有很好的向下兼容性。这意味着:
- 物理兼容:一个 x1 的扩展卡(如声卡)可以插入任何尺寸大于或等于 x1 的 PCIe 插槽(如 x4, x8, x16)中使用。
- 协议兼容:一个 PCIe 4.0 的设备可以插在 PCIe 3.0 的主板上工作,但其速度会受限于 PCIe 3.0 的标准。反之,一个 PCIe 3.0 的设备插在 PCIe 4.0 的主板上,也只能运行在 PCIe 3.0 的速度。
总结:如何选择?
-
请彻底忘记 PCI:在选购任何新硬件或组装新电脑时,都可以认为 PCI 标准已经不存在了。现代主流主板(如 ATX, mATX, ITX)上早已不再提供 PCI 插槽。
-
关注 PCIe 的版本和通道数:这是影响性能的关键。
- 对于显卡:务必使用主板上最长的 x16 插槽以获得最佳性能。
- 对于 NVMe SSD:请确保主板上的 M.2 插槽(本质上是 PCIe x4)支持您 SSD 的 PCIe 版本(如 PCIe 3.0 或 4.0),以免造成性能瓶颈。
0.2.6 主板
一、芯片组与扩展卡的关系
主板上的芯片组(Chipset)和扩展卡(如显卡、SSD)之间的关系,可以理解为 “城市规划”与“交通网络” 的关系。芯片组是城市的“交通枢纽”和“行政中心”,而扩展卡则是“高速公路”上的“车辆”,它们通过主板上预设的“道路”(PCIe通道)与城市的各个部分(CPU、内存、硬盘)进行数据交换。
理解这个关系的关键,在于看懂数据流向的“快慢”。
1. 芯片组:主板的“交通枢纽”
芯片组是主板上最大的那块芯片(通常覆盖着散热片),它是除CPU之外最重要的组件。它的核心作用是:
- 连接与管理:它将CPU、内存、硬盘、USB接口、网卡、声卡等所有设备连接起来,并管理它们之间的通信。
- 提供接口:我们熟知的M.2插槽、SATA接口、USB接口等,都是由芯片组直接或间接提供的。
2. 扩展卡与“高速公路”:PCIe通道
现代扩展卡,无论是显卡、SSD还是网卡,都通过 PCI Express (PCIe) 接口与主板通信。可以将每个 PCIe通道(Lane) 想象成一条单向的“高速公路”车道,而 x16、x8、x4 则代表拥有16条、8条、4条车道的“多车道高速公路”,带宽(车流量)依次递减。
3. 速度差异的根源:数据通往CPU的路径
这才是决定“哪个卡槽速度最快”的核心!所有扩展卡的数据,最终都需要与CPU进行处理和交换。通往CPU的路径越直接、越宽阔,速度就越快。主板上的PCIe插槽主要分为两类,其路径截然不同:
-
直连CPU的插槽 (Fastest Path)
- 特点:这些插槽的PCIe通道不经过芯片组,而是直接由CPU提供。数据从显卡或SSD出发,通过这条“直达高速公路”直接进入CPU,路径最短,延迟最低,带宽最充足。
- 代表插槽:主板上最靠近CPU的那条最长的PCIe x16插槽,通常用于安装独立显卡。这是整块主板上速度最快、优先级最高的插槽。
- 速度:其速度完全取决于CPU支持的PCIe版本和通道数(如PCIe 4.0 x16),是性能的保证。
-
连接芯片组的插槽 (Slower Path)
- 特点:这些插槽的PCIe通道由芯片组提供。数据从扩展卡出发,需要先通过芯片组,再由芯片组与CPU进行通信。这相当于“绕了远路”,路径更长,延迟更高。更重要的是,所有由芯片组提供的设备(如其他M.2硬盘、USB设备、SATA硬盘等)都需要共享芯片组通往CPU的总带宽,这会形成潜在的性能瓶颈。
- 代表插槽:主板上除了第一条之外的其他PCIe x16、x8、x4插槽,以及大部分M.2插槽(尤其是支持SATA协议的),都属于此类。
- 速度:其速度不仅取决于PCIe版本,还受限于芯片组的总带宽以及同一时间其他设备的使用情况。
4. 结论:如何选择最快的卡槽?
-
对于独立显卡 (GPU):必须安装在主板上最靠近CPU的那条PCIe x16插槽中。这是唯一能发挥其全部性能的“黄金位置”,因为它直连CPU。
-
对于NVMe固态硬盘 (SSD):优先选择由CPU直连的M.2插槽。一些高端主板会明确标注哪个M.2插槽是CPU直连的(通常速度更快,如支持PCIe 4.0 x4)。如果不存在,再选择由芯片组提供的、通道数最宽的M.2插槽。
-
对于其他扩展卡 (如万兆网卡、采集卡):如果对性能要求极高,应优先选择CPU直连的PCIe x8或x4插槽(如果主板提供)。否则,可以安装在芯片组提供的插槽上。
5. 一个形象的比喻
- CPU 是城市的市中心(中央商务区)。
- 内存 是市中心的写字楼。
- 芯片组 是城市的中央交通枢纽(火车站/长途汽车站)。
- CPU直连的PCIe插槽 是连接市中心和机场的磁悬浮专线。
- 芯片组连接的PCIe插槽 是从中央交通枢纽出发的普通地铁线。
- 显卡 是飞机,它必须使用磁悬浮专线才能高效地往返于机场(显存)和市中心(CPU)之间。
- 其他设备(SSD、网卡) 是公交车或出租车,它们可以使用普通地铁线,虽然慢一些,但足以胜任工作。
总而言之,决定扩展卡速度的最关键因素,就是看它所插的卡槽是 “直连CPU的专线”,还是 “需要绕道芯片组的共享线路”。
二、I/O地址与IRQ中断信道
设备的 I/O 地址 和 IRQ 中断信道 是计算机硬件进行数据交换和通信协调的两个核心底层机制。您可以将它们理解为硬件设备与 CPU 之间的“固定办公地址”和“呼叫铃系统”。
1. I/O 地址 (Input/Output Address):设备的“信箱地址”
I/O 地址是 CPU 用来与硬件设备进行数据读写和命令控制的通信端口。每个设备都需要一个或多个这样的地址,以便 CPU 能够精确地找到并与之交互。
- 核心作用:提供一个独立的地址空间,让 CPU 可以通过特定的读写指令,向设备发送命令、写入数据或读取设备状态和数据。
- 编址方式:在 x86 架构的 PC 中,主要采用 独立编址 (Port-Mapped I/O)。这意味着 I/O 地址空间与我们熟知的内存 (RAM) 地址空间是完全分开、互不干扰的。CPU 使用专门的
IN和OUT指令来访问这个空间。 - 地址空间:传统的 x86 PC 拥有 64KB 的 I/O 地址空间,范围从
0x0000到0xFFFF。这个空间内已被系统默认分配了许多关键设备的地址,例如:0x0000 - 0x001F:DMA 控制器0x0020 - 0x003F:主 PIC (可编程中断控制器)0x0070 - 0x007F:CMOS/RTC (实时时钟)0x03C0 - 0x03DF:VGA 显示卡
简单来说,I/O 地址就是 CPU 寄往设备“信箱”的地址标签。CPU 把命令或数据“邮寄”到这个地址,设备就会去检查并执行。
2. IRQ (Interrupt Request):设备的“呼叫铃”
IRQ 是硬件设备用来打断 CPU 当前工作,请求其立即处理紧急事务的电信号。由于 CPU 无法预知设备何时需要服务,因此需要一个高效的中断机制。
- 核心作用:允许硬件设备在需要服务时(如键盘按下、网卡收到数据包),主动“叫停”CPU,让 CPU 暂时放下手头工作,转而执行专门的“服务程序”。
- 中断控制器:由于设备众多而 CPU 的中断引脚有限,需要一个“总机”来管理所有中断请求。这个“总机”就是中断控制器:
- 传统 PIC (8259A):早期 PC 使用两片级联的 8259A 芯片,最多管理 15 个 IRQ 通道(编号 0-15,其中 2 号被主从片级联占用)。
- 现代 APIC (Advanced PIC):多核时代采用更先进的 APIC 架构,支持多达 24个 或更多的中断线,并能更智能地将中断请求分发给不同的 CPU 核心处理。
- 中断处理流程:
- 设备完成工作或需要服务,向中断控制器发送一个电信号,激活其对应的 IRQ 线。
- 中断控制器根据优先级,将请求转发给 CPU。
- CPU 暂停当前任务,保存现场,然后根据一个预设的“电话本”(中断向量表),找到并跳转到处理该 IRQ 的“服务程序”(中断服务程序 ISR)。
- CPU 执行 ISR,处理设备请求(例如,从 I/O 地址读取网卡接收到的数据)。
- 处理完毕后,CPU 执行中断返回指令,恢复之前被中断的任务。
简单来说,IRQ 就是设备桌上的“呼叫铃”。当设备有事需要 CPU 处理时,就按下呼叫铃(触发中断),CPU 听到铃声(中断信号)后,会暂停手头工作,过来查看是哪个设备按的铃(识别 IRQ 号),然后为它服务。
3. I/O 地址与 IRQ 的协同工作
这两个机制在设备与 CPU 的交互中扮演着不同但紧密协作的角色。以 PCI 网卡 为例,看看它们是如何配合的:
- 数据到达:当网卡接收到一个数据包时,它需要通知 CPU 来取走数据。
- 触发中断 (IRQ):网卡激活它所连接的 IRQ 线(例如 IRQ 10),向 CPU 发送中断请求。这相当于网卡按下了“呼叫铃”。
- CPU 响应:CPU 接收到中断信号,暂停当前任务,找到负责处理 IRQ 10 的中断服务程序 (ISR) 并开始执行。
- 访问 I/O 地址:在 ISR 中,CPU 需要知道具体是哪个网卡发出的请求以及数据在哪里。于是,CPU 会通过内存映射 I/O (MMIO) 的方式,访问该网卡在主板 BIOS 或操作系统分配的特定内存地址范围(例如
0xC0000 - 0xC10FFF)。这个地址空间映射了网卡的内部寄存器和缓冲区。CPU 通过读写这些地址,从网卡的缓冲区中取出接收到的数据包。 - 处理完成:CPU 处理完数据包后,中断服务程序结束,CPU 恢复之前被中断的任务。
总结一下它们的关系:
- I/O 地址 是 CPU 主动与设备进行数据交换的“操作窗口”。CPU 通过读写这个窗口来控制设备和传输数据。
- IRQ 是设备 被动请求 CPU 服务的“通知机制”。它允许设备在需要时打断 CPU,让 CPU 过来通过 I/O 地址进行操作。
I/O 地址负责“怎么干”(数据和命令的传递),而 IRQ 负责“何时干”(通知 CPU 有事需要处理)。 它们共同构成了硬件与操作系统内核之间高效通信的基础。
三、CMOS与BIOS
简单来说,BIOS 是一套控制硬件的程序,而 CMOS 是一块存储设置数据的芯片。它们共同协作,在电脑开机时初始化硬件并引导操作系统。您可以将它们理解为:
- BIOS (Basic Input/Output System):电脑硬件的 “基本操作手册”。
- CMOS (Complementary Metal-Oxide Semiconductor):记录操作手册个性化设置的 “笔记本”。
以下是它们的详细关系与工作原理:
1. 核心角色解析
BIOS (基本输入输出系统)
- 本质:一套固化在主板 ROM 芯片 上的程序(软件)。
- 功能:充当硬件与软件之间的桥梁,负责在开机时对硬件进行初始化、自检,并引导操作系统启动。
- 类比:它是电脑硬件的 “总工程师”,掌握着所有硬件设备(CPU、内存、硬盘等)的“操作手册”。
CMOS (互补金属氧化物半导体)
- 本质:一块由主板电池供电的 RAM 芯片(硬件),用于存储数据。
- 功能:存储用户通过 BIOS 设置的系统配置信息,如日期时间、启动顺序、硬件参数等。
- 类比:它是“总工程师”(BIOS)手边的 “工作笔记本”,记录着用户对硬件操作的个性化要求。
2. 协同工作流程
它们的关系是典型的 “程序操作数据” 的关系,具体工作流程如下:
- 开机触发:按下电源键,主板通电,BIOS 程序开始运行。
- 读取配置:BIOS 从 CMOS “笔记本”中读取之前保存的系统配置信息。
- 硬件自检 (POST):BIOS 根据 CMOS 中的配置,对 CPU、内存、显卡等硬件进行加电自检。
- 初始化硬件:自检通过后,BIOS 初始化所有硬件设备,使其进入可工作状态。
- 引导操作系统:BIOS 按照 CMOS 中设定的启动顺序,寻找并读取硬盘、U盘等启动设备上的引导程序,将控制权交给操作系统。
- 进入系统:操作系统加载后,接管电脑的控制权,BIOS 的引导工作完成。
如果需要修改系统设置(如更换启动盘),用户可以在开机时进入 BIOS Setup 程序(由 BIOS 提供的设置界面),此时可以修改 CMOS 中存储的参数。保存退出后,新的设置就会被写入 CMOS “笔记本”中,供下次开机时使用。
3. UEFI:BIOS 的现代化继任者
随着技术发展,传统的 BIOS 已显落后,UEFI (Unified Extensible Firmware Interface) 作为其替代品已成为主流。
| 特性 | 传统 BIOS | UEFI |
|---|---|---|
| 界面 | 文本界面,仅支持键盘操作 | 图形化界面,支持鼠标操作,更直观 |
| 启动速度 | 较慢 | 更快,简化了硬件初始化流程 |
| 硬盘支持 | 最大支持 2.2TB 的启动盘 | 支持 2.2TB 以上的大容量启动盘 |
| 安全性 | 较弱 | 提供 “安全启动”(Secure Boot) 功能,防止恶意软件攻击 |
| 编程语言 | 16位汇编语言,开发困难 | 32/64位C语言,更易于开发和扩展 |
现代主板的“BIOS”设置界面,实际上大多是 UEFI 固件提供的。为了保持兼容,许多 UEFI 固件仍保留了模拟传统 BIOS 的模式(CSM),但新电脑已逐渐取消此功能。
总结
- BIOS 是程序,CMOS 是数据。BIOS 是操作手册,CMOS 是记录手册参数的笔记本。
- 它们的关系是“通过 BIOS 设置程序,对 CMOS 中的参数进行设置”。
- UEFI 是 BIOS 的现代化升级版,提供了更快的速度、更强的安全性和对新硬件的更好支持,我们常说的“BIOS设置”在新电脑上其实指的是 UEFI 设置。
四、主板连接周边设备的接口
主板连接周边设备的接口主要分为两大类:位于主板后方、用于连接外部设备的 I/O 面板接口,和位于主板内部、用于连接机箱及内部组件的 机箱连接器。
1. I/O 面板接口(后置接口)
这些接口是主板与外部世界沟通的“大门”,通常以挡板形式集成在机箱背部。
数据传输接口
-
USB 接口 (Universal Serial Bus):这是现代电脑上最通用、数量最多的接口,用于连接键盘、鼠标、U盘、移动硬盘、打印机等绝大多数外设。
- 外观与识别:USB-A 接口(长方形)最常见。通常,黑色代表 USB 2.0,蓝色代表 USB 3.0/3.1 Gen 1 (5Gbps),红色/青色可能代表 USB 3.1 Gen 2/3.2 (10Gbps)。USB-C 接口(椭圆形、正反可插)则代表更高速率(最高可达 80Gbps)和更强的供电能力。
- 速度演进:USB 标准不断迭代,速度从最初的 1.5Mbps (USB 1.0) 发展到最新的 80Gbps (USB4 v2)。
-
Thunderbolt (雷电接口):由 Intel 开发,是目前性能最强的通用接口之一,通常采用 USB-C 形态。它支持高达 40Gbps (Thunderbolt 3/4) 的数据传输、视频输出和设备供电,可以连接高性能外置显卡、高速硬盘盒和多台显示器。
-
网络接口 (RJ-45):通常位于 I/O 面板的底部,用于连接网线,实现有线网络连接。旁边通常有状态指示灯。
-
Legacy 接口 (传统接口):在一些主板上仍能看到,用于兼容旧设备。
- PS/2 接口:圆形、6针,用于连接老式键盘和鼠标。
- 串行 (COM/RS-232) 和并行 (LPT) 接口:用于连接一些工业设备、老式打印机等。
显示输出接口
这些接口用于连接显示器,由主板集成显卡或独立显卡提供。
- HDMI (High-Definition Multimedia Interface):最常见的数字音视频接口,可以同时传输高清视频和多声道音频。
- DisplayPort (DP):另一种主流数字显示接口,尤其在 PC 领域,支持高刷新率和高分辨率,常用于连接高性能显示器。
- DVI (Digital Visual Interface):较早的数字接口,现在逐渐被 HDMI 和 DP 取代,但仍能在一些显示器和主板上见到。
- VGA (Video Graphics Array):模拟信号接口,是最早的颜色编码接口之一(蓝色)。由于其模拟信号易受干扰,画质较差,已被完全淘汰。
音频接口
用于连接音箱、耳机和麦克风。现代主板通常提供多个3.5mm接口,并遵循 PC99 颜色编码标准:
- 粉红色 (Pink):麦克风输入 (Microphone In)
- 浅蓝色 (Light Blue):线路输入 (Line In),用于连接其他音频设备的输出
- 绿色 (Lime):线路输出/前置扬声器输出 (Line Out / Front Speaker)
- 橙色 (Orange):中置/重低音扬声器输出 (Center / Subwoofer)
- 深蓝色 (Teal):后置扬声器输出 (Rear Speaker)
- 黑色 (Black):侧置扬声器输出 (Side Speaker)
2. 机箱连接器(前置接口与内部连接器)
这些接口位于主板边缘,用于连接机箱本身和内部设备。
-
机箱前置面板连接器 (Front Panel Header):这是一个针脚接口,用于连接机箱的电源按钮、复位按钮、电源指示灯和硬盘活动指示灯。
-
机箱前置音频连接器 (Front Panel Audio Header):用于将机箱前面板的耳机和麦克风接口连接到主板的音频芯片。
-
机箱前置 USB 连接器 (Front Panel USB Header):用于将机箱前面板的 USB 接口(通常是 USB 2.0 或 USB 3.0)连接到主板。
-
SATA 接口 (Serial ATA):用于连接 SATA 硬盘、SATA 固态硬盘 (SSD) 和光驱。它是一个 L 形的接口,可以防止插反。
-
M.2 插槽:用于安装 M.2 规格的固态硬盘 (SSD)。它直接将 SSD 插在主板上,非常节省空间。
-
PCIe 扩展插槽:用于安装独立显卡、PCIe SSD 扩展卡、网卡、声卡等扩展卡。根据通道数不同,有 x1、x4、x8、x16 等规格。
3. 总结
主板上的接口是计算机生态系统的关键组成部分,它们通过芯片组与 CPU 协同工作,使得各种外部设备和内部组件能够高效地协同运行,共同构建出功能强大的计算平台。
0.2.7 电源供应器
主机电源供应器(Power Supply Unit, PSU)是电脑的“心脏”,负责将家庭插座的交流电(AC)转换为电脑内部各组件(如CPU、显卡、硬盘)所需的稳定直流电(DC)。一个功率足够、品质优良的电源是整台电脑稳定、安全、高效运行的基础。
1. 电源的核心功能
- 变压:将220V(国内)的高压交流电,转换为电脑所需的低压直流电(如+12V, +5V, +3.3V)。
- 稳压:确保输出的电压稳定,不受市电波动或电脑负载突变的影响,为精密的电子元件提供“纯净”的电力。
- 保护:优秀的电源都内置了多重保护机制,如过压保护(OVP)、过功率保护(OPP)、短路保护(SCP)等,在异常情况下自动断电,保护昂贵的电脑硬件免遭损坏。
2. 认识电源的“铭牌”:关键参数解读
购买电源时,其外壳上的标签(铭牌)是了解其性能和品质的核心。你需要关注以下几个关键点:
-
额定功率 (Rated Power):这是电源能够持续、稳定输出的最大功率,单位是瓦特(W)。这是选择电源的首要依据,必须为整机(尤其是CPU和显卡)提供足够的功率余量。
- 如何选择:可以根据CPU和显卡的功耗来估算。例如,一颗200W的CPU加上一块350W的显卡,再考虑主板、内存、硬盘等约100W,整机峰值功耗可能在650W左右。考虑到效率和未来升级空间,选择一个 750W - 850W 的优质电源会更稳妥。
-
80 PLUS 认证:这是衡量电源转换效率的国际标准。效率越高,意味着电能浪费在电源自身发热上的越少,越省电、越环保、也越安静。认证等级从低到高依次为:白牌 (White)、铜牌 (Bronze)、银牌 (Silver)、金牌 (Gold)、白金牌 (Platinum)、钛金牌 (Titanium)。对于主流用户,金牌 (Gold) 是一个很好的甜点选择,兼顾了效率与成本。
-
+12V 输出能力:现代电脑的CPU和显卡是绝对的耗电大户,它们主要都由电源的 +12V 供电。因此,+12V的输出功率(或电流,单位A)是衡量一个电源“实力”的关键指标。在选择时,应优先考虑那些 +12V输出功率占总功率90%以上的“单路+12V”设计电源,它们更能应对CPU和显卡的瞬时高功耗。
-
模组化设计:指电源的输出线缆是否可以自由插拔。
- 非模组:所有线缆都固定在电源上,不用的线缆会成为机箱内的理线“灾难”。
- 半模组:只有主板和CPU供电线是固定的,显卡、硬盘等线缆可拆。
- 全模组:所有输出线缆都可以根据需要自由插拔,是目前中高端电源的主流,极大地方便了理线和维护。
3. 电源的输出接口:连接何处?
电源通过各种不同规格的接口线缆,为电脑的不同部件供电:
- 主板主供电接口 (24-pin ATX):为主板提供主要电力,是必接的接口。
- CPU 供电接口 (4+4 pin / 8 pin EPS):专门为CPU提供电力,对于中高端CPU是必须的。
- PCI-E 显卡供电接口 (6+2 pin / 8 pin):为独立显卡提供额外电力,根据显卡功耗不同,可能需要一个或多个。
- SATA 供电接口:为SATA接口的硬盘、固态硬盘和光驱供电。
- 大4针 (Molex) 供电接口:较老的接口,现在主要用于为机箱风扇或一些老设备供电。
4. 如何选择与安装
- 功率匹配:根据你的CPU和显卡功耗来选择合适的额定功率,宁可大,不可小。
- 品质优先:选择有良好口碑的品牌,它们通常意味着更好的元器件、更稳定的输出和更可靠的保护。
- 认证与设计:优先选择 80 PLUS 金牌认证 以上、且 单路+12V输出 的电源。
- 模组化:如果注重机箱内部整洁,全模组或半模组电源是更好的选择。
- 尺寸兼容:购买前请确认机箱支持的电源尺寸(通常是ATX标准尺寸:150mm x 86mm x 140mm)。
- 安全安装:在安装或拔插电源线时,务必先关闭电源并拔掉电源线,以确保安全。
总而言之,电源是电脑稳定运行的基石。一个劣质或功率不足的电源,不仅可能导致电脑频繁蓝屏、死机,更有可能在关键时刻损坏其他硬件。因此,在CPU、显卡、主板上投入重金后,为它们搭配一个可靠、强劲的“心脏”是明智且必要的投资。
0.3. 数据的表示方式
计算机只认识0和1,记录的数据也只能记录0和1。所以计算机常用的数据是二进制的。但我们日常使用的以十进制为主,而文字又有很多种语言,那么计算机要记录这么多数字与文字,就需要通过一系列的转换,下面学习数值与文字的编码系统。
0.3.1 数字系统
计算机的数字系统是其一切运算的基础,其中最核心的就是二进制。理解二进制与我们熟悉的十进制之间的转换,是走进计算机世界的第一步。
1. 什么是二进制与十进制?
-
十进制 (Decimal):我们日常生活中最常用的计数系统,基数为 10。它使用 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 这十个数码,并遵循“逢十进一”的规则。例如,数字 123 表示
1×10² + 2×10¹ + 3×10⁰。 -
二进制 (Binary):计算机内部唯一能直接识别和处理的计数系统,基数为 2。它只使用 0 和 1 这两个数码,并遵循“逢二进一”的规则。例如,二进制数 101 表示
1×2² + 0×2¹ + 1×2⁰。
2. 十进制转二进制:“除2取余法”
将一个十进制数转换为二进制,最常用的方法是“除2取余法”,并将余数逆序排列。
转换步骤:
- 将十进制数除以 2,记录下商和余数(余数只能是 0 或 1)。
- 用上一步得到的商继续除以 2,再次记录商和余数。
- 重复上述过程,直到商为 0。
- 将所有记录的余数从最后到最前(即从下往上)的顺序排列,得到的序列就是对应的二进制数。
以十进制数 42 为例:
| 十进制数 | ÷ 2 | 商 | 余数 (记录下来) |
|---|---|---|---|
| 42 | ÷ 2 | 21 | 0 (最低位) |
| 21 | ÷ 2 | 10 | 1 |
| 10 | ÷ 2 | 5 | 0 |
| 5 | ÷ 2 | 2 | 1 |
| 2 | ÷ 2 | 1 | 0 |
| 1 | ÷ 2 | 0 | 1 (最高位) |
将余数从下到上逆序排列:101010。
因此,十进制数 42 的二进制表示为 101010。
3. 二进制转十进制:“按权展开法”
将一个二进制数转换为十进制,最常用的方法是“按权展开法”。即从右向左(从低位到高位),将每一位上的数字乘以 2 的相应次方(权值),然后将所有结果相加。
转换步骤:
- 确定二进制数的每一位,从右向左数,第一位(最右边)的权值是 2⁰,第二位是 2¹,第三位是 2²,以此类推。
- 将每一位上的数字(0 或 1)乘以它对应的权值。
- 将所有乘法结果相加,得到的和就是对应的十进制数。
以二进制数 101010 为例:
从右向左,每一位的权值和计算如下:
- 第 1 位 (最右边): 0 × 2⁰ = 0 × 1 = 0
- 第 2 位: 1 × 2¹ = 1 × 2 = 2
- 第 3 位: 0 × 2² = 0 × 4 = 0
- 第 4 位: 1 × 2³ = 1 × 8 = 8
- 第 5 位: 0 × 2⁴ = 0 × 16 = 0
- 第 6 位 (最左边): 1 × 2⁵ = 1 × 32 = 32
将所有结果相加:0 + 2 + 0 + 8 + 0 + 32 = 42。
因此,二进制数 101010 对应的十进制数是 42。
小结:
- 十进制 → 二进制:使用“除2取余,逆序排列”。
- 二进制 → 十进制:使用“按权展开,逐位相加”。
理解并掌握这两种转换方法,是学习计算机组成原理、编程和数字逻辑电路的基础。
0.3.2 文字编码系统
文字编码系统是计算机用来处理、存储和传输文本信息的基础规则,它本质上是一张“字符”与“数字”之间的映射表。为了让不同计算机之间能够互相理解对方的文本,就需要统一的编码标准。从最初的英文字符到如今的全球文字与表情符号,文字编码系统经历了一个从简单到复杂、最终走向统一的演变过程。
1. 起源:ASCII 编码 (American Standard Code for Information Interchange)
- 背景:计算机早期,首要任务是处理英文信息。ASCII 是第一个被广泛接受的编码标准。
- 原理:它使用 7位二进制数(一个字节的低7位),总共可以表示 128 个字符 (2⁷)。
- 内容:包含了英文字母(大小写)、数字、标点符号以及一些控制字符(如换行、回车)。
- 局限:只能表示 128 个字符,无法满足除英语外其他语言(如带有重音的法语、德语)以及中文、日文等象形文字的需求。
2. 扩展:8位编码与“万码奔腾”时代
为了解决 ASCII 的局限,人们将字符集扩展到 8位(一个字节),这样就能表示 256 个字符 (2⁸)。但这依然不够,于是各个国家和地区开始制定自己的标准,导致了混乱的“万码奔腾”时代。
- ISO-8859 系列:由国际标准化组织制定,为不同语言区域提供扩展,如 ISO-8859-1 用于西欧语言。
- ANSI 代码页 (Code Page):微软在 Windows 系统中采用的方案。例如,简体中文 Windows 使用的 CP936 代码页,实际上就是 GBK 编码。
- 主要问题:这些标准互不兼容。同一个字节在不同编码下可能代表完全不同的字符,导致文件在不同系统间传输时经常出现“乱码”。
3. 统一:Unicode 与 UTF-8 编码
为了从根本上解决编码混乱问题,Unicode 联盟制定了 Unicode 标准,旨在为世界上所有文字和符号提供一个唯一的数字编号(称为“码点”)。
- 核心思想:将所有字符统一编号,与具体的存储和传输方式解耦。
- 编码空间:Unicode 的码点范围非常大(U+0000 到 U+10FFFF),可以容纳超过 100 万个字符。
- 实现方式 (UTF):Unicode 本身只是一个概念,需要具体的编码方案来实现。最常用的是 UTF-8、UTF-16 和 UTF-32。
UTF-8 编码详解
UTF-8 是目前互联网和现代软件中最主流的编码方式,它完美地解决了兼容性和空间效率的问题。
- 变长编码:它使用 1到4个字节 来表示一个字符,非常灵活。
- 向后兼容:对于 ASCII 字符(U+0000 到 U+007F),UTF-8 使用 1个字节 表示,且编码与 ASCII 完全相同。这意味着所有 ASCII 文本都是合法的 UTF-8 文本。
- 高效存储:对于常用字符(如中文),通常使用 3个字节 表示,比 UTF-16 的固定2字节更节省空间。
- 自同步特性:UTF-8 编码的字节序列有特定模式,即使数据损坏,也容易找到下一个字符的起始位置,鲁棒性强。
总结:文字编码的演进
- ASCII (7位) -> 扩展ASCII/代码页 (8位) -> Unicode (统一字符集) -> UTF-8 (主流实现)
简单来说,Unicode 是一个包含了所有字符的“大字典”,而 UTF-8 是一种高效的“查字典和记录方法”。它通过变长的字节序列,既完美兼容了古老的英文系统,又能高效地表示全球任何语言和符号,是当前最推荐使用的编码标准。
0.4. 软件程序运行
- 软件分为系统软件 与 应用软件
先了解什么是机器程序,在学习为什么需要操作系统。
0.4.1 机器程序与编译程序
机器程序(Machine Program)
机器程序是指由机器语言编写的程序,也称为目标程序或机器语言程序。
- 机器语言是计算机唯一能够直接识别和执行的语言,由 0 和 1 组成的二进制代码序列构成。
- 每条机器指令对应 CPU 的一条基本操作(如加法、数据传送、跳转等)。
- 机器程序可以直接被计算机硬件执行,无需翻译。
特点:
- 执行效率最高(无需翻译过程)
- 可读性极差,编写和调试极其困难
- 与具体硬件紧密相关,缺乏可移植性
编译程序(Compiler)
编译程序是一种系统软件,它的作用是将用高级语言(如 C、C++、Java 等)编写的源程序,整体翻译成等价的机器语言程序(目标程序)。
工作流程:
源程序(高级语言) → [编译程序] → 目标程序(机器语言) → 执行
主要阶段:
- 词法分析:识别源代码中的单词符号(关键字、标识符、运算符等)
- 语法分析:根据语法规则检查源代码结构是否正确
- 语义分析:检查语义是否合法(如类型匹配)
- 中间代码生成:生成与机器无关的中间表示
- 代码优化:对中间代码进行优化,提高执行效率
- 目标代码生成:生成最终的机器语言目标程序
特点:
- 翻译后生成的目标程序可以脱离编译程序独立运行
- 整个翻译过程在程序执行之前完成
- 翻译效率高,适合大型程序
两者的关系
| 对比项 | 机器程序 | 编译程序 |
|---|---|---|
| 本质 | 可执行的二进制代码 | 翻译工具(系统软件) |
| 语言 | 机器语言(二进制) | 将高级语言翻译为机器语言 |
| 角色 | 最终被执行的对象 | 源程序与目标程序之间的桥梁 |
| 是否可直接执行 | ✅ 可直接执行 | ❌ 本身不执行,负责翻译 |
简单来说:
编译程序是"翻译官",负责把人类易读的高级语言程序翻译成计算机能直接执行的机器程序。机器程序是编译程序的输出产物,也是计算机真正执行的对象。
补充:编译方式 vs 解释方式
与编译程序对应的还有解释程序(Interpreter),两者的核心区别在于:
- 编译方式:先整体翻译,再执行目标程序(如 C/C++)
- 解释方式:边翻译边执行,不生成独立的目标程序(如 Python、JavaScript)
0.4.2 操作系统(Operating System, OS)
操作系统的诞生背景
早期面临的三大困境:
- 编程极其困难:程序员必须直接操作硬件,了解每台机器的指令集、寄存器、I/O端口等细节
- 程序无法移植:不同型号计算机硬件差异大,为一种机器写的程序无法在另一种上运行
- 硬件利用率极低:CPU速度远快于I/O设备,大量时间浪费在等待人工操作和慢速设备上,利用率可能不到10%
演进过程
手工操作(人工装纸带、拨开关)
↓ 问题:CPU等待人工,利用率极低
批处理系统(作业集中自动执行)
↓ 问题:CPU等待慢速I/O时仍空闲
多道程序设计(内存中同时放多个程序,交替执行)
↓ 需要有人来管理和调度这些并发程序
操作系统应运而生
定义
操作系统是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。它为用户和应用程序提供了一个与硬件交互的接口,是计算机系统中最重要的系统软件。
简单理解:操作系统是用户与计算机硬件之间的"桥梁"和"管家"。
核心功能
处理器管理(CPU 管理)
- 负责 CPU 的分配、调度和回收
- 实现多任务处理,决定哪个进程在何时使用 CPU
- 关键技术:进程调度算法(先来先服务、时间片轮转、优先级调度等)
存储器管理(内存管理)
- 负责内存的分配与回收
- 实现虚拟内存技术,使程序可以使用比物理内存更大的地址空间
- 关键技术:分页、分段、页面置换算法
设备管理(I/O 管理)
- 管理各种外部设备(磁盘、打印机、显示器等)
- 提供统一的设备驱动接口
- 负责设备的分配、缓冲和调度
文件管理
- 管理磁盘上的文件和目录
- 提供文件的创建、删除、读写、查找等操作
- 关键技术:文件系统(FAT、NTFS、ext4 等)
用户接口
- 命令行接口(CLI):通过命令与系统交互(如终端、CMD)
- 图形用户接口(GUI):通过窗口、图标、菜单等交互(如桌面环境)
- 程序接口(API):为应用程序提供系统调用
操作系统的发展与分类
按发展阶段分类
| 阶段 | 特点 | 代表 |
|---|---|---|
| 手工操作阶段 | 无操作系统,人工操作 | — |
| 批处理系统 | 成批处理作业,提高利用率 | IBM 7094 |
| 分时系统 | 多用户共享,交互性 | UNIX |
| 实时系统 | 及时响应,高可靠性 | 嵌入式 OS |
| 通用操作系统 | 功能全面,多任务多用户 | Windows、Linux |
常见操作系统
- Windows:微软开发,图形界面友好,市场占有率最高
- Linux:开源免费,安全稳定,广泛用于服务器和嵌入式
- macOS:苹果公司开发,用于 Mac 电脑
- Android / iOS:移动端操作系统
操作系统的基本特征
- 并发性:多个程序在同一时间段内交替执行(宏观并行,微观串行)
- 共享性:系统资源可供多个用户/进程共同使用
- 虚拟性:将物理实体变为逻辑上的对应物(如虚拟内存)
- 异步性:进程以不可预知的速度向前推进
操作系统在计算机系统中的地位
┌─────────────────────────────┐
│ 用户 / 应用程序 │ ← 最外层
├─────────────────────────────┤
│ 操作系统 (OS) │ ← 核心层
├─────────────────────────────┤
│ 计算机硬件 │ ← 最底层
└─────────────────────────────┘
操作系统处于硬件之上、应用程序之下的位置:
- 对下:直接管理硬件资源
- 对上:为应用程序提供运行环境和服务
与之前概念的关联
编译程序将高级语言源程序翻译成机器程序,而操作系统负责加载并执行这些机器程序,同时为编译程序本身提供运行环境。三者协同工作,构成了完整的软件生态。
操作系统核心(Kernel)
一、什么是内核
内核(Kernel)是操作系统最核心的部分,运行在最高特权级,是硬件与软件之间的桥梁。
如果把操作系统比作一家公司,内核就是CEO——它掌控一切核心资源的分配,其他部分都要通过它来办事。
- 内核是操作系统中常驻内存的部分
- 拥有对硬件的完全访问权限
- 负责管理系统的所有核心资源
二、内核的核心功能
| 功能模块 | 职责 |
|---|---|
| 进程管理 | 创建、调度、终止进程;处理进程间通信 |
| 内存管理 | 物理内存分配、虚拟内存管理、页面置换 |
| 文件系统 | 管理磁盘上的数据组织与存取 |
| 设备驱动 | 控制硬件设备,提供统一的 I/O 接口 |
| 网络通信 | 实现网络协议栈(TCP/IP等) |
| 安全与权限 | 用户认证、访问控制、进程隔离 |
三、内核态与用户态
这是理解内核的关键概念:
两种运行模式
| 对比项 | 内核态(Kernel Mode) | 用户态(User Mode) |
|---|---|---|
| 特权级别 | 最高(Ring 0) | 较低(Ring 3) |
| 可执行指令 | 所有指令(包括特权指令) | 仅非特权指令 |
| 可访问资源 | 所有硬件和内存 | 受限,需通过系统调用 |
| 运行程序 | 内核代码、设备驱动 | 普通应用程序 |
为什么要区分?
- 安全性:防止用户程序直接操作硬件,避免恶意或错误程序破坏系统
- 稳定性:用户程序崩溃不会导致整个系统崩溃
- 隔离性:不同用户/程序之间互不干扰
状态切换
用户程序 → 发起系统调用 → 触发软中断 → 切换到内核态
↓
用户程序 ← 返回结果 ← 执行完毕 ← 内核完成服务
用户态 → 内核态的唯一途径是通过系统调用或中断。
四、系统调用(System Call)
系统调用是用户程序请求内核服务的唯一合法接口,是用户态与内核态之间的"大门"。
常见系统调用分类
| 类别 | 示例 |
|---|---|
| 进程控制 | fork()、exit()、wait() |
| 文件操作 | open()、read()、write()、close() |
| 设备管理 | ioctl()、read()、write() |
| 内存管理 | brk()、mmap() |
| 信息维护 | getpid()、time() |
| 通信 | pipe()、socket() |
执行过程
1. 用户程序执行 trap 指令(陷入指令)
2. CPU 切换到内核态,跳转到内核中对应的处理程序
3. 内核执行请求的服务
4. 返回结果给用户程序,切换回用户态
五、内核架构分类
宏内核(Monolithic Kernel)
- 所有内核功能(进程管理、内存管理、文件系统等)都在同一个大程序中运行,共享同一地址空间
- 优点:性能高,模块间通信开销小
- 缺点:一个模块出错可能导致整个系统崩溃;代码庞大,维护困难
- 代表:Linux、UNIX
┌─────────────────────────────┐
│ 进程 │ 内存 │ 文件 │ 网络 │ ← 全部在内核空间
├─────────────────────────────┤
│ 硬件抽象层 │
├─────────────────────────────┤
│ 硬件 │
└─────────────────────────────┘
微内核(Microkernel)
- 内核只保留最核心的功能(进程通信、基本调度),其他功能(文件系统、驱动等)作为用户态服务运行
- 优点:稳定性高,一个服务崩溃不影响系统;安全性好;可扩展性强
- 缺点:性能较低,模块间通信需要频繁的内核切换
- 代表:Minix、QNX、macOS(XNU 部分)
┌─────────────────────────────┐
│ 文件服务 │ 驱动服务 │ 网络 │ ← 用户态服务
├─────────────────────────────┤
│ 进程通信 │ 基本调度 │ ← 微内核(最小化)
├─────────────────────────────┤
│ 硬件 │
└─────────────────────────────┘
混合内核(Hybrid Kernel)
- 结合宏内核和微内核的特点,核心功能在内核态运行,部分服务模块化
- 代表:Windows NT、macOS(XNU)
对比总结
| 对比项 | 宏内核 | 微内核 | 混合内核 |
|---|---|---|---|
| 性能 | ⭐⭐⭐ | ⭐ | ⭐⭐ |
| 稳定性 | ⭐ | ⭐⭐⭐ | ⭐⭐ |
| 可维护性 | ⭐ | ⭐⭐⭐ | ⭐⭐ |
| 代表系统 | Linux | Minix、QNX | Windows、macOS |
六、概念关联
应用程序
│
│ 系统调用(唯一合法通道)
▼
┌──────────────────────┐
│ 内核 (Kernel) │ ← 常驻内存,最高特权级
│ ┌────┐┌────┐┌────┐ │
│ │进程││内存││文件│ │
│ │管理││管理││系统│ │
│ └────┘└────┘└────┘ │
│ ┌────┐┌──────────┐ │
│ │设备││安全与权限│ │
│ │驱动││ │ │
│ └────┘└──────────┘ │
└──────────────────────┘
│
│ 直接控制
▼
硬件(CPU、内存、磁盘、网络...)
一句话总结:内核是操作系统中运行在最高特权级的核心程序,负责管理所有硬件资源,并通过系统调用为用户程序提供服务。内核态与用户态的隔离机制保障了系统的安全与稳定。
0.4.3 应用程序(Application)
一、什么是应用程序
应用程序(Application)是为满足用户特定需求而编写的软件,运行在操作系统之上,通过操作系统提供的接口来使用硬件资源。
如果说操作系统是"管家",那应用程序就是管家服务的"主人"——它不直接碰硬件,而是通过管家来完成各种任务。
- 应用程序是系统软件(操作系统)之上的用户层软件
- 运行在用户态,不能直接访问硬件
- 必须通过系统调用请求操作系统提供服务
二、应用程序与操作系统、硬件的关系
┌──────────────────────────────────┐
│ 用户 / 应用程序 │ ← 用户态(Ring 3)
│ 浏览器 │ 编辑器 │ 游戏 │ ... │
├──────────────────────────────────┤
│ 操作系统 (OS) │ ← 内核态(Ring 0)
│ 进程管理 │ 内存管理 │ 文件系统 │
├──────────────────────────────────┤
│ 计算机硬件 │
│ CPU │ 内存 │ 磁盘 │ 网卡 │ ... │
└──────────────────────────────────┘
- 应用程序不直接操作硬件,而是通过操作系统提供的系统调用接口(API)间接使用硬件资源
- 这种设计保证了系统的安全性和稳定性——即使应用程序崩溃,也不会影响操作系统和其他程序
三、应用程序的分类
按用途分类
| 类别 | 说明 | 示例 |
|---|---|---|
| 系统工具 | 辅助系统管理和维护 | 磁盘清理、杀毒软件、压缩工具 |
| 办公软件 | 文档处理、数据分析 | Word、Excel、WPS |
| 开发工具 | 编写和调试程序 | VS Code、IDEA、GCC |
| 网络应用 | 网络通信与浏览 | 浏览器、微信、邮件客户端 |
| 多媒体 | 音视频处理 | Photoshop、VLC、剪映 |
| 游戏娱乐 | 游戏与娱乐 | 各类PC/手机游戏 |
按架构分类
| 类型 | 特点 | 示例 |
|---|---|---|
| 桌面应用 | 安装在本地,直接调用系统API | Windows桌面程序、macOS应用 |
| 移动应用(App) | 运行在移动操作系统上 | Android App、iOS App |
| Web应用 | 通过浏览器访问,运行在服务器上 | 网页版邮箱、在线文档 |
| 命令行工具 | 通过终端输入命令使用 | git、ffmpeg、curl |
四、应用程序的运行过程
一个应用程序从启动到执行,经历了以下完整流程:
1. 用户双击图标 / 输入命令
↓
2. 操作系统创建进程,分配内存空间
↓
3. 将程序的代码和数据从磁盘加载到内存
↓
4. CPU 开始执行程序的机器指令
↓
5. 程序运行中需要硬件资源时 → 发起系统调用
↓
6. CPU 从用户态切换到内核态,操作系统代为操作硬件
↓
7. 操作完成,返回结果,切换回用户态
↓
8. 程序继续执行,直到结束或被用户关闭
举例:用记事本打开一个文件
用户点击"打开文件"
↓
记事本调用 open() 系统调用
↓
操作系统切换到内核态
↓
文件系统查找磁盘上的文件
↓
将文件数据读入内存缓冲区
↓
返回文件数据给用户程序
↓
记事本将内容显示在屏幕上(调用显示设备的系统调用)
五、应用程序的开发过程
应用程序从编写到运行,需要经过以下环节:
编写源代码(高级语言:C/Java/Python...)
↓
[编译程序 / 解释程序]
↓
生成目标程序(机器语言)
↓
[链接程序] ← 将多个目标文件和库文件合并
↓
生成可执行文件(.exe / .out / .app)
↓
[操作系统加载器]
↓
程序运行
这里就串联了之前学过的概念:编译程序负责翻译,操作系统负责加载和执行,应用程序是最终面向用户的产物。
六、应用程序的权限限制
应用程序运行在用户态,受到操作系统的严格管控:
| 不允许直接做的事 | 正确做法 |
|---|---|
| 直接读写磁盘扇区 | 通过文件系统API(read()/write()) |
| 直接操作内存地址 | 通过内存分配API(malloc()/mmap()) |
| 直接发送网络数据包 | 通过Socket API(socket()/send()) |
| 直接控制显示器 | 通过图形API(OpenGL/DirectX) |
| 直接操控CPU寄存器 | 不允许,由操作系统管理 |
核心原则:应用程序只能通过操作系统提供的系统调用接口来使用硬件资源,不能"绕过"操作系统直接操作硬件。
七、概念关联总结
┌─────────────────────────────────────────────┐
│ 概念全景 │
│ │
│ 编译程序 ──翻译──→ 机器程序 │
│ ↓ │
│ 操作系统加载并执行 │
│ ↓ │
│ 应用程序开始运行 │
│ ↓ │
│ 需要硬件资源 → 系统调用 → 内核态 │
│ ↓ │
│ 内核代为操作硬件 │
│ ↓ │
│ 返回结果 → 用户态 │
└─────────────────────────────────────────────┘
一句话总结:应用程序是运行在操作系统之上的用户层软件,通过系统调用间接使用硬件资源,是最终面向用户、满足特定需求的软件产品。
0.5 重点回顾
计算机的定义为:“接受使用者输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或存储成有用的信息”。
计算机的五大单元包括:输入单元、输出单元、算术逻辑器、控制器、存储器。其中CPU占有控制器与算术逻辑器,存储器又包含内存与辅助内存。
数据会流进/流出内存是CPU所发布的控制命令,而CPU实际要处理的数据则完全来自于内存。
CPU依设计理念主要分为:精简指令集(RISC)与复杂指令集(CISC)。
关于CPU的频率部分:外频指的是CPU与外部元件进行数据传输时的速度,倍频则是CPU内部用来加速工作性能的一个倍数,外频 乘以 倍频 才是CPU的主频。
新的CPU设计中,已经将北桥整合到CPU内部,CPU与内存、显卡沟通的总线称为系统总线。南桥就是所谓的输入输出(I/O)总线,主要联系硬盘、USB、网卡等速度较慢的设备。
CPU每次能够处理的数据量称为字组大小(word size),字组大小依据CPU的设计而有32位与64位。我们现在所称的电脑是32位或64位主要是依据这个CPU解析的字组大小而来的!
个人电脑的内存主要元件位动态随机存取内存,CPU内部的缓存则使用静态随机存取内存。
BIOS是一套程序,这套程序是写死到主板上面的一个内存芯片中,这个内存芯片在没有通电时也能够将数据记录下来,那就是只读存储器。
目前主流的外接卡接口大多为 PCIe 接口, 且最新为PCIe5.0,单通道速度高达3.9GB/s。
常见的显卡连接到屏幕的接口有VGA、DVI、HDMI、Displayport、USB-C。
传统硬盘的组成为:圆形盘片、机械手臂、磁头与主轴马达所组成,其中盘片的组成为磁化元、扇区、磁道、与柱面。
磁盘连接到主板的接口大多为SATA、M.2、IDE、SAS、U.2、EDSFF。
常见的文字编码为ASCII、UTF-8、GB2312、GBK、GB18030、Big5。目前主流为UTF-8。
操作系统也是一组程序,这组程序的重点在于管理电脑的所有活动以及驱动系统中的所有硬件。
电脑主要以二进制为单位,常用的磁盘容量单位为Bytes,其单位换算为1Byte=8bit。
最基本的操作系统仅在驱动与管理硬件,而要使用硬件时,就得需要通过应用软件或是壳程序(shell)的功能,来调用操作系统曹总硬件工作。目前称为操作系统的,除了上述功能外,通常已经包含了日常工作所需要的应用软件在内。
0.6 练习题
根据本章内文的说明,请找出目前全世界跑的最快的超级计算机的:(1)系统名称(2)所在位置 (3)使用的 CPU 型号与规格 (4)总共使用的 CPU 数量 (5)全功率操作 1 天时,可能耗用的电费 (请上网查询相关电价来计算)。
一、系统名称:
灵晟(LineShine),基于灵昆(LingKun)平台打造。2026年6月23日在德国汉堡ISC2026大会上,以 2.198 EFlops(每秒219.8亿亿次双精度浮点运算)的持续性能登顶全球超算TOP500榜单,是世界首台持续性能突破2 EFlops的超算系统。
二、所在位置:
中国深圳·国家超级计算机深圳中心(NSCC-SZ),由深圳云计算中心建造。
三、CPU的型号与规格:
搭载国产自研 LX2 处理器,采用首创的"Online Acceleration"全CPU架构(非传统的CPU+GPU异构架构),核心参数如下:
每颗核心数:304核
主频:1.55 GHz
特色:内嵌AI矩阵加速单元,集成首颗国产HBM(高带宽内存),内存带宽较传统CPU提升10倍
操作系统:麒麟操作系统
四:总共使用的CPU数量:
根据TOP500榜单数据,灵晟的总核心数为 13,789,440(约1379万个核心)。
由此可推算13,789,440/304=45360颗LX2处理器。
五:一天的电费:
灵晟整机功耗约为 42.2 MW(兆瓦),乘以24小时=1,012.8 MWh=1,012,800 kWh(度)
以0.65元每kWh作为参考,1,012,800kWh 乘以 0.65=658320元。
1 MW(兆瓦)=1,000 kW(千瓦)
动动手实作题:
假设你不知道你的主机内部的各项元件数据,请拆开你的主机机箱,并将内部所有的元件拆开,并且依序列出:CPU的厂牌、型号、最高频率;内存的容量、接口 (DDR/DDR2/DDR3 等);显卡的接口 (AGP/PCIe/内置) 与容量,主板的厂牌、南北桥的芯片型号、BIOS的厂牌、有无内置的网卡或声卡等,硬盘的连接接口 (SATA/SAS等)、硬盘容量、转速、缓冲内存容量等。然后再将他组装回去。注意,拆装前务必先取得你主板的说明书,因此你可能必须要上网查询上述的各项数据。
利用软件:假设你不想要拆开主机机箱,但想了解你的主机内部各元件的信息时,该如何是好? 如果使用的是Windows操作系统,可使用CPU-Z这套软件,如果是Linux环境下,可以使用“cat/proc/cpuinfo” 及使用“lspci”来查阅各项元件的型号;
CPU品牌:AMD
型号:AMD Ryzen 7 5700G
最高频率:外频100MHz * 倍频43 = 4.3GHz主频
内存容量:16GB * 2 =32GB
接口类型:DDR4
显卡的接口与容量:核显,显存512MB
主板的品牌:华硕 TUF GAMING B550M-PLUS WIFI II
南桥芯片型号:B550芯片组
北桥芯片型号:没有,北桥已整合到CPU内部。
BIOS的品牌:AMI
有无内置的网卡或声卡:内置
硬盘的连接接口:SSD(m.2)HDD(SATA)
硬盘容量:2TB+500GB
转速:7200RPM
缓冲内存容量:256MB
找出第四代 Intel i7 4790 CPU 的: (1)与南桥沟通的 DMI 带宽有多大? (2)第二层高速缓存的容量多大? (3)最大 PCIe 信道数量有多少?并据以说明主板上面 PCIe 插槽的数量限制。
与南桥沟通的DMI带宽:4GB/s
l2缓存:每核256KB,4核共1MB
最大PCIe通道数量:16条PCIe3.0
PCIe插槽数量限制:第一条x16(PCIe3.0),CPU直供。第二条x16(PCIe2.0)南桥提供,第三条x4或x1(PCIe2.0)南桥提供。
Intel SSD 520 固态硬盘相关的功能表,了解 (1)连接接口、(2)最大读写速度及 (3)最大随机读写数据 (IOPS) 的数据。
连接接口:SATA
最大读写速度:550MB/s
最大随机读写数据:50,000