跳到主要内容

计组知识要点

参考:飞书笔记

第一章 概论

组成

冯诺依曼计算机三个要点:(1)采用二进制代码表示信息,以便计算机识别;(2)采用存储程序工作方式,才能使计算机自动地对信息进行处理;(3)由存储器、运算器、控制器、输入/输出设备等功能部件组成计算机硬件系统 CPU由运算器、控制器、寄存器组构成。 计算机冯诺依曼结构示例图.webp 现代计算机的存储器基本都是多级存储器架构,在高速读取和大容量之间取得平衡。 而哈佛结构是一种将程序指令存储数据存储分开,一般用于51 单片机、FPGA 嵌入式设计等嵌入式硬件,因为其实时性强,可以同时读取指令和数据。

计算机系统的五层结构

计算机系统的五层结构.webp

现代个人电脑有什么硬件

硬件分类具体部件核心功能关键参数 / 常见类型
核心硬件中央处理器(CPU)电脑的运算和控制核心,执行指令、处理数据核心数 / 线程数、主频、制程工艺(如 Intel Core i5/i7/i9、AMD Ryzen 5/7/9)
主板(Motherboard)连接所有硬件的平台,提供数据传输通道芯片组(如 Intel B760/Z790、AMD B650/X670)、接口类型(PCIe 4.0/5.0、M.2)
显卡(GPU)处理图形图像数据,负责显示输出,支持游戏、渲染、AI 计算显存容量 / 位宽、CUDA 核心数(NVIDIA RTX 40 系列、AMD RX 7000 系列);核显(集成在 CPU 中)
内存(RAM)临时存储运行中的程序和数据,速度远快于硬盘容量(8GB/16GB/32GB)、频率(DDR4 3200MHz、DDR5 5600MHz)
存储硬件固态硬盘(SSD)高速存储设备,用于安装系统和软件,提升读写速度接口类型(SATA 3.0、M.2 NVMe)、容量(256GB/512GB/1TB)
机械硬盘(HDD)大容量存储设备,用于存放文件、视频等数据容量(1TB/2TB/4TB)、转速(7200rpm/5400rpm)
输入输出硬件显示器(Monitor)输出视觉信息的设备尺寸(23.8/27/32 英寸)、分辨率(1080P/2K/4K)、刷新率(60Hz/144Hz/240Hz)
键盘(Keyboard)文字和指令输入设备机械键盘 / 薄膜键盘、有线 / 无线
鼠标(Mouse)定位和控制输入设备光电鼠标 / 激光鼠标、有线 / 无线、DPI 参数
电源(Power Supply)为所有硬件提供稳定的直流电额定功率(300W/500W/750W)、认证等级(80Plus 白牌 / 铜牌 / 金牌)
辅助硬件散热器(Cooler)为 CPU/GPU 散热,防止过热降频或损坏风冷散热器(塔式 / 下压式)、水冷散热器(一体式 / 分体式)
机箱(Case)容纳和保护所有硬件,提供散热风道机箱类型(ATX/M-ATX/ITX)、材质(钢板 / 亚克力 / 玻璃)
声卡 / 网卡声卡:处理音频信号,输出声音;网卡:连接网络集成声卡 / 独立声卡;有线网卡(千兆 / 万兆)、无线网卡(WiFi 6/6E)
外设扩展音箱、打印机、U 盘、移动硬盘、摄像头等满足音频输出、文件打印、数据传输、视频通话等需求

现代服务器一般有什么硬件

硬件分类具体部件核心功能关键参数 / 选型要点
核心计算硬件中央处理器(CPU)服务器运算和控制核心,承担业务逻辑、数据计算等任务架构:x86(Intel Xeon/AMD EPYC,主流)、ARM(鲲鹏、AWS Graviton,低功耗场景)
特性:多核心 / 多线程、支持超线程 / 同步多线程(SMT)、大缓存、支持 ECC 校验
选型:根据并发量和计算负载选择,如 Web 服务器选中端 Xeon,数据库 / AI 计算选多核高频型号
内存(RAM)决定并发处理能力类型:ECC 内存(关键,纠错能力强,避免数据错误,保障稳定性),支持 RDIMM/LRDIMM(提升扩展性)
特性:支持内存热插拔
存储硬件固态硬盘(SSD)高速存储,用于安装系统、数据库、高频访问的应用和数据接口:SATA 3.0、SAS 3.0、NVMe PCIe 4.0(高性能场景首选)
类型:企业级 SSD,支持掉电保护
应用:系统盘、数据库日志盘、缓存盘
机械硬盘(HDD)大容量低成本存储,用于存放冷数据、备份文件类型:企业级 SAS/SATA 硬盘(7200rpm/10000rpm/15000rpm),MTBF(平均无故障时间)达百万小时以上
特性:支持 RAID 阵列(提升可靠性和读写速度)
应用:数据仓库、文件服务器存储
RAID 卡管理多块硬盘组成 RAID 阵列,提供数据冗余和读写加速类型:硬件 RAID(独立芯片,性能强,不占用 CPU 资源,主流)、软件 RAID(依赖系统,适合低负载场景)
支持级别:RAID 0/1/5/6/10,根据数据安全性需求选择
存储扩展设备(可选)提升存储容量和扩展性磁盘阵列柜(JBOD):扩展硬盘数量
SAN/NAS 存储:通过网络挂载,实现海量存储共享
基础承载硬件主板连接所有硬件的核心平台,决定服务器的扩展性和兼容性芯片组:对应 CPU 型号(如 Intel C621、AMD TRX50),支持多内存插槽、多 PCIe 通道
接口:多 PCIe 插槽(用于扩展网卡、RAID 卡)、多 SATA/SAS 接口(连接硬盘)、IPMI 管理接口(远程监控)
电源(PSU)为所有硬件提供稳定电力类型:冗余电源(N+1/N+N 配置,如 2 个电源,一个故障另一个无缝接管,避免宕机)
机箱容纳和保护硬件,提供散热风道类型:机架式(1U/2U/4U,主流,适合机房机柜部署)、塔式(类似 PC 机箱,适合小型机房 / 实验室)
特性:高密度设计、支持热插拔硬盘位
散热与稳定性硬件散热器为 CPU、机箱散热CPU 散热:塔式风冷(1U/2U 服务器用下压式 / 侧吹式)、液冷(高端服务器,散热效率高)
机箱散热:多风扇冗余设计,支持智能调速,根据温度自动调节转速
远程管理卡实现服务器的远程监控和管理功能:远程开机 / 关机 / 重启、BIOS 配置、硬件状态监控(温度、电压、硬盘健康)、系统重装
网络硬件网卡(NIC)实现服务器与网络的连接,承担数据收发任务类型:千兆网卡(入门)、万兆网卡(主流,如 10Gbps SFP+)、25G/40G/100G 网卡(高性能场景,如云计算、大数据)
特性:支持多网口绑定(链路聚合,提升带宽和冗余)、支持 PCIe 扩展
选型:根据业务带宽需求,如 Web 服务器选千兆 / 万兆,数据库集群选万兆以上
扩展硬件(可选)显卡(GPU)用于高性能计算场景,加速并行计算任务型号:NVIDIA Tesla/A100、AMD MI 系列,或消费级显卡(低负载场景)
应用:AI 训练 / 推理、大数据分析、图形渲染

常用名词

英文缩写英文全称中文名称核心功能与说明
IRInstruction Register指令寄存器存放当前正在执行的指令,其内容直接决定 CPU 当前要执行的操作类型与操作数来源
PCProgram Counter程序计数器存放下一条要执行的指令在存储器中的地址,CPU 取指后会自动递增(或跳转),以保证指令的顺序执行
MARMemory Address Register存储器地址寄存器存放欲访问的存储单元的地址,是 CPU 与主存之间的地址缓冲寄存器,其位数决定了 CPU 的寻址范围
MDRMemory Data Register存储器数据寄存器存放CPU 与主存之间正在传送的数据,是数据缓冲寄存器;其位数等于存储字长,且为字节的整数倍
SRSource Register源寄存器存放指令执行所需的源操作数,是运算的输入数据来源之一
DRDestination Register目的寄存器存放指令执行后的结果数据,是运算结果的存储目标
ALUArithmetic Logic Unit算术逻辑单元计算机的运算核心,负责执行算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或等)
CUControl Unit控制单元CPU 的指挥中心,根据 IR 中的指令内容,产生并发送控制信号,协调计算机各部件有序完成指令执行
CMControl Memory控制存储器属于微程序控制器的组成部分,存放微程序(由微指令构成),用于实现指令的控制流程
PSWProgram Status Word程序状态字存放反映程序运行状态的标志位,常见标志有:进位标志 CF、零标志 ZF、符号标志 SF、溢出标志 OF 等,是中断处理、程序分支的判断依据
A/B 选择器Input Selector A/B输入选择器 A/BCPU 内部的数据选择部件,用于从多个数据源(如通用寄存器、主存读出数据)中选择一路数据送入 ALU 或其他寄存器
ShifterShifter移位器执行数据的移位操作,包括算术移位、逻辑移位、循环移位,常用于乘法、除法运算及位运算处理
DBData Bus数据总线计算机各部件之间传输数据信息的公共通路,其位数等于数据字长,决定了一次能传送的数据位数
ABAddress Bus地址总线传输存储单元地址或 I/O 设备地址的公共通路,其位数决定了系统的最大寻址能力(如 32 位地址总线支持最大 4GB 寻址)
CBControl Bus控制总线传输控制信号和时序信号的公共通路,包括 CPU 发出的控制命令(如读 / 写命令)和外部设备的状态反馈信号(如中断请求)
FTFetch Cycle取指周期CPU 指令执行的第一个周期,核心操作是:根据 PC 中的地址从主存取出指令,送入 IR,并更新 PC 的值
STSource Cycle源周期(间址周期)用于获取有效地址的周期,若指令采用间接寻址方式,CPU 会在此周期根据指令中的形式地址,从主存取出操作数的有效地址
DTDestination Cycle目的周期(取操作数周期)用于获取操作数的周期,CPU 根据有效地址从主存或寄存器中取出操作数,送入源寄存器(SR)
ETExecute Cycle执行周期指令执行的核心周期,CU 发出控制信号,指挥 ALU 对操作数进行运算,或将数据写入目的寄存器(DR)
ITInterrupt Cycle中断周期处理中断请求的周期,核心操作是:保存当前程序的断点(PC 值)和 PSW,将 PC 指向中断服务程序的入口地址
DMATDMA CycleDMA 周期直接存储器访问周期,在 DMA 控制器控制下,主存与 I/O 设备直接传输数据,无需 CPU 干预,用于高速数据传输(如磁盘读写)

数据传输率

CPU 主频(f)=外频 × 倍频系数; CPU 的时钟周期是(T=1/f); CPU 执行某种程序的时间 t=时钟周期数 m*时钟周期宽度 T

数据通路宽度:数据总线一次能并行传送的数据位数(bit)。 数据传输率(比特率)(带宽):指单位时间内信道的数据传输量。 数据总线每秒传送的数据量,也称为数据总线的带宽。 DTR(数据传输率)=D(数据传输量)/T(对应传输时间)=W(数据通路宽度)f(工作频率)(bps)

CPI(平均每条指令的时钟周期数),I/O 带宽指的是单位时间内传播的总数据量。

第二章 信息表示、运算

定点数

原码:原码就是符号位加上真值的绝对值,即用第一位表示符号 其余位表示值。 反码:正数的反码是其本身,负数的反码是在其原码的基础上符号位不变,其余各个位取反。 补码:正数的补码就是其本身,负数的补码是在其反码的基础上+1 移码:不管正负数,只要将其补码的符号位取反即可

  • 正数补码移位规则:数符不变,空位补 0
  • 负数补码移位规则:数符不变,左移空位补 0,右移空位补 1

为什么需要补码

计算机的算术逻辑单元(ALU)本质上只能直接执行加法运算,无法原生支持减法。 补码的设计基于模运算的数学思想,核心逻辑是: ab=a+(b)=a+(b)a - b = a + (-b) = a + (模 - b) 在计算机中,的大小由机器字长决定:对于 nn 位二进制数,模为 2n2^n;例如 8 位二进制的模是 28=2562^8=256。 此时,负数的补码 = 模 - 该负数的绝对值,这样一来,a - b 就可以转化为 a + [补码(-b)],减法彻底变成加法。

原码一位乘法

原码一位乘法示例

进制转换

将 n 进制转换为十进制:由权展开,即将n进制数的每一位数字,乘以该位的权值n位数下标n^{\text{位数下标}},下标从右往左、从0开始),最后累加所有结果。 二进制数:10112\boldsymbol{1011}_2 按权展开计算: \begin{align*} 1011_2 &= 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 \\ &= 8 + 0 + 2 + 1 \\ &= \boldsymbol{11}_{10} \end{align*}将十进制转换为 n 进制:整数除基取余,小数乘基取整 1、整数部分:基数连除法(除n取余,逆序排列)

示例1:十进制 2510\boldsymbol{25}_{10} 转二进制(n=2n=2

25 ÷ 2 = 12  余 1  (最低位)
12 ÷ 2 = 6 余 0
6 ÷ 2 = 3 余 0
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1 (最高位)

逆序排列余数 → 110012\boldsymbol{11001}_2 示例2:十进制 10010\boldsymbol{100}_{10} 转八进制(n=8n=8

100 ÷ 8 = 12  余 4  (最低位)
12 ÷ 8 = 1 余 4
1 ÷ 8 = 0 余 1 (最高位)

逆序排列余数 → 1448\boldsymbol{144}_8 2、小数部分:基数连乘法(乘n取整,顺序排列,通常取有限位) 示例:十进制 0.62510\boldsymbol{0.625}_{10} 转二进制(n=2n=2

0.625 × 2 = 1.25   取整数1  (最高位)
0.25 × 2 = 0.5 取整数0
0.5 × 2 = 1.0 取整数1 (最低位,小数部分为0,停止计算)

顺序排列整数 → 0.1012\boldsymbol{0.101}_2

⭐浮点数表示

IEEE 754 浮点数转换 - 锤子在线工具 (toolhelper.cn)

IEEE 754浮点数格式 浮点数表示示例

第三章 指令系统

指令格式—地址码

指令格式:OP(操作码) + [A1(第一操作数地址)] + [A2(第二操作数地址)] + [A3(结果地址)] 减少指令中地址数目的办法是采用隐地址

指令类型统一格式的实际表现(可选字段取舍)核心适配逻辑
三地址指令OP + A1 + A2 + A3(保留全部 3 个地址码字段)显式指定两个操作数地址和结果地址,无需隐含资源,适配复杂双操作数运算
二地址指令OP + A1 + A2(保留 A1、A2,省略 A3)隐含 “结果存入 A1”,A1 为目的操作数地址,A2 为源操作数地址,适配通用双操作数运算
单地址指令OP + A1(仅保留 A1,省略 A2、A3)若为单操作数指令:隐含 “结果存入 A1”;若为双操作数指令:隐含 “另一个操作数在 ACC”,适配单操作数运算或依赖累加器的双操作数运算
零地址指令OP(省略全部地址码字段)隐含操作数来源(ACC 或堆栈),或无需操作数,适配停机、空操作、堆栈运算等场景

⭐各常见指令寻址方式的特点和适用情况

寻址方式核心特点适用情况访存次数
立即寻址操作数直接在指令中,无需访存 / 访寄存器;操作数大小受指令长度限制给寄存器 / 存储单元赋固定小数值(如初始化、设置常数),例:MOV R1, #50 次
主存直接寻址指令给出主存有效地址,仅 1 次访存;寻址空间受限,地址不可变访问主存固定地址的单个数据(如全局变量、硬件寄存器映射地址),例:ADD R1, [0x1000]1 次
寄存器直接寻址操作数存于指定寄存器,无需访存;寄存器数量有限频繁访问的中间数据(如循环变量、临时计算结果),例:ADD R1, R20 次
寄存器间接寻址寄存器存主存有效地址,需 1 次访存;修改寄存器值可灵活访问不同主存地址指针访问、动态地址数据的读取 / 写入,例:MOV R1, [R2]1 次
自减型寄存器间址寄存器值先减 1,再作为有效地址访存;天然适配反向连续访问堆栈出栈操作、反向遍历数组 / 缓冲区1 次
自增型寄存器间址先访存,再将寄存器值加 1;天然适配正向连续访问堆栈压栈操作、正向遍历数组 / 字符串、数据块拷贝1 次
堆栈寻址(SP)以 SP 为核心,遵循 LIFO 规则,栈顶自动浮动;无需手动计算地址函数调用(保存返回地址 / 寄存器上下文)、临时数据压栈出栈、中断现场保护1 次
变址寻址(X (R))有效地址 = 形式地址(基准,固定) + 寄存器值(位移,可变)数组 / 结构体访问(如A[i])、表格 / 查找表索引访问1 次
基址寻址有效地址 = 寄存器值(基准,可变) + 形式地址(位移,固定)内存分段管理、多任务系统进程地址空间映射(不同进程基址不同)1 次

操作码

JMP
JMP R0;
FT0:M —→ IR,PC+1 —→ PC
ET0:R0 —→ PC 、MAR —— 转移地址
RST
RST(SP)+;
FT0:M —→ IR,PC+1 —→ PC
ET0:SP —→ MAR —— 栈顶地址
ET1:M —→ MDR —→ PC 、MAR —— 返回地址送PC,MAR
ET2:SP+1 —→ SP —— 修改栈顶
JSR 转子程序
//微指令序列
JSR(R2);
FT0:M —→ IR,PC+1 —→ PC
ST0:R2 —→ MAR
ST1:M —→ MDR —→ C (子程序入口地址)
ET0:SP-1 —→ SP 、MAR
ET1:PC —→ MDR
ET2:MDR —→ M (ET0-ET2:返回地址压栈)
ET3:C —→ PC 、MAR(子程序入口地址送PC、MAR)

第四章 CPU中央处理器

模型机数据通路结构

必须背下来的图! CPU的工作过程就是从主存(或缓存)中读取指令,将指令放入指令寄存器(IR)。然后对指令译码。把指令分解成一系列的微操作,再发出各种相应的控制命令,控制各功能部件执行相关的操作,从而完成一条指令的执行,实现对应的功能。 模型机CPU数据通路结构.webp

CPU组成部分

  • 运算器:三级,输入选择器 / 锁存器 —>ALU—> 移位器
  • 寄存器组:三组,用于处理、控制、作用于主存接口的寄存器
  • 总线:四组,CPU 内总线、系统总线、部件间总线,外总线
  • 控制器:组合逻辑控制器 / 微程序控制器
  • 时序系统:一个脉冲源、一组计数分频逻辑

⭐一条指令在 CPU 的执行过程

指令:即机器指令,机器指令是CPU能直接执行的最基本的操作命令。是计算机运行的“原子操作” 微操作:一条机器指令可以分解为多个微操作,每个微操作对应于对 CPU 中某个部件的具体控制行为(如寄存器传送、加法器运算、存储器访问等),这些控制行为本质上就是对电路中控制信号的“开”与“关”的操作。 微命令:微命令就是控制单元发出的控制信号。为了微操作在硬件中发生,需要通过控制信号(也就是微命令)来控制硬件组件的行为。 微指令:是控制单元CU发出的一组微命令的组合 微指令微操作微程序层级.webp

流程:取指周期FT=>源周期ST=>目的周期DT=>执行周期ET fetch取指,source源,destination目的,exe执行

周期核心任务关键输入关键输出是否必需
FT取指令PC(当前指令地址)IR(指令代码), PC+1
ST取源操作数IR(源寻址字段)SRC(源操作数值)否(依赖指令)
DT确定目的位置IR(目的寻址字段)目的地址/寄存器标识否(依赖指令)
ET执行核心操作SRC, 寄存器等结果,新PC,状态标志

相关微操作与微指令

周期微操作微指令(并行微命令合并,通路无冲突)寻址方式
FTM->IRM->DB->IR隐含程序计数器寻址
(PC)+1 ->PCPC->A->ALU (+1)-> 移位器 ->CPU 内总线 ->PC隐含程序计数器寻址
ST 与 DTRi->MARRi->A/B->ALU-> 移位器 ->CPU 内总线 ->MAR寄存器间接寻址
Ri-1 ->MARRi->A->ALU (-1)-> 移位器 ->CPU 内总线 ->MAR自减型寄存器间址寻址
Ri -> MAR,Ri+1->MARRi->A->ALU-> 移位器 ->CPU 内总线 ->MAR;Ri->B->ALU (+1)-> 移位器 ->CPU 内总线 ->MAR(双端口并行)自增型寄存器间址寻址
Ri->MAR,Ri+1->Ri,M->MDR->C,C->MARRi->A->ALU-> 移位器 ->CPU 内总线 ->MAR;Ri->B->ALU (+1)-> 移位器 ->CPU 内总线 ->Ri;M->DB->MDR->C-> 移位器 ->CPU 内总线 ->MAR自增型双间址
PC->MAR,M->MDR->C,PC+1->PC,C+R->MARPC->A->ALU-> 移位器 ->CPU 内总线 ->MAR;M->DB->MDR->C;PC->B->ALU (+1)-> 移位器 ->CPU 内总线 ->PC;C->A,B->R->ALU (+)-> 移位器 ->CPU 内总线 ->MAR变址寻址
ETRi->RjRi->A/B->ALU-> 移位器 ->CPU 内总线 ->Rj
Ri->MDR,MDR->MRi->A/B->ALU-> 移位器 ->CPU 内总线 ->MDR;MDR->DB->M(读 / 写控制信号同步)
M1->MDR->C,C->MDR,MDR->M2M1->DB->MDR->C;C->MDR;MDR->DB->M2(分 2 拍:先读 M1 存 C,再写 M2,避免 MDR 冲突)

指令流程

三级时序体系,基础时序单位是:工作周期、脉冲、节拍

三大类型微命令

微命令按功能分为三类,分别对应 CPU 内部操作、主存访问、时序切换。

微命令类别具体微命令功能描述
CPU 内部数据通路操作选择寄存器(AI)Ri→A:从寄存器 Ri 选择数据送入 A 端(Ri 可选:R0~R3、C、D、PC、SP)
选择寄存器(BI)Rj→B:从寄存器 Rj 选择数据送入 B 端(Rj 可选:R0~R3、C、D、MDR、PSW)
ALU 功能选择S0~S3(运算功能控制)、C0(初始进位)、M(算术 / 逻辑运算切换)
移位器功能选择DM(直传)、SL(左移)、SR(右移)
结果分配(脉冲型)CPR0~CPR3、CPC、CPD、CPMAR、CPPC、CPSP、CPMDR、CPPSW:脉冲上升沿将内总线数据打入对应寄存器
访问主存读主存相关EMAR:地址使能(MAR 到数据总线的三态门打开)
R:读存储器控制信号
SMDR:MDR 置入(数据经数据总线存入 MDR)
SIR:IR 置入(取指令时,指令经数据总线存入 IR)
写主存相关EMAR:地址使能
W:写存储器控制信号
EMDR:与 W 配合,控制 MDR 数据写入主存
时序切换ST、DT、ET控制指令流程在取指、取数、执行周期间切换,依赖寻址方式

指令流程中的操作类型归纳

(一)CPU 内数据通路操作 1、Ri OP Rj → Rk(寄存器间运算,结果存入目标寄存器):Ri→A(AI 选择 Ri 送 A 端)→ Rj→B(BI 选择 Rj 送 B 端)→ A OP B(ALU 按 S0~S3、M 控制执行运算)→ DM(移位器直传,无移位需求)→ CPRk(脉冲打入 Rk) 2、Ri→Rj(寄存器间数据传送):Ri→A(AI 选择 Ri 送 A 端)→ 传 A(数据经内总线传递)→ DM(移位器直传)→ CPRj(脉冲打入 Rj) (二)读存储器操作 1、M→MDR→C(主存数据读入 MDR,再传入寄存器 C):EMAR(地址使能,MAR 送地址到总线)→ R(读主存)→ SMDR(数据存入 MDR)→ MDR→B(BI 选择 MDR 送 B 端)→ 传 B(数据经内总线传递)→ DM(移位器直传)→ CPC(脉冲打入 C) 2、M→IR(主存取指令,存入指令寄存器 IR):EMAR(地址使能,MAR 送指令地址到总线)→ R(读主存)→ SIR(指令经数据总线存入 IR) (三)写存储器操作 MDR→M(MDR 中数据写入主存):EMAR(地址使能,MAR 送目标地址到总线)→ W(写主存控制)→ EMDR(配合 W,MDR 数据经总线写入主存)

计算机自动存取指令的两种方式

(1)指令和数据分开存放(哈佛结构) (2)程序计数器 PC ,PU 取完当前指令后,PC 会自动递增(或根据跳转指令修改),指引下一条指令的存取。

微程序

微周期:读取一条微指令并执行相应的一步操作所需的时间,称为一个微指令周期(简称微周期,µI),通常是一个时钟周期; 工作脉冲用于同步定时

逻辑组成

微程序逻辑组成
1->FT,CPFT:进入取指周期
1->ST,CPST:进入源周期
1->DT,CPDT:进入目的周期
1->ET,CPET:进入执行周期

工作过程

微程序工作过程图.webp

第五章 存储系统

三种存储介质

存储介质类型核心应用场景主要特性典型实例
半导体主存(RAM)、高速缓存(Cache)读写速度快;断电数据丢失(易失性)DDR4/DDR5 内存、L1/L2/L3 缓存
磁表面大容量外存容量大、速度慢;非破坏性读出;断电数据可长期保存(非易失性)磁带、磁卡、软盘、机械硬盘(HDD)
光盘大容量外存容量大、速度慢;非破坏性读出;断电数据可长期保存(非易失性)

三种访问方式:随机和顺序、直接

访问方式英文名称核心访问逻辑访问时间特点典型实例
随机访问Random Access Memory(RAM)/ Read-Only Memory(ROM)直接通过地址访问任意存储单元,无需按顺序查找与数据位置无关,访问速度快主存(DDR4/DDR5)、Cache、ROM
顺序访问Sequential Access Memory需从存储介质起始位置开始,按顺序查找目标数据与数据位置高度相关,位置越靠后访问时间越长磁带
直接访问(DAMDirect Access Memory先直接指向目标数据所在的小区域,再在该区域内顺序查找与数据位置相关(介于随机和顺序之间)硬盘(HDD)、光盘

访存的三个速度指标

1、存取时间(访问时间,TA):启动读/写操作到完成该操作所需时间; 2、存取周期(TM):连续两次独立访存所需的最小时间间隔;通常 TM >TA 3、数据传输率(DTR,带宽):单位时间内对存储器读\写的数据量(KB/s 或 MB/s)

顺序访问:平均等待时间(ms) 数据传输率(MB/s) 直接访问: 平均定位(平均寻道)时间(ms) 平均等待(平均旋转)时间(ms) 数据传输率(MB/s)

直接访存过程

主要是机械硬盘。

  1. 定位(寻道)
    • 操作:磁头臂径向移动,将读写头定位到目标数据所在的磁道
    • 关键指标平均寻道时间(几ms)。
  2. 等待(旋转)
    • 操作:盘片旋转,将目标扇区转到磁头正下方。
    • 关键指标平均旋转延迟(转速决定,如7200RPM约4.17ms)。
  3. 读/写(传输)
    • 操作:进行电磁感应(读)或磁化(写),数据在盘面与缓存间传输。
    • 关键指标传输时间(数据量/内部传输率)。

存储原理

静态 MOS 存储元与芯片SRAM

核心:由MOS管构成的触发器(如六管触发器)存储信息,依靠触发器稳态保持0/1,无需刷新。 特点:读写速度快、功耗较高、集成度较低;适用于高速缓存(Cache)等场景

动态 MOS 存储元与存储芯片DRAM

核心:利用MOS管栅极电容的电荷存储信息(电容充放电表示0/1)。 特点:集成度高、功耗低、成本低;但电容会漏电,需定期刷新维持信息,读写速度慢于SRAM;适用于主存(内存)等大容量存储场景。

动态刷新

①集中刷新:集中一段时间暂停读写,逐行刷新(优点:控制简单;缺点:存在死时间); ②分散刷新:读写周期中穿插一行刷新(优点:无死时间;缺点:读写速度下降); ③异步刷新:结合前两者,按刷新周期定时刷新,不占用整块读写时间;

⭐刷新和重写的区别

刷新:动态存储器, 需定期补充电荷以保持原来信息,由硬件自动完成 重写:破坏性读出后重写, 以恢复原来的信息

半导体存储器逻辑设计

  1. 芯片选择:多芯片组构大容量存储器时,通过片选信号筛选当前工作芯片;
  2. 地址分配:将CPU地址线按“片内地址+片选地址”拆分,片内地址定位芯片内存储单元,片选地址定位目标芯片;
  3. 片选逻辑:生成片选信号的电路,核心是地址译码+控制信号(如读写信号、访存控制);
  4. 片选译码方式:①门电路译码:适用于少量芯片,通过与非门等组合逻辑生成片选;②译码器译码:适用于多芯片,用3-8译码器等芯片,输入片选地址,输出唯一有效片选信号;
  5. 连接框图:CPU地址线→地址译码器(分片内/片选)→存储器芯片;CPU数据线→芯片I/O口;控制信号(RD/WR、MREQ)→芯片控制端。

第六章 I/O 系统

总线

总线是计算机系统中各部件之间传输信息的公共通信干线,是连接多个功能部件的共享传输介质。 作用:简化系统结构,减少部件间连接线路,降低成本;提高系统扩展性,便于新增或替换部件;实现各部件间的协调通信,保障数据、控制信号等有序传输。

分类

1、按功能层次划分 片内总线:集成在芯片内部,连接芯片内各功能单元(如CPU内的ALU、寄存器、控制器),传输距离最短,速度最快。 片级总线:连接同一芯片载体上的不同芯片(如CPU与芯片组、I/O接口芯片),如PCIe通道、ISA总线的片间连接部分。 板级总线:连接同一电路板上的不同模块或部件(如主板上的CPU插槽、内存插槽、扩展槽之间的传输线路),是板卡内部的核心传输链路。 通信总线:连接计算机与外部设备(如打印机、U盘)或不同计算机之间的总线,遵循通用通信协议(如USB、HDMI、以太网)。

2、按时序控制方式划分 同步总线:时钟信号统一同步,传输时序固定,控制简单。 异步总线:无统一时钟,依赖握手信号协调,含全握手(双向应答,可靠性高)、半握手(单向应答,效率较高)两种方式。 扩展同步总线:基础时序同步,支持时序扩展适配不同速度部件。 注意:时钟周期是时钟信号的最小时间单位,是同步总线的时序基准;总线周期是完成一次总线传输(如地址传输、数据读写)所需的时钟周期数;工作周期是设备完成一次完整操作(如CPU读写内存)包含的总线周期总和。

3、按数据传送格式划分 并行总线:多线路并行传输多位数据,速度快、成本高、抗干扰弱,适短距离。 串行总线:单/少数线路逐位传输,线路简、成本低、抗干扰强,适长距离。 按功能层次划分 片内、片级、板级、通信

总线仲裁

当多个主设备同时请求使用总线时,需要特定机制分配总线使用权,避免冲突。 集中式仲裁 链式查询:通过优先级链分配总线,离仲裁器最近的设备优先级最高。优点是逻辑简单、成本低;缺点是优先级固定,某设备故障可能阻塞后续设备。 计数器定时查询:仲裁器通过计数器生成查询信号,依次询问各设备是否需要总线。优点是优先级可灵活调整;缺点是计数器位数决定设备数量,控制逻辑较链式复杂。 独立请求:每个主设备都有独立的总线请求和应答线路。优点是响应速度快优先级调整灵活;缺点是线路数量多,成本高。 分布式仲裁 无集中仲裁器,各主设备通过自身的仲裁逻辑和共享线路协商总线使用权(如通过优先级编码竞争)。优点是可靠性高(无单点故障),扩展性好;缺点是仲裁逻辑复杂,协商延迟可能较大。

接口

接口的主要功能 1. 寻址:接收CPU送来的地址码/选择接口中的寄存器供CPU访问 2. 数据缓冲:实现主机与外设的速度匹配/缓冲深度与传送的数据量有关 3. 预处理:串-并格式转换(串口)/ 数据通路宽度转换(并口) 4. 控制功能:传送控制命令与状态信息,实现I/O传送控制。 接口分类

分类依据接口类型数据传送 / 控制特点
按数据传送格式并行接口接口与系统总线、接口与外设均为并行传送,数据各位同时传输,适合设备本身并行工作、距主机较近的场合
串行接口接口与系统总线并行传送,接口与外设串行传送,数据逐位分时传输,适合设备本身串行工作、距主机较远、需减少传送线的情况
按时序控制方式同步接口接口与系统总线的信息传送由统一时序信号控制
异步接口接口与系统总线的信息传送采用异步应答方式
按 I/O 传送控制方式直接程序传送接口由 CPU 通过程序直接控制数据的输入输出
中断接口采用中断机制,外设就绪时向 CPU 发中断请求,CPU 响应后处理数据传输
DMA 接口直接存储器访问,不经过 CPU,外设与内存直接进行数据传输

IO 端口编址方式

统一编址

外设结构中的I/O寄存器(即I/O端口)与主存单元一样看待,每个端口占用一个存储单元的地址,将主存的一部分划出来用作I/O地址空间。 优点:可以利用存储器的寻址方式来寻址I/O端口。 缺点:I/O端口占用了存储空间,而且进行I/O操作时,因地址编码较长,将导致速度较慢

独立编址/IO端口

独立编址又称为单独编址或IO端口,I/O地址与存储地址分开独立编址,I/O端口地址不占用存储空间的地址范文,这样,在系统中就存在了另一种与存储地址无关的I/O地址,CPU也必须具有专用于输入输出操作的指令(IN、OUT等)和控制逻辑。 优点:不占用内存空间;使用I/O指令,程序清晰,很容易看出是I/O操作还是存储器操作;译码电路比较简单(因为I/O端口的地址空间一般比较小,所用地址线也比较少)。 缺点:只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多。 不过Intel x86平台普通使用了名为内存映射(MMIO)的技术,该技术是PCI规范的一部分,IO设备端口被映射到内存空间,映射后,CPU访问I/O端口就如同访问内存一样。

CPU与外设的三种数据传输方式

传送方式CPU利用率传送速度硬件复杂度适用场景
程序查询极低简单低速、少量数据,外设种类少
中断方式中等(需中断控制器)中低速外设,需并行执行其他程序
DMA方式极高极快复杂(需DMA控制器)高速批量数据传送(如磁盘、通信)

直接程序传送方式及接口

无条件直接程序传送方式

原理:假设外设始终处于就绪状态,CPU无需查询外设状态,直接执行I/O指令完成数据传送(仅适用于简单、状态固定的外设,如LED显示)。 优点:控制简单、程序编写容易,无需额外状态检测电路。 缺点:适应性差,仅适用于外设就绪状态已知的场景;若外设未就绪,会导致数据传送错误。

程序查询传送方式(条件传送)

原理:CPU先查询外设状态,仅当外设就绪(输入设备数据准备好/输出设备空闲)时,才执行I/O指令传送数据;未就绪则循环查询,直至外设就绪。 核心流程:查询状态 → 就绪则传送数据 → 未就绪则继续查询。 优点:控制逻辑简单,无需复杂硬件支持,适用于外设种类少、传送速率低的场景。 缺点:CPU利用率极低,大量时间用于循环查询,无法并行执行其他程序;不适用于高速外设。

中断方式及接口

中断概念:外设(或内部事件)主动向CPU发出请求,使CPU暂停当前执行的程序,转去执行对应服务程序,完成后再返回原程序继续执行的过程。 随机性特点:中断请求的产生时间不确定,取决于外设工作状态或内部事件触发时机。 中断实质:CPU执行程序的切换(从用户程序切换到中断服务程序,再切换回用户程序)。

中断分类

  • 硬件中断(硬件请求信号)与软中断(软中断指令):硬件中断由外设通过硬件线路发请求;软中断由CPU执行特定指令(如INT指令)主动触发,用于系统调用等。
  • 内中断(主机内部)与外中断(主机外部):内中断源于CPU内部(如除法溢出、断点陷阱);外中断源于CPU外部外设(如键盘、磁盘)。
  • 可屏蔽中断(可通过屏蔽字屏蔽该类请求)与非屏蔽中断:可屏蔽中断受IMR控制,屏蔽后不响应;非屏蔽中断(如电源故障)不可屏蔽,优先级最高,CPU必须响应。
  • 向量中断(由硬件提供服务程序入口地址)与非向量中断(由软件提供服务程序入口地址):核心差异在于入口地址获取方式的硬件/软件依赖。

优先权与屏蔽

IRR(Interrupt Request Register):中断请求寄存器,用于记录当前系统中的中断请求。它是一个位向量,每个位对应一个中断源,当某个中断源产生中断请求时,对应的位会被置位。 IMR(Interrupt Mask Register):中断屏蔽寄存器,用于屏蔽或允许特定中断源的中断请求。它是一个位向量,每个位对应一个中断源,当某个位被置位时,表示对应的中断源被屏蔽,即不会引发中断。 ISR(Interrupt Service Register):中断服务寄存器,用于记录当前正在被处理的中断。它指示当前正在执行的中断处理程序或服务例程。 优先级管理:多个中断同时请求时,按预设优先级排序,优先响应高优先级中断。 屏蔽同级及低优先级中断的方式(屏蔽字):通过设置IMR屏蔽字,使当前执行的高优先级中断服务程序期间,不响应同级和低优先级中断,避免程序混乱

中断接口组成

  • 中断请求触发器:存储外设的中断请求信号,保持请求有效直至CPU响应。
  • 中断屏蔽触发器:与IMR配合,控制是否允许该中断源发请求。
  • 中断优先级排队电路:对多个同时到来的中断请求排序,选出最高优先级请求。
  • 数据缓冲器:暂存CPU与外设之间传送的数据(解决CPU与外设速度差异)。
  • 状态寄存器:存储外设状态(如就绪/忙),供CPU查询或中断服务程序读取。

服务程序入口地址获取方式

向量中断

将各个中断服务程序的入口地址(或包括状态字)组织成中断向量表(通常存于内存低地址区);响应中断时,由硬件直接产生对应于中断源的向量地址;据此访问中断向量表,从中读取服务程序入口地址,由此转向服务程序的执行。这些工作在中断周期IT中由硬件直接实现(不需编写程序实现)。 优点:入口地址获取速度快,效率高。

非向量中断

CPU响应中断时只产生一个固定的地址,由此读取中断查询程序的入口地址,从而转向查询程序,通过软件查询(依次检测各中断源状态),确定被优先批准的中断源,然后分支进入相应的中断服务程序。

⭐外中断的全流程

  1. 外设准备就绪后,通过接口发出中断请求,置位IRR对应位;
  2. 中断控制器汇集中断请求,通过优先级排队电路判优,选出最高优先级请求;
  3. 若该请求未被屏蔽(IMR对应位清0),中断控制器向CPU发INT(中断请求)信号;
  4. CPU完成当前指令后,检测到INT信号,若允许中断(开中断状态),则进入中断周期(IT);
  5. 中断周期内,CPU完成:关中断(避免再次被打断)、保存断点(当前程序计数器PC值入栈)、获取中断服务程序入口地址;
  6. 转至中断服务程序执行,完成数据输入/输出(或事件处理);
  7. 服务程序末尾执行开中断、返回指令(恢复断点PC值),返回原程序继续执行。

DMA 方式及接口

DMA(Direct Memory Access,直接存储器访问)核心补充:依靠硬件(DMA控制器)直接在主存与外围设备之间进行简单、批量、快速的数据传送,传送过程中不需要CPU的干预。 实质:程序暂停(CPU暂停执行用户程序,总线控制权交给DMA控制器,传送完成后归还)。 特点:随机性(请求产生时间不确定)、高速批量传送、CPU干预少。

DMA传输的三个阶段

  1. 初始化阶段由CPU主导,负责设置DMA控制器参数并启动DMA控制器与外设,让外设准备数据;
  2. 数据传送阶段由DMA控制器主导,接收外设请求后向CPU申请总线,获权后控制总线完成主存与外设的数据传送,直至任务结束;
  3. 结束阶段由CPU主导,响应DMA中断后执行服务程序完成后续处理,并收回总线控制权恢复正常执行。
加载评论中...