计算机组成原理--寒假学习
# 目录
笔记
基础硬件知识
3D动画展示电脑硬件是如何工作的,详细拆解分析每一个配件,电脑迷千万不要错过_哔哩哔哩_bilibili
60分钟为你讲解电脑所有硬件的工作原理_哔哩哔哩_bilibili
PCB电路板是如何工作的?它的原理是什么?_哔哩哔哩_bilibili
涉及到集成电路,画pcb板子,单片机、嵌入式,不要妄图窥探天机

看完这张图有没有恍然大悟
集成电路
集成电路 (integrated circuit) 是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,全部集成在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构。它在电路中用字母“IC"表示
================================================
集成电路(IC / 芯片)= 单晶硅片基底 + 片内集成元件 + 片内金属布线
电路板(PCB)= 绝缘基板 + 铜箔布线 + 焊盘 / 过孔 / 元件接口
PCB 电路板(Printed Circuit Board,印刷电路板)是电子设备的“骨架”,它的主要作用是连接和支撑电子元件,使得电路能够稳定、高效地工作。
====================================================
啥都可以是电路板
================================================

pcb
pcb板(Printed Circuit Board),印制电路板
通过板上蚀刻的铜箔线路,替代杂乱的电线,让电阻、电容、芯片、插槽等元器件实现电气连接,同时为这些元器件提供物理固定的载体。--豆包
常见应用:电脑的主板、内存条的 PCB 板、显卡的 PCB 板,手机的主板、耳机、路由器、充电宝,甚至家电的控制板,本质都是不同规格的 PCB 板。
主板
台式电脑主板图解,带你学习电脑各个组件功能,自己判断故障,成为电脑高手!
图中标注 “南桥” 的位置,正是主板上负责 USB、SATA、音频、网卡等低速外设的控制芯片,这和传统南桥(现在 PCH/FCH)的核心功能完全一致。它本质就是现代的 PCH/FCH 芯片,只是用了老名字来标注。
各部件搜索技巧
部件名+pcb原理图/电路板 大致和集成电路有关


第一章
计算机的性能指标
$$
主频=\frac{1}{时钟周期}
$$
CPI(Cycle Per Instruction):执行一条指令所需要的时钟周期数
$$
总时钟周期数=cpi*指令条数
$$
$$
平均CPI=\frac{\sum{每条指令所需cpi*相应指令条数}}{总的指令条数}
$$
IPS(Instructions Per Second):每秒执行的指令条数
$$
IPS=\frac{主频}{平均CPI}
$$
MIPS(Million Instructions Per Second):每秒执行的指令条数(百万)
$$
MIPS=\frac{指令条数}{执行时间*106}=\frac{主频}{CPI*106}
$$
$$
cpu执行时间=指令条数总时钟周期数=指令条数CPI*时钟周期
$$
cpi:cycles per instruction
每条指令执行所需要的时钟周期数
cycle时钟周期,循环、周期
IPS instructions per second 每秒执行的指令条数
机器字长:简称,字长,计算机进行一次整数运算所能处理的二进制数据的位数
如:32位机器,可以推出机器字长为32,ACC、MQ、X的位数也是32位
第二章 数据的表示和运算
2.1 数制与编码
进位计数值及其相互转换
定点数的编码表示
整数的表示
C语言中的整数类型及类型转换
先简单复习一下c语言
自动转换
零基础C语言学习,第14课:自动类型转换_哔哩哔哩_bilibili
零基础C语言学习,第15课:自动类型转换题目练习_哔哩哔哩_bilibili
强制转换
零基础C语言学习,第16课:强制类型转换_哔哩哔哩_bilibili
隐式类型转换
显式类型转换
32位系统中
long long int 占字节
然后是计组中的考察
有符号转化成无符号,无符号转化为有符号的
c语言中,当有符号数和无符号数比较大小时,有符号数会被隐式的强制的类型转化为无符号数进行大小比较
计算机考研每日一题——第2题(类型转换)_哔哩哔哩_bilibili
-1的8位补码
1000 0001
1111 1110
1111 1111
有符号隐式转换无符号时,把符号位当作数值算,
拓展到-1的32位补码,111.......111
32个1,最好记住。
2³² - 1 = 4294967295

char的本质时“8位整数类型”
char 分为signed char(有符号)和unsigned char无符号
-128~127 0-255
#include <stdio.h>
int main(){
char a=-1; //-1的8位补码,1111 1111
unsigned char b=(unsigned char)a; //1111 1111 显示的转换
unsigned char c=a; //隐式转换
printf("b=%d\n",b);
printf("c=%d\n",c);
return 0;
}
b=255
c=255
这个图很重要(看他是怎么计算的)

2.2 运算方法和运算电路
基本运算方法部件
定点数的移位运算
定点数的加减运算
定点数的乘除运算
2.3 浮点数的表示与运算
浮点数的表示
浮点数的加减运算
浮点数加法(正数情况)
c语言中的浮点数类型
数据的大小端和对齐存储
第三章 存储系统
先来看看内存条

十分钟手工制作DDR4内存条--真不如买一条便宜_哔哩哔哩_bilibili
内存条核心功能部件
- 内存颗粒(内存芯片)
DRAM 内存颗粒(芯片):内存条唯一负责实际存储 0/1 二进制数据的部件,是内存的存储核心;
-
核心功能内存条的容量、位宽、频率均由颗粒决定(如 8G DDR4 条多由 8 颗 1Gb x8 颗粒组成),计组中研究的DRAM 内部结构、读写 / 刷新原理,均对应此部件的底层逻辑;
-
形态:贴装在 PCB 板正反面的黑色方形芯片,是内存条最显眼的部件。
- SPD 芯片
- 核心功能:内存条的 “身份信息卡”,存储内存条的所有核心参数,供主板开机时自动读取适配;
- 存储参数:容量、频率、时序(CL 值)、工作电压、位宽、厂商信息、支持的技术(如 XMP 超频);
- 关键细节:主板通过 I2C 总线读取 SPD 数据,实现内存参数的自动匹配,避免手动调试的兼容性问题,计组中需了解其 “参数存储与主板适配” 的核心作用。
物理连接 / 适配部件
这类部件负责内存条与主板内存插槽的物理固定、电气连接,保证信号和供电的稳定传输,无计组考点,仅需了解基础功能:
-
金手指
-
核心功能:内存条与主板内存插槽的唯一电气接口,传输所有数据信号、地址信号、控制信号和供电;
-
关键细节:表面镀金(抗氧化、降低接触电阻),触点数量随 DDR 代际升级增加(DDR5 金手指触点更多),缺口位置为防呆设计,区分 DDR3/DDR4/DDR5,防止插错。
-
-
定位缺口
- 核心功能:防呆 + 规格区分;
- 关键细节:不同代际 DDR 内存条的缺口位置不同(如 DDR4 在金手指中间偏左,DDR5 在中间偏右),同时可区分颗粒位宽(x8/x16),避免错插导致的硬件烧毁。
供电 / 驱动保障部件(DDR4/DDR5 差异核心,计组仅了解功能)
这类部件负责为内存条提供稳定、精准的供电,驱动各部件正常工作,DDR5 与 DDR4 的核心差异之一体现在此部分,计组中无需深究电路原理,仅了解供电逻辑即可:
-
贴片电容 / 贴片电阻
- 核心功能:电源滤波、信号匹配、稳压限流;
- 关键细节:分散贴装在 PCB 板各处,电容滤除供电中的杂波、稳定电压,电阻做信号阻抗匹配,防止高频信号反射、串扰,保证 DDR 高频下的信号稳定性。

-
PMIC 电源管理芯片(DDR5 专属,DDR4 无)
- 核心功能:DDR5 内存条的独立供电控制器,为 DRAM 颗粒、SPD 芯片等提供多档位精准供电;
- 关键细节:DDR4 由主板为内存条统一供电,DDR5 取消主板直供,由内存条自带 PMIC 芯片独立供电,能更精准匹配颗粒的供电需求,提升高频稳定性和超频潜力,是 DDR5 的核心升级点。
辅助稳定 / 散热部件(非必需,依内存条规格而定)
这类部件为可选配置,仅出现在中高频内存条中,核心作用是提升稳定性、辅助散热,无计组考点:
- 散热片(马甲)
- 核心功能:为 DRAM 颗粒辅助散热,降低高频工作时的温度,提升内存条的稳定性和超频能力;
- 关键细节:普通入门级内存条无散热片,中高频 “马甲条” 配备铝合金散热片,高端灯条还会在散热片上增加 RGB 灯效(无实际功能,仅装饰)。
- 定位卡扣 / 固定孔
- 核心功能:配合主板内存插槽的卡扣,物理固定内存条,防止内存条松动导致的接触不良;
- 关键细节:内存条两端的小缺口,与主板插槽卡扣卡合,插拔时按下卡扣即可取出。
第一节存储器概述
存储器的分类
存储器的性能指标
存储器的层次结构
三级层次结构
多级层次结构金字塔
辅存中的数据要调入主存之后才能被cpu访问
有的教材把安装在电脑内部的磁盘称为“辅存”,把U盘、光盘、磁带等称为外存
有的则把这些统称为“辅存”或者“外存”
关于王道书上,数据线位数通常等于存储字长的讨论
我感觉这句话是错的

第一章给的定义,存储字长是存储单元的位数,根据按字节编址推出存储字长为8位
按照数据线位数等于存储字长推出存储字长64位。
按照实际理解,我觉的后者是错的
按字节编址的意思是每个存储单元一个字节,而不是一个地址8位,王道书上应该是错的

关于第二个我说是错的因为他下面给的图地址都不是8位,气死个人,浪费我这么久时间,必须判错,至于现代计算机地址位数通常是不是8位已经不重要了

CACHE
cache的映射问题
一张图解决主存和cache的映射问题_哔哩哔哩_bilibili
第四章
4.1 指令集体系结构/指令集架构
指令系统vs指令集vs指令集体系结构vs指令集架构vsx86架构、ARM架构
指令系统(instruction set 也叫指令集)不是ISA(instruction set architecture 指令集体系结构/指令集架构)吧,他是ISA最核心的部分,ISA包含指令系统和其他东西
我们所说的x86架构、ARM架构是ISA
一个机器的所有指令就构成了这台机器的指令集(指令系统),通常某类机器采取固定的架构
------参考arm架构指南,有一章节是instructino set
实现bx=bx+ax
x86指令集是机器码 0x01 0xC3
x86汇编语言 add bx, ax
机器码的本质是二进制数,但十六进制是机器码的 “简写 / 缩写形式”,二者完全等价,只是书写形式不同—— 行业里提到 “机器码” 时,几乎不会直接写冗长的二进制,而是用十六进制来简化表达。
指令格式
指令的分类
单字长指令:一条指令的长度等于机器字长
典型的ISA(instruction set architecture)指令集体系结构/指令框架
CISC阵营:x86、z/Architecture
RISC阵营:ARM、RISC-V、Power ISA、MIPS、SPARC
ISA不规定计算机底层硬件的设计
如:cpu时钟周期、加法器的进位方式不属于ISA
指令格式和指令类型、通用寄存器个数和位数属于IS
拓展操作码
数据对齐
计算机考研每日一题——第1题(数据对齐)_哔哩哔哩_bilibili
#include <stdio.h>
struct p1{
int a;
char b;
int c;
char d;
};
struct p2{
int a;
char b;
char d;
int c;
};
struct p3{
int a;
char b;
char c;
long long d;//32位计算机long long int 占8个字节
};
int main(){
struct p1 a;//16Byte
struct p2 b; //12Byte
struct p3 c; //16Byte
printf("%d\n",sizeof(struct p1));
printf("%d\n",sizeof(struct p2));
printf("%d\n",sizeof(struct p3));
return 0;
}
struct p2{
int i;
char c;
char d;
int j;
};

struct p1{
int i;
char c;
int j;
char d;
};

源操作数(source operand)指令执行时,提供原始数据的操作数
目的操作数(destination operand)指令执行后,用来存放结果的操作数
指令周期
取指、译码、执行、中断
任何指令在取值周期都会改变pc的值(跳跃指令也是)
一个周期,跳跃寻址,取值和执行阶段(可能),PC的值均会修改
先执行pc中的指令(跳跃寻址),然后pc+1,执行阶段把新地址放到pc+1中
4.2 指令和数据的寻址方式
指令寻址
顺序寻址、跳跃寻址
顺序寻址
PC=PC+1
1指的是一条指令的长度
跳跃寻址:绝对地址、相对地址
绝对地址A->PC,这里的A是无符号数,
相对地址(PC)+A->Pc,这里的A是有符号数,以补码形式存储在计算机中
A是偏移量
知识回顾与补充:三个字长
机器字长
存储字长
指令字长
4.3 程序的机器级代码表示
大小端存储
x86
无条件转移指令


条件转移指令

4.4 CISC和RISC的基本概念
第五章
5.1 中央处理器的功能和基本结构
5.1.1处理器的功能
5.1.2处理器的基本结构
5.1.3处理器中的寄存器

透明=不可见

I/O端口:I/O接口中的寄存器
取指令的过程

cu传的是控制信号,指出读还是写
cpu center process unit 中央处理器(中央处理单元)
control unit 控制单元
pc program counter 程序计数器
ir instruction register 指令寄存器
mar memory address register(存储器)地址寄存器
mdr memory data regisrer (存储器)数据寄存器

5.2 指令执行的过程
5.3 数据通路的功能和基本结构
控制信号用虚线表示
实线表示数据通路
操作元件:不保存数据,只对传来的数据进行操作如:ALU
三态门:控制跟总线的连接和断开

单总线容易产生数据冲突

FR标志寄存器
flag register
5.4 控制器的功能和工作原理
硬布线控制器
微程序控制器
微指令的格式
水平型微指令
直接编码方式
字段直接编码方式
字段间接编码方式
垂直型微指令
混合型微指令
5.5 异常和中断机制

5.6指令流水线
指令流水线的性能指标:k段流水线完成n条指令所需时间、吞吐率、加速比

流水线的三种冒险:数据冒险、控制冒险、结构冒险
高级流水线技术
超标量流水线
超流水线

CPI完成一条指令所需要的时钟周期数
超长指令字技术
在一条指令内可以执行很多不同的操作
5.7 多处理器
计算机体系结构的分类
SISD单指令流单数据流
single instruction single data
各个指令只能并发、不能并行、每条指令只能处理一两个数据
由一个处理器一个主存储器组成

SIMD单指令流多数据流



MISD不存在(为什么不存在)

硬件多线程
第六章 总线
第七章 I/O
显示适配器(显卡)
分辨率:总像素数
颜色深度:每个像素的存储容量
单帧数据量
$$
单帧数据量=分辨率*像素深度
$$
刷新带宽
刷新频率
$$
刷新带宽=刷新频率*单帧数据数据量
$$
深入理解计算机系统
【CSAPP-深入理解计算机系统】4-5. 流水线的通用原理_哔哩哔哩_bilibili
[原创] 深入理解计算机系统 - CSAPP重点导读(更新完毕)_哔哩哔哩_bilibili
其他学校试卷
计算机组成原理与现代主板:学了什么 vs 没学什么
一、课程中涉及的主板核心内容
计算机组成原理课程主要从系统结构与工作机制角度讲解主板相关知识,而非具体硬件设计细节:
| 内容模块 | 核心知识点 | 与主板的关联 |
|---|---|---|
| 系统总线 | 总线结构、总线控制、数据 / 地址 / 控制总线划分 | 主板作为总线载体,连接 CPU、内存、I/O 设备 |
| 芯片组基础 | 南北桥功能划分(高速 / 低速设备管理) | 北桥负责 CPU - 内存 - 显卡通信,南桥负责 I/O 控制 |
| CPU 接口 | 处理器与主板的连接方式、地址 / 数据通路 | CPU 插槽设计与数据传输机制 |
| 内存系统 | 内存控制器、主存接口、存储层次结构 | 内存插槽与主板的连接及数据交换原理 |
| I/O 系统 | 接口标准、中断机制、DMA 控制 | 主板 I/O 接口的基本工作原理 |
| BIOS / 固件 | 基本输入输出系统、启动流程 | BIOS 芯片的作用与计算机启动过程 |
课程重点关注冯・诺依曼体系结构下的抽象模型,强调部件间的逻辑关系与数据流向,而非具体型号的主板设计。
二、现代主板中课程未涉及的内容
随着计算机技术发展,现代主板引入了大量课程未深入讲解的复杂技术与组件:
1. 芯片组演进与现代架构
- PCH (平台控制中心) 取代传统南桥:Intel/AMD 最新架构中,北桥功能整合进 CPU,仅保留 PCH 负责 I/O 控制
- 高速互联技术:PCIe 4.0/5.0、NVLink、USB4 等新一代总线协议的物理实现与性能优化
- 集成控制器:SATA/NVMe 存储控制器、USB 集线器、网络控制器等高度集成化设计
2. 电源与供电系统细节
- 复杂供电模块:多相供电设计、VRM (电压调节模块)、CPU 8pin/12pin 专用供电接口
- 电源管理芯片:动态电压调节、节能模式控制、过流 / 过压保护机制
- 待机电源系统:CMOS 电池与实时时钟电路的详细工作原理
3. 高级 I/O 接口与扩展
- 高速存储接口:M.2 NVMe 接口(PCIe 通道直连 CPU)、U.2 接口的物理实现与协议细节
- 视频输出标准:HDMI 2.1、DisplayPort 2.0 的信号处理与主板集成显卡输出机制
- 无线通信模块:Wi-Fi 6/6E、蓝牙 5.0 的板载芯片与天线设计
4. 主板管理与安全特性
- UEFI 固件:图形化界面、安全启动、固件更新机制(课程多停留在传统 BIOS 层面)
- 硬件监控系统:温度 / 电压 / 风扇转速传感器、故障诊断 LED 指示灯
- 安全芯片:TPM 2.0、安全加密引擎、防篡改机制
- 超频技术:倍频调节、内存 XMP/EXPO、电压微调等主板特有功能
5. 物理设计与工程实现
- PCB 多层板设计:4-12 层板的信号完整性、电磁兼容性 (EMC) 优化
- 散热解决方案:VRM 散热片、M.2 散热模块、主板布局热设计
- 接口物理规范:USB Type-C 正反插、雷电接口的物理层实现
三、核心差异总结
| 差异维度 | 计算机组成原理课程 | 现代主板实际设计 |
|---|---|---|
| 抽象层次 | 系统级抽象,关注逻辑关系 | 物理级实现,关注具体电路与组件 |
| 技术范围 | 经典架构与基础原理 | 最新协议、集成技术与工程优化 |
| 关注点 | 功能正确性与性能分析 | 稳定性、兼容性、功耗与散热平衡 |
| 更新速度 | 相对稳定(经典理论) | 快速迭代(每年更新接口标准) |
四、补充学习方向
若想全面掌握现代主板技术,建议补充以下内容:
- 微机原理与接口技术:深入讲解具体 I/O 接口与硬件控制
- 计算机系统结构:现代处理器架构与主板协同设计
- 硬件工程实践:PCB 设计、电源管理、信号完整性分析
- 厂商技术文档:Intel/AMD 芯片组手册、主板厂商设计指南
课程提供的是理解现代主板的基础框架,而实际应用中还需结合最新技术标准与工程实现细节。
王道强化直播
第一次2026-1-24


2022年改大纲

唐朔飞偏硬件
袁春风更偏向大纲
I/O控制方式:程序查询、中断控制、DMA、通道(大型机特定场合、现在几乎用不到,传输效率最高)
浙公网安备 33010602011771号