☰
高级系统架构师笔记——计算机系统基础知识(1)计算机硬件
2026/9/28 20:21:29 网站建设 项目流程

2.2 计算机硬件

2.2.2 处理器

冯诺依曼架构VS哈弗架构

  • 冯・诺依曼:指令、数据共用同一条总线、同一个存储器;

  • 哈佛结构:指令存储器、数据存储器相互独立,两套总线,可以同时取指令 + 读写数据。代表:MCU、DSP

指令集

  • 复杂指令集 CISC 代表:Intel、AMD X86
  • 简单指令集 RISC 代表:ARM

常见处理器分类

类型全称核心定位特点典型用途存储架构
CPUCentral Processing Unit中央处理器通用计算主控,复杂逻辑调度擅长分支判断、复杂逻辑、串行任务;控制能力强,并行算力弱;指令集通用(x86/ARM/RISC-V)PC、服务器、手机主控核心,操作系统运行、业务逻辑处理冯・诺依曼(现代 CPU 有分离 L1 缓存,考试按冯诺依曼作答)
GPUGraphics Processing Unit图形处理器大规模并行浮点计算大量简单计算核心,适合重复、同类型并行运算;逻辑分支能力差图形渲染、AI 训练 / 推理、科学计算、视频编解码冯・诺依曼
NPUNeural Processing Unit神经网络处理器AI 神经网络专用针对矩阵乘法、卷积做硬件加速,专门优化深度学习算子;低功耗 AI 推理手机 AI、安防摄像头、边缘盒子、大模型端侧推理专用哈佛 / 类哈佛架构
DSPDigital Signal Processor数字信号处理器数字信号实时处理硬件支持乘累加 (MAC),适合信号滤波、FFT;定点运算强,实时性好音频处理、雷达、通信基带、传感器信号处理哈佛架构 / 改进哈佛架构
MCUMicrocontroller Unit微控制器小型嵌入式控制CPU + 少量 RAM/ROM + 外设集成,极简,低功耗;算力弱,无 OS 或 RTOS家电、传感器、遥控器、单片机、工业小控制板经典 51:哈佛Cortex‑M:改进哈佛(考题无改进选项选哈佛)
SoCSystem on Chip片上系统单芯片集成完整系统不是单独一类处理器,是芯片集成方案;内部可包含 CPU+GPU+NPU+DSP + 外设手机芯片、平板、车机、高端嵌入式(如麒麟、骁龙)无统一架构,内部各个核独立(CPU 核冯诺依曼,DSP/NPU 核哈佛)
FPGAField Programmable Gate Array现场可编程门阵列可硬件重构的可编程电路硬件逻辑可反复烧录修改;并行度高,流片前原型验证;主频一般,开发门槛高芯片原型验证、通信基站、高速信号处理、边缘加速可自定义搭建,无固定原生架构
ASICApplication Specific Integrated Circuit专用集成电路为单一应用定制的硬件芯片硬件逻辑固定,不可修改;性能最高、功耗最低,一次性流片成本极高比特币矿卡、专用 AI 芯片、专用编解码芯片按需设计,可冯诺依曼 / 哈佛

CPU组成

运算器
  • 算术逻辑单元ALU:数据的算术运算和逻辑运算
  • 累加寄存器AC:通用寄存器,为ALU提供一个工作区暂存数据
  • 数据缓冲寄存器DR:写内存时暂存指令或数据‘
  • 状态条件寄存器PSW:存状态标志与控制标志
控制器
  • 程序计数器PC:存储下一条要执行指令的地址
  • 指令寄存器IR:存储即将执行的指令
  • 指令译码器ID:对指令中的操作码字段进行分析解释
  • 时序部件:提供时序控制信号

2.2.3 存储器

存储器分类

寄存器

Cache

内存(主存)

外存

存储器硬件结构分类

按照硬件结构分为:SRAM、DRAM、NVRAM、Flash、EPROM、Disk。

器件断电保存刷新需求擦写粒度读写速度典型场景
SRAM丢失不需要字节读写最快CPU Cache
DRAM丢失必须刷新字节读写快主机内存
EPROM保留无整片紫外擦除读快写极慢老式固件
E2PROM保留无电信号按字节擦除读快写慢适合保存小量配置
Flash(NAND/NOR)保留无按块擦除,页写入中等SSD/U 盘 / 固件
NVRAM保留电池 / 新材料字节随机读写很快关键配置数据
Disk(HDD)保留无扇区读写最慢大容量文件存储

Flash 是按块擦除;EEPROM 是字节擦写(这是 EEPROM 和 Flash 最大区别)

存储器分层分类

存储器按照与处理的物理距离可以分为4个层次:片上缓存、片外缓存、主存(内存)、外存

存储类型物理位置存储介质断电保存速度典型容量
片上缓存CPU 芯片内部、寄存器SRAM❌丢失最快KB~几十 MB
片外缓存CPU 外部、主板独立芯片、Cache(相联存储器)SRAM❌丢失很快MB 级
主存(内存)主板内存条、DRAMDRAM❌丢失中等GB 级
外存独立外设 / 板载 FlashFlash / 磁碟✅永久保存最慢TB 级
存储器访问机制分类
类型访问特点典型存储器件
按地址访问随机存取 RAM任意位置访问时间一致SRAM、DRAM(内存 / Cache)
按地址访问顺序存取 SAM从头到尾依次查找磁带
按地址访问直接存取 DAM先分区定位,区内顺序查找机械硬盘 HDD
按内容访问相联存取 CAM按内容检索,而非地址TLB、高速匹配缓存

Cache

  • 时间局部性:同一个指令短期再次执行

  • 空间局部性:相邻存储单元被同一时间访问

  • 工作集理论:进程运行时被频繁访问的页面集合

平均周期 = cache命中率 * cache周期时间 + (1-cache命中率) * 内存周期时间

cache对程序员时透明的,由硬件控制

内存

栈和堆
对比项栈 Stack堆 Heap
分配主体系统自动分配、自动回收(函数调用结束自动释放)程序员手动申请(new/malloc)、手动释放(delete/free);忘记释放会内存泄漏
管理方式后进先出 LIFO,连续一块内存区域不连续内存块,链表方式管理空闲块
大小容量很小,编译期 / 系统预设上限,容易栈溢出 (stack overflow)容量大,受限于进程可用虚拟内存
生长方向向下增长(从高地址往低地址)向上增长(从低地址往高地址)
存储内容函数局部变量、函数参数、返回地址、临时变量动态分配的对象、数组,大块数据
访问速度极快,在 CPU 缓存友好,预分配,无复杂管理相对慢,需要查找空闲内存块,有内存碎片
生命周期随函数调用创建,函数退出立刻销毁直到主动 free/delete,或进程结束才回收
内存碎片几乎无碎片容易产生内存碎片(外碎片)

DMA

DMA:不经过 CPU,直接在内存与外设之间搬运数据,CPU 只负责初始化,传输过程 CPU 可以并行做别的任务。

两种传输场景

  1. 外设 ↔ 内存(最常用,例如 ADC 采集数据进内存、串口接收数据存入内存)
  2. 内存 ↔ 内存(内存块之间拷贝,部分 DMA 支持)

DMA 优点

  1. 减轻 CPU 负担:数据搬运不用 CPU 逐字节读写,CPU 可并行执行其他程序
  2. 传输速度快:省去 CPU 取指、拷贝、保存现场开销
  3. 适合大批量连续数据传输

磁盘

磁盘的基本原理

  • 磁道 Track:一圈一圈同心圆
  • 扇区 Sector:磁道切分的圆弧段,硬件最小读写单元
  • 0 号磁道:最外圈
  • 所有磁头固定在同一组磁头臂,同步径向移动,只能同时定位到同一个半径,形成柱面。
  • 存取时间=寻道时间+等待时间+传输时间*
    • 寻道时间:磁头移动到磁道的时间,径向移动的时间
    • 等待时间:等待读写的扇区转到磁头下方的时间,圆弧移动的时间
磁盘存取时间与优化存储分布

单缓冲区时扇区数据被读入缓冲区后,缓冲区数据还没有完全处理结束,可能需要等待磁盘重新旋转一周才能读到下一个数据块

磁盘块偏移计算公式
  • 逻辑字节长度:S

  • 磁盘块大小:B

  • 每条逻辑记录长度:L

  • 每组记录数(一块能存几条记录):G
    (G=⌊BL⌋) (G = \lfloor \dfrac{B}{L} \rfloor)(G=⌊LB​⌋)

  • 逻辑记录所在磁盘块为:S / B

  • 逻辑记录所在磁盘块内偏移: (R mod G)

磁盘阵列RAID技术

RAID(独立磁盘冗余阵列,Redundant Array of Independent Disks)

软考常考:把多块物理磁盘组合成一个逻辑磁盘,目标:提升 IO 性能、提供磁盘故障冗余;RAID ≠ 备份!RAID 只能防单块硬盘损坏,不能防误删、病毒、火灾;重要数据仍然需要单独备份。

RAID 级别最小盘数核心原理容错能力可用容量优点缺点适用场景
RAID02条带化,无校验0 块(坏任意一块全盘失效)所有盘容量之和读写性能最高,容量利用率 100%无冗余,数据风险极高临时缓存、可重建数据
RAID12镜像,两份完全一样数据坏 1 块总容量 / 2读性能好、重建快、可靠性高容量利用率只有 50%,成本高系统盘、核心重要小数据
RAID53条带 + 分布式奇偶校验坏 1 块总容量−1 块盘读性能优秀,容量与可靠性均衡写性能差(每次写要算校验);大盘重建风险高文件服务器、NAS
RAID64条带 + 双分布式奇偶校验坏 2 块总容量−2 块盘容错更强,大容量阵列首选写性能比 RAID5 更差,计算开销大大容量归档存储
RAID10(1+0)4先做两组 RAID1 镜像,再做 RAID0 条带每组镜像最多坏 1 块总容量 / 2读写性能好、重建速度快、可靠性高容量利用率 50%,成本高数据库、高并发业务
RAID01(0+1)4先两组 RAID0 条带,再镜像只能坏一组里 1 块总容量 / 2性能好容错弱,一组 RAID0 坏两块直接崩,企业极少用软考区分 RAID10 和 RAID01

硬 RAID vs 软 RAID

  1. 硬 RAID:独立 RAID 卡(带处理器 + 缓存)完成计算;操作系统只看到 1 块逻辑盘;不占用主机 CPU;性能稳定,支持断电保护;成本高。
  2. 软 RAID:操作系统内核(Linux mdadm、Windows 存储池)实现;校验计算消耗主机 CPU;不需要阵列卡;迁移灵活;性能差,系统崩溃容易丢阵列。
  3. FakeRAID(主板 RAID):主板 BIOS 里的 RAID,本质还是靠 CPU 运算,属于伪硬 RAID。

软考必背要点

  1. RAID0:无冗余,速度最快;一块盘坏,数据全部丢失。
  2. RAID1:镜像,容量减半,允许坏一块。
  3. RAID5:分布式奇偶校验,至少 3 块盘;允许坏一块,校验分散在所有磁盘,不是单独校验盘(区别 RAID3)。
  4. RAID6:双校验,最多坏两块。
  5. RAID10:至少 4 块盘,兼顾性能与冗余,数据库优选。
磁盘移臂调度算法
FCFS 先来先服务
  • 规则:按 I/O 请求到达顺序依次访问,不考虑磁头当前位置
  • ✅优点:简单,无饥饿
  • ❌缺点:磁头来回大幅度跳动,平均寻道距离大,性能差
  • 软考关键词:公平、顺序执行、无优化
SSTF 最短寻道时间优先

Shortest Seek Time First

  • 规则:每次选离当前磁头最近的磁道请求
  • ✅优点:平均寻道距离短,性能好
  • ❌缺点:会饥饿(持续有近距离请求到来,远端请求永远得不到服务)
  • 类比:短作业优先 SJF;软考选择题最爱考饥饿问题
SCAN 扫描算法(电梯算法)
  • 规则:磁头沿一个方向移动,沿途处理所有请求;到达磁盘最顶端 / 底端边界,反向折返,继续处理沿途请求
  • ✅优点:无饥饿,比 SSTF 公平
  • ❌缺点:到达磁盘物理边界才掉头;两端磁道请求等待时间更长
  • 类比:电梯,一路向上到顶楼,再下来
LOOK 算法(SCAN 改进版)
  • 规则:不用走到磁盘物理边界,沿当前方向走到这条方向上最后一个请求,立刻掉头,不走到盘片尽头
  • ✅优点:相比 SCAN,减少无用移动,寻道距离更短

软考提示:题目没有特别说明边界,SCAN 和 LOOK 经常区分考核

C-SCAN 循环扫描

Circular SCAN

  • 规则:磁头只单向处理请求;走到磁盘边界,直接跳回磁盘起始端,返程途中不处理任何请求,再继续单向扫描
  • ✅优点:所有磁道请求等待时间更均匀,消除 SCAN 两端等待时间差异
  • ❌缺点:跳回起点有寻道开销
C-LOOK 循环 LOOK(C-SCAN 改进)
  • 规则:单向处理请求;走到当前方向最后一个请求,直接跳跃到另一端第一个待处理请求,不走到磁盘物理边界,返程不服务请求
  • ✅优点:C-SCAN 的优化,去掉走到磁盘边界的无效移动,性能最优
算法核心特点饥饿关键点
FCFS按请求顺序❌无最简单,性能差
SSTF每次选最近磁道✅会饥饿平均寻道短,远端请求饿死
SCAN 电梯到磁盘边界再折返,往返都服务❌无两端请求等待久
LOOK到最后请求就掉头,不碰边界❌无SCAN 优化,少走冤枉路
C-SCAN单向服务,到边界跳回起点,返程不服务❌无请求等待时间均匀
C-LOOK单向服务,到最后请求直接跳到另一端首个请求❌无C-SCAN 优化,工业常用

2.2.4 总线

串行总线与并行总线

  • 串行:USB、SATA、PCIe、RapidIO、SPI、I2C、CAN、UART、以太网
  • 并行:PCI、ISA、IDE(PATA、ATA)

内部总线与外部总线

项目内部总线(片内总线)外部总线(系统总线 / 通信总线)
位置芯片内部,同一芯片内各个部件之间例:CPU 内部,寄存器、ALU、控制器之间芯片外部,芯片与芯片、板卡与板卡、设备之间
传输对象CPU 内核内部组件CPU ↔ 内存、外设、其他板卡、外部设备
距离极短(芯片内部)较长(板上、机箱内、机箱之间)
典型例子CPU 内部总线、AHB、APB(片内总线)系统总线:PCI、ISA、PCIe****通信总线:USB、SATA、I2C、SPI、CAN、以太网、UART
特点高速、线多、时序严格,只在集成电路内部分并行 / 串行;用于设备互联,有的支持热插拔

流水线技术

  • 流水线周期:执行时间最长的一段

  • 流水线执行时间计算公式:

    • 理论公式:(t1+t2+…+tn) + (n-1)*t
    • 实际公式:k*t + (n - 1) * t,k为命令数,如取值、分析、执行三个命令则k=3
  • 流水线吞吐率:单位时间内完成的任务数
    TP=指令条数流水线执行时间 TP = \dfrac{指令条数}{流水线执行时间}TP=流水线执行时间指令条数​

  • 流水线最大吞吐率
    TPmax=lim⁡n→∞nkt+(n−1)t=1t TP_{max} = \lim_{n \to \infty}\frac{n}{kt + (n-1)t}=\frac{1}{t}TPmax​=n→∞lim​kt+(n−1)tn​=t1​

  • 流水线加速比
    S=不使用流水线执行时间使用流水线执行时间 S = \frac{不使用流水线执行时间}{使用流水线执行时间}S=使用流水线执行时间不使用流水线执行时间​

  • 流水线的制约关系以及信号量控制

    流水线分为直接制约与间接制约

    • 直接制约:一个操作中多个步骤之间的制约关系,如,取址、分析、执行三个之间是直接制约关系
    • 间接制约:指多个操作之间相同步骤的制约关系,如操作1的取址和操作2的取址存在间接制约关系

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询