计算机系统概论
冯·诺依曼结构、层次结构与性能指标是全局地图。
冯·诺依曼结构
- 存储程序 + 程序控制
- 五大部件:运算器、控制器、存储器、输入、输出
- 指令和数据以二进制同等存储
- 指令由操作码 + 地址码组成
计算机层次结构
- 硬件层:微程序/硬布线、机器语言
- 软件层:汇编 → 高级语言 → 应用
- 翻译方式:编译(整体翻译)、解释(逐句)
- 系统软件 vs 应用软件
性能指标
- CPI:执行一条指令平均时钟周期数
- CPU 执行时间 = 指令数 × CPI × 时钟周期
- MIPS = 主频/(CPI×10⁶);MFLOPS 衡量浮点
- 主频、IPS、吞吐率的关系与换算
【选择题】冯·诺依曼计算机的核心思想是?
答案:存储程序与程序控制。指令和数据以二进制形式存储于存储器中,机器自动逐条执行。
【计算题】主频 2GHz,CPI=2,执行 10⁸ 条指令需要多少时间?
答案:0.1s。T = IC×CPI/主频 = 10⁸×2/(2×10⁹) = 0.1s。
【概念题】CPI 的含义是什么?
答案:每条指令平均执行的时钟周期数(Cycles Per Instruction)。CPI 越小性能越高,CPU 时间 = 指令数 × CPI × 时钟周期。
数据的表示与运算
原反补移码、IEEE754、ALU——计算题重灾区。
数制与编码
- 进制转换:二、八、十、十六进制互转
- BCD 码:8421 码等十进制编码
- 定点数:无符号、带符号(原码/反码/补码)
- 补码特性:0 唯一表示、减法变加法
- 移码:补码符号位取反,用于阶码
浮点数 IEEE754
- 格式:符号位 S + 阶码 E(移码)+ 尾数 M(原码)
- 单精度 32 位:1+8+23;双精度 64 位:1+11+52
- 规格化:尾数最高位为 1(隐含位)
- 浮点运算:对阶(小阶向大阶看齐)→ 尾数运算 → 规格化 → 舍入 → 判溢出
运算器
- ALU:算术逻辑单元,核心组合逻辑电路
- 加法器:串行进位、并行进位(先行进位 CLA)
- 溢出判断:双符号位法、单符号位进位法
- 乘法:原码一位乘、补码 Booth 算法
- 除法:恢复余数法、不恢复余数法
【计算题】8 位补码表示 -13,其补码为?
答案:11110011。13=00001101,取反 11110010 加 1 得 11110011。
【选择题】IEEE754 单精度浮点数的阶码采用什么编码?
答案:移码(偏置 127)。单精度阶码 8 位用移码表示,偏置值 127,便于比较大小。
【概念题】浮点数加减运算的第一步是什么?
答案:对阶。小阶向大阶看齐,阶码小的尾数右移相应位数,使两数阶码一致后再进行尾数运算。
存储系统
Cache、主存、虚存三级结构;命中率计算与地址映射。
存储器层次
- 寄存器 → Cache → 主存 → 磁盘/辅存
- 速度递增:寄存器最快;容量递增:辅存最大
- SRAM(Cache):速度快、集成度低、贵
- DRAM(主存):需刷新、集成度高、便宜
- ROM:只读,PROM/EPROM/EEPROM/Flash
主存与芯片扩展
- 地址线、数据线、片选信号与芯片连接
- 位扩展、字扩展、字位同时扩展
- 存储器带宽 = 频率 × 位宽 / 8
- 多模块交叉编址:高位交叉、低位交叉
Cache
- 地址映射:直接映射、全相联、组相联
- 替换算法:LRU、FIFO、随机
- 写策略:写直达、写回法
- 命中率与平均访问时间计算:T = h×Tc + (1−h)×Tm
- Cache 行数、标记位位数计算
虚拟存储器
- 页式虚存:页表、快表 TLB
- 页式/段式/段页式管理
- 缺页处理与页面置换(与 OS 章节呼应)
【计算题】Cache 命中率 0.95,Cache 访问 2ns,主存 10ns,平均访问时间为?
答案:2.4ns。T = 0.95×2 + 0.05×10 = 1.9 + 0.5 = 2.4ns。
【选择题】Cache 与主存之间采用什么映射方式时,主存地址中的标记字段最短?
答案:全相联映射。全相联任一块可装入任意 Cache 行,无需行号字段,标记字段最长而非最短;直接映射标记字段最短(本题问法注意辨析:直接映射标记位数最少)。
【概念题】为什么 Cache 采用 SRAM 而主存采用 DRAM?
答案:Cache 需极快访问速度故用 SRAM(无需刷新、速度快但贵);主存容量大需成本低,用 DRAM(需定期刷新、集成度高)。
指令系统
指令格式、寻址方式与 CISC/RISC 对比。
指令格式
- 组成:操作码 OP + 地址码 A
- 零/一/二/三地址指令:地址码数量影响指令长度
- 定长指令 vs 变长指令
- 扩展操作码:操作码长度可变,扩大指令数
寻址方式
- 立即寻址:操作数在指令中,快但范围小
- 直接寻址:地址码即操作数地址
- 间接寻址:地址码指向存放地址的单元
- 寄存器寻址:操作数在寄存器中
- 寄存器间接、基址/变址寻址、相对寻址
CISC vs RISC
- CISC:指令复杂多、寻址多、微程序控制、兼容强
- RISC:指令精简定长、寄存器多、Load/Store、流水线友好
- 对比表是高频选择题
【选择题】操作数直接包含在指令中的寻址方式是?
答案:立即寻址。立即数随指令取出即得操作数,无需访存,但数值范围受指令字段宽度限制。
【概念题】相对寻址的有效地址如何计算?
答案:EA = (PC) + 位移量。以程序计数器 PC 当前值为基准加偏移量,便于程序浮动。
【选择题】RISC 机器的主要特点不包括?
答案:指令长度不固定(错误选项)。RISC 指令定长、格式规整、寄存器丰富、采用 Load/Store 结构,便于流水线。
中央处理器
数据通路、控制器、指令流水线——CPU 的核心运作。
CPU 结构与数据通路
- 组成:运算器(ALU+寄存器)+ 控制器(PC、IR、时序)
- 寄存器:PC(程序计数器)、IR(指令寄存器)、ACC、MAR、MDR
- 数据通路:专用通路 vs CPU 内部总线
- 指令周期:取指→间址→执行→中断
控制器
- 硬布线控制:组合逻辑,快但难改,RISC 常用
- 微程序控制:微指令序列,灵活,CISC 常用
- 微指令格式:操作控制字段 + 下地址字段
- 微命令、微操作、微程序的关系
指令流水线
- 五段流水:IF→ID→EX→MEM→WB
- 理想加速比 = 段数 k;实际受冒险限制
- 三类冒险:结构冒险、数据冒险、控制冒险
- 解决:转发(旁路)、暂停(气泡)、分支预测
- 流水线吞吐率 = n/(k+n−1) 个周期
【计算题】五段流水线,每段 100ns,执行 100 条指令的理想时间为?
答案:10400ns。T = (k+n−1)×Δt = (5+100−1)×100 = 10400ns。
【选择题】「后一条指令需要使用前一条指令的运算结果」属于哪种冒险?
答案:数据冒险。数据相关导致的冲突,可用转发技术消除大部分。
【概念题】微程序控制与硬布线控制的区别?
答案:微程序控制用微指令序列(存储逻辑)实现,灵活易修改、速度较慢;硬布线用组合逻辑电路实现,速度快但修改困难。
总线与 I/O
总线仲裁、I/O 控制方式与常用接口标准。
总线基础
- 总线分类:数据总线、地址总线、控制总线
- 片内总线、系统总线、通信总线(层次)
- 总线特性:物理、功能、电气、时间
- 总线带宽 = 总线宽度 × 工作频率 / 8
总线仲裁与定时
- 集中仲裁:链式查询、计数器定时查询、独立请求
- 分布仲裁:各设备自判优先级
- 同步定时(固定时钟)vs 异步定时(应答握手)
- 总线周期:申请→仲裁→传输→结束
I/O 方式与接口
- 程序查询、中断方式、DMA、通道(与 OS 呼应)
- DMA 周期挪用、块传输
- 常用接口:USB、PCIe、SATA、HDMI
- I/O 端口编址:统一编址(内存映射)、独立编址
【计算题】32 位数据总线、频率 100MHz,总线带宽为?
答案:400MB/s。带宽 = 32/8 × 100MHz = 4B × 100M = 400MB/s。
【选择题】下列 I/O 控制方式中,CPU 干预最少的是?
答案:DMA(通道)方式。DMA 控制器直接与主存交换数据块,仅在传输开始和结束时中断 CPU。
【概念题】链式查询仲裁的特点?
答案:所有设备共享一根总线请求线,优先级由物理位置决定,靠近仲裁器的设备优先级高,结构简单但扩展受限。