高级架构师-计算机硬件基础知识


高级架构师-计算机硬件基础知识

中央处理器· 存储系统 · 输入输出系统

一、中央处理器(CPU)

CPU是计算机系统的运算与控制核心,其根本任务是解释指令和处理数据。它是整个计算机系统的“大脑”,负责协调和控制所有其他硬件部件的工作。

1. 核心功能

CPU的核心功能可以概括为以下四个方面:

程序控制:按照程序规定的顺序控制指令的执行,确保每条指令得到正确解释和执行。

操作控制:产生各种控制信号,指挥各部件协同工作,如读写控制、运算控制等。

时间控制:为各项操作提供精确的时序节拍,确保每个操作都在规定的时间内完成。

数据处理:对数据进行算术运算(加减乘除)和逻辑运算(与、或、非等)。

2. 内部构成

CPU的内部结构主要由控制器、运算器、寄存器组和总线四大部分组成。下图展示了CPU的内部架构及各部件之间的连接关系:

                                      图 1:CPU 内部架构示意图

控制器

控制器是指令执行的指挥中枢,它负责从内存中取出指令、分析指令并产生相应的控制信号。其核心组件包括:

指令寄存器 (IR)

存放当前正在执行的指令

供译码器解析使用

程序计数器 (PC)

存放下一条待执行指令的地址

具备自动加 1 功能,支持跳转操作

地址寄存器 (AR)

保存 CPU 当前要访问的内存地址

与地址总线直接相连

指令译码器 (ID)

对指令进行解析,转换为控制信号

是控制器的核心解析部件

运算器

运算器是数据加工的执行单元,负责完成各种算术和逻辑运算:

算术逻辑单元(ALU):执行算术运算与逻辑运算的核心部件。

累加器(ACC):暂存运算的中间结果及操作数。

状态条件寄存器(PSW):记录运算结果的状态标志,如进位、溢出、零标志等。

缓冲寄存器:暂存来自内存或 I/O 的数据。

3. 指令系统

指令系统是 CPU 能够识别和执行的全部指令的集合。根据设计理念的不同,主要分为两大类:

复杂指令集 (CISC)

指令丰富强大,硬件实现复杂

单条指令可完成复杂操作

代表:Intel x86、AMD 架构

精简指令集 (RISC)

指令精简高效,注重流水线性能

功耗低,适合移动设备

代表:ARM、Power 架构

4. 指令流水线

指令流水线是一种指令级并行技术,将每条指令的执行分解为多个阶段(如取指、译码、执行、写回),使不同指令的不同阶段在时间上重叠处理,从而显著提高指令的吐吰率。

                                    图 2:指令流水线工作原理示意图

流水线执行时间计算公式

总时间 = (各流水线段耗时之和) + (指令条数 − 1) × 最长流水线段耗时

例如:4段流水线(各段耗时 2ns/3ns/3ns/2ns)执行 100 条指令:

总时间 = (2+3+3+2) + (100−1) × 3 = 10 + 297 = 307 ns

5. 专用处理器

除了通用 CPU 外,还有多种专用处理器在特定领域发挥重要作用:

图形处理器(GPU):擅长大规模并行计算,用于图形渲染与通用计算(GPGPU)。

数字信号处理器(DSP):专门进行高速数字信号处理,广泛应用于通信和多媒体领域。

现场可编程逻辑门阵列(FPGA):硬件可编程的集成电路,可灵活定制逻辑功能。

6. 体系结构分类(Flynn 分类法)

依据指令流和数据流数量的不同,Flynn 分类法将计算机体系结构划分为四类:

类型

说明

典型应用

SISD

单指令单数据:传统单核顺序处理

早期单片机、嵌入式微控制器

SIMD

单指令多数据:同时对多个数据执行相同操作

向量处理器、GPU

MISD

多指令单数据:理论模型,无成熟应用

学术研究模型

MIMD

多指令多数据:目前最主流的并行架构

多核 CPU、分布式系统

二、存储系统

存储系统采用层次化结构,自上而下速度递减、容量递增、单位成本递减。这种设计在性能与成本之间取得了良好的平衡。

1. 存储器层次结构

计算机存储系统采用金字塔式的层次化结构,从最快的寄存器到最大的外存,形成了一个完整的存储体系:

                                      图 3:存储器层次结构示意图

寄存器(片内):速度最快、容量最小,直接集成在 CPU 内部。

Cache(片外高速缓存):由硬件自动管理,对程序员透明。

主存(内存):由硬件和软件协同管理,存储当前运行的程序和数据。

外存(辅存):用于长期数据存储,如硬盘、SSD 等。

2. 高速缓存(Cache)

高速缓存位于 CPU 与主存之间,容量小但速度快。其设计依据是程序的局部性原理:时间局部性(被访问的地址在短时间内可能再次被访问)和空间局部性(被访问地址的附近地址也可能被访问)。

地址映像方式

Cache 的地址映像方式决定了主存块如何放置到 Cache 中,是 Cache 设计的核心问题:

映像方式

原理

特点

直接相联

主存块只能映射到一个固定位置

实现简单,冲突率高

全相联

主存块可映射到任意位置

灵活但查找电路复杂

组相联

组间直接映像,组内全相联

折衷方案,应用最广泛

替换算法

 Cache 已满且需要载入新块时,需要通过替换算法决定淘汰哪个块:

随机替换:随机选择一个块替换,实现简单但效果一般。

先进先出(FIFO):淘汰最早进入的块,未考虑访问频率。

近期最少使用(LRU):淘汰最长时间未被访问的块,效果较好。

最不频繁使用(LFU):淘汰访问次数最少的块。

写策略

Cache 与主存之间的一致性维护是关键问题,主要有三种写策略:

写直达:数据同时写入 Cache 和主存,实现简单但速度较慢。

写回:数据仅写入 Cache,被替换出时才写入主存,速度快但控制复杂。

标记法:修改主存数据并标记 Cache 中对应块失效,再次访问时重新载入。

3. 磁盘(外存)

磁盘是计算机中最常见的外存设备。其存取时间由两部分构成:

磁盘存取时间 = 寻道时间 + 旋转等待时间

寻道时间:磁头定位到目标磁道的时间(主要耗时部分)

旋转等待时间:目标扇区旋转到磁头下的时间(与转速相关)

三、输入/输出(I/O)系统

I/O 系统负责 CPU、主存与外部设备之间的数据交换,是计算机与外界交互的桥梁。

1. 输入/输出处理机(IOP)

IOP 是专门负责 I/O 控制的协处理器,可以减轻 CPU 的 I/O 负担,让 CPU 专注于主要的计算任务。它能够独立地管理外设的数据传输和控制操作。

2. 数据交互方式

根据数据传输的控制方式和效率,I/O 数据交互主要有三种方式,下图对这三种方式进行了直观比较:

                                    图 4:三种 I/O 数据交互方式对比

程序直接控制方式

CPU 通过循环检查外设状态来确定是否可以进行数据传输。这种方式效率低,CPU 在等待期间被大量占用,无法执行其他任务。它是最简单但也是效率最低的 I/O 方式。

程序中断方式

外设准备就绪后主动向 CPU 发送中断请求,CPU 响应并处理数据交换。这种方式可实现 CPU 与外设的部分并行工作,显著提高了系统效率。但每次数据传输仍需要 CPU 参与。

直接存储器存取(DMA)

DMA 由专用的 DMA 控制器掌握总线控制权,在主存与外设之间建立直接数据通路,数据块传输不经过 CPU。CPU 仅在传输开始和结束时进行干预,是效率最高的 I/O 方式。

对比维度

程序直接控制

程序中断

DMA

CPU 参与度

极高(忙等)

中等(中断响应)

极低(仅始末)

数据传输路径

外设→CPU→内存

外设→CPU→内存

外设→内存(直接)

并行能力

部分并行

高度并行

适用场景

简单低速设备

中低速设备

高速大批量传输

效率

最低

中等

最高

                                  视频教程提取提取