--- title: "01-计算机硬件速览:一台电脑是怎么跑起来的" created: 2026-08-29 tags: - 基础与理论 - 计算机速览 aliases: - 计算机基础 --- # 计算机硬件速览:一台电脑是怎么跑起来的 > 本篇目标是**一周建立整机观**:计算机由什么组成、各部件怎么协作、买电脑时那些参数到底在看什么。有个大认识之后,再去细分学 [[00-操作系统总览|操作系统]] 和 [[00-计算机网络总览|计算机网络]],脑中始终挂着这张整机图。 ![[image-7439f208.png]] ## 一、先想清楚:计算机为什么存在 **何为计算机?为什么要有计算机?** 看《模仿游戏》就明白了——计算机的诞生就是为了取代人力。新时代了,没有奴隶制了,谁干活呢?总不能自己干吧,那就造些"合法的奴隶"出来(玩笑话,但本质真是如此)。 还真就被造出来了。计算机最初不是为日常加减乘除发明的,是投入军用于武器精密计算——所以需求大部分是数字运算。沿着这个初衷往下想,一切硬件设计都说得通了。 几个绕不开的概念: - **什么是编程?** 把想让计算机做的事的步骤想清楚,用一种它能听懂的语言(编程语言)翻译下来。 - **什么是程序?** 做一件事翻译一次太浪费,重复做的事就把翻译结果保存下来以便调用。程序就是一堆代码文件。 - **硬件和软件什么关系?** 计算机硬件就是一堆废铁,运行全受程序控制——**程序是计算机硬件的灵魂**。硬件之外都是软件,软件分两类:系统软件(操作系统,协调管理一切资源的控制程序)和应用软件。 **计算机系统 = 硬件 + 软件**,也就是一台能正常工作的计算机。 ## 二、冯诺依曼体系:一切的原点 计算机主要用于计算,所以一定要有一个**运算器**;进行何种运算(加减乘除),需要**控制器**指挥;指令和数据要放着,所以有**存储器**;数据从哪来?得有**输入设备**;一切为了得到结果,得有**输出设备**。 > **冯诺依曼体系五大部件:输入设备、存储器、运算器、控制器、输出设备** > > 1. 硬件由这五部分组成 > 2. 采用二进制表示数据和指令 > 3. 程序预先放在主存储器中,工作时高速调用(存储程序思想) 这套体系沿用至今没有被撼动。但看自己手边的笔记本,CPU 好像不在五大部件里?——因为常见个人计算机是**微型计算机**,为了便携和进家入户,必须集成:**CPU 就是把运算器和控制器集成在一个芯片上**(CPU 里还有寄存器,正好模拟了大脑思考、控制、记忆三大功能)。而小型机、中型机、银河那种大家伙不压缩体积,运算器和控制器至今仍是分开的。 于是同一种结构有三种说法,本质都一样,场景不同而已: ``` 教科书式: 输入设备、存储器、运算器、控制器、输出设备 微机式: CPU(=运算器+控制器)、内存、I/O 设备 再简化: 主机(CPU+内存)、外部设备(外设) ``` (这种把系统细化再重新组合的方法有三个名字,层次化、模块化、规则性——后面学操作系统结构时会再遇到这套思想。) ## 三、CPU:大脑 **类比大脑**: | 大脑 | CPU | 说明 | | --- | --- | --- | | 控制手脚等器官 | **控制器** | 控制各种硬件的使用 | | 思考问题给出答案 | **运算器** | 接收数据和指令进行运算 | | 记忆 | **寄存器** | CPU 内部的小型存储器 | **买 CPU 看什么参数?** - **主频**:速度 - **缓存**:3/4 级缓存 - **核数**:工人数,1 核 ≈ 1 个人 **2 核 4 线程**:真两个核心,但相当于 4 个核能做的事——可以理解为这个大脑很强大,1 个核顶 2 个大脑用。CPU 高速运算会过热,过热就死机重启,所以散热很重要。 **指令集**: | | 精简指令集(RISC) | 复杂指令集(CISC) | | --- | --- | --- | | 指令 | 少而简单 | 单条指令较复杂 | | 实现功能 | 需要大量指令 | 所需指令较少 | | 用途 | 精准计算(火箭、卫星) | 日常使用(x86 基本是) | **杂项**:Intel 共享 L2 缓存,AMD 每核配一个缓存(有数据不同步问题)。**位数**:内存里放的其实都是高低电平,不是数字,只是便于理解等效成 01 代码。CPU 每次从内存读取的 01 是一定的,所以有 32 位(一次取 32 位)、64 位(一次取 64 位)CPU。CPU 有向下兼容性:64 位可拆成高 32 位 + 低 32 位,所以能跑 32 位程序。 ## 四、存储金字塔:速度与容量的永恒权衡 **核心指标:速度、容量**,而这两者天然矛盾,于是层层妥协出一条金字塔: ![[image-e38e5f48.png]] ### 寄存器(塔尖) CPU 内部,与 CPU 同材质同速度,访问零时延。容量极小(32 位机 32×32,64 位机 64×64,都不到 1KB)。 ### 高速缓存(Cache) L2 向下还能拓展 L3、L4。核心概念是**命中**:程序要读一个存储字时,缓存硬件先检查所需数据在不在缓存里——在,就叫命中,直接用;不在,才去下层拿。把要立刻用的东西从内存搬到缓存,就是拿空间换时间的典型。 ### 内存(存储主力) 内部存储,负责存放正在运行的数据,高速、随机存取。 - **RAM**:可读可写,断电丢数据。放 QQ、影视、微信等真正要运行的东西 - **ROM**:只读,断电不丢。放 **BIOS**(基本输入输出系统) > 💡 **电脑卡顿的两种"内存"不是一回事**:360 那个球、上划清后台,说的是运行内存(RAM);手机"存储空间不足"、C 盘爆红,说的是外存(硬盘)。两个概念,别混。 **鸡生蛋问题:BIOS 为什么存在?** 买来计算机还没装系统,没有操作系统帮忙,连硬盘都转不起来、显示器都打不开,那怎么装系统?——死循环,一堆废铁。 所以生产商在装 Windows、Linux **之前**,就在 ROM 里固化了一个 BIOS 系统。它不能用鼠标,不能听歌打游戏,唯一职责就是保证这台计算机能用。**为什么放 ROM?** 买来时不可能带电,ROM 断电仍保存数据;这系统是保命用的,肯定不能被改,只能读。 BIOS 相当于一个代理管家: - 装系统前:CPU + ROM + CMOS(记录硬件配置,耗电极少,纽扣电池就能维持) - 系统启动后:管家交权给操作系统——CPU + RAM + 硬盘(系统软件放硬盘,运行数据进 RAM) **参考参数**:容量、频率(并非越大越好,要与主板匹配)。卡了?加内存 or 重启(清缓存)。 ### 硬盘(塔基) 程序先放硬盘,运行时加载:**代码和数据从硬盘读入内存,CPU 再从内存取指运行**。硬盘大小决定能装多少软件,内存大小决定能同时跑多少软件。外部存储,永久保存,低速。 - **机械硬盘**:磁盘片、磁头、马达,速度看转速 - **固态硬盘(SSD)**:电信号存储,小、贵、快 **扇区与块**(理解 Linux 优化前先记住两个单位): - **扇区**:硬盘最小的读写单位,512 byte(单个快递盒子) - **块(block)**:操作系统读写的最小单位,8 个扇区 ≈ 4K(收纳箱) Linux 的三板斧优化: 1. **Buffer 缓冲区**(大卡车):攒一波数据再送,减少趟数 2. **Cache**:内存富余时拿来继续做性能优化 3. **虚拟内存 Swap 分区**(备胎):硬盘分一块出来当内存用。内存告急时把非必要数据倒腾出去——虽然过程费时间,但**用时间保生命**。这块区域平时也不能当硬盘用,相当于应急车道 **柱面**: ![[image-6723054a.png]] 分区就是从一个柱面到另一个柱面之间的所有盘片。工作过程:机械手臂移到磁道 → 磁盘旋转 → 在扇区上找数据(运气好刚转就找到,运气不好等一整圈)——**运行程序的时间主要耗在这里**;找到后读入内存、进 CPU 的速度反而非常快。 **参考参数**:容量、转速(读写速度)、缓存大小、接口(IDE / SCSI / SATA / SAS)。 ### 磁带与 RAID - **磁带**:便携易拆,大容量低成本,专用于备份保数据。磁盘越来越便宜后逐渐退出历史舞台。 - **RAID(独立磁盘冗余阵列)**:单块磁盘在性能、容量、安全上都有单点问题。多块磁盘组成一个 group,操作系统当成一个逻辑驱动器——并行存取提高吞吐和速度、扩大容量、更好管理,而且**任何一块盘坏了系统还能继续工作**。 ## 五、主板:把一切连起来 主板将所有设备直接或间接地连接起来。看什么:大板小板、接口数量、支持的 CPU 类型、是否集成三卡(网卡/显卡/声卡)。 **其他**: - **机箱电源**:材质、抗静电、空间 - **UPS 不间断电源**:市电正常时稳压供电兼充电;停电瞬间切电池逆变继续供 220V,保硬件不受损 - **网卡/声卡**:主板一般自带千兆网卡 - **显示器**:看分辨率 ## 六、闲话:服务器与去 IOE **服务器按尺寸**:1U、4U(U 是厚度,1U = 1.75 英寸 ≈ 4.445cm);**按外形**:机架式、刀片式、塔式;还有小型机(高端定制)和云服务器(阿里云最初就是为双 11 短时访问量暴增堆服务器,闲时靠出租回本,才有了云服务)。 **去 IOE 运动**——理解国内技术圈演化的一件大事: - **I**:IBM,干服务器的 - **O**:Oracle,干数据库的 - **E**:EMC,干存储的 当年除了操作系统(Linux 开源),服务器、数据库软件、存储全被垄断。阿里 2009 年提出"去 IOE",2013 年 5 月 17 日最后一台 IBM 小型机在支付宝下线。结果是: - 服务器 → Dell、浪潮、联想、云主机 - 数据库 → MySQL(开源)。戏剧性的是 MySQL 后来被 Oracle 收购,这帮人又搞出 MariaDB - 存储 → 不再用 EMC 专业存储,自研 ceph 块存储、nfs 文件存储、swift 对象存储 (红帽 RedHat 与社区版 CentOS 的开源协议故事也值得一读。) ## 七、盲点自测 1. **微机的 CPU 为什么"不在"五大部件里?** ——在的,只是运算器+控制器被集成了。微机为体积做集成,大型机不集成。 2. **ROM 也是内存,为什么放 BIOS 而不放系统?** ——ROM 只读、断电不丢,只够放"保命+引导"的最小系统;真正的操作系统要可更新、体积大,放硬盘。 3. **内存和存储空间不足,分别表现为什么?** ——内存不足:卡顿、后台被杀;存储不足:装不下东西、C 盘爆红。 4. **为什么程序运行时间主要耗在磁盘寻址?** ——机械臂寻道 + 盘片旋转是物理运动,微秒到毫秒级;而读入内存后是电信号,纳秒级。差着几个数量级。 5. **RAID 解决什么?** ——单点问题:性能(并行读写)、容量(逻辑合并)、安全(冗余容错)。 --- 部件认识了,接下来让它们集体开工——看开机五级接力 → [[02-从按下电源到桌面]] ⬅️ [[00-计算机速览]] 🏠 [[00-基础与理论|00-基础与理论]] ➡️ [[02-从按下电源到桌面]]