计算机基础知识-计算机组成原理
第 1 章 计算机系统概述
Q1. 冯・诺依曼计算机的核心思想是什么?
参考答案:
- 采用二进制表示数据和指令;
- 采用存储程序思想:指令和数据以同等地位存于存储器,可按地址寻访;
- 计算机由运算器、存储器、控制器、输入设备、输出设备五大部件组成;
- 指令由操作码和地址码组成,指令在存储器中按顺序存放。
Q2. 计算机系统的层次结构(从高到低)?
参考答案:高级语言层 → 汇编语言层 → 操作系统层 → 机器语言层 → 微程序层 → 硬件逻辑层。
Q3. 什么是 CPI、MIPS、FLOPS?
参考答案:
- CPI:Clock cycles Per Instruction,执行一条指令所需的平均时钟周期数。
- MIPS:百万条指令每秒,衡量指令执行速度。
- FLOPS:浮点运算次数每秒,衡量浮点运算性能。
Q4. 计算机性能指标:主频、CPI、执行时间的关系?
参考答案:
CPU执行时间=指令数×CPI÷主频CPU执行时间=指令数×CPI÷主频CPU执行时间=指令数×CPI÷主频
第 2 章 数据的表示与运算
Q1. 原码、反码、补码的特点?
参考答案:
- 原码:最高位为符号位,0 正 1 负;表示简单,但 0 有两种表示,加减复杂。
- 反码:正数同原码,负数符号位不变、数值位取反;过渡编码。
- 补码 :正数同原码,负数符号位不变、数值位取反加 1;0 唯一,可将减法转为加法,现代计算机通用。
Q2. 为什么计算机用补码?
参考答案:
- 统一 0 的表示,只有一个 0;
- 减法可转化为加法运算,简化硬件电路;
- 符号位可与数值位一同参与运算,无需单独处理。
Q3. 什么是溢出?如何判断溢出?
参考答案:
- 溢出:有符号数运算结果超出表示范围,导致结果错误。
- 判断方法:
- 双符号位法(变形补码):结果符号位为 01(正溢)或 10(负溢)则溢出;
- 进位判断法:最高位进位与次高位进位不同则溢出。
Q4. 浮点数表示格式及规格化目的?
参考答案:
- 格式:阶码 + 尾数(阶码决定范围,尾数决定精度)。
- 规格化:使尾数最高位为有效数字(原码 1,补码 01/10),目的是唯一表示、提高精度、便于比较。
第 3 章 存储器层次结构
Q1. 存储器层次结构(三级)及设计原则?
参考答案:
- 层次:寄存器 → Cache → 主存 → 辅存(常说三级:Cache - 主存 - 辅存)。
- 原则:速度、容量、价格 的折中,遵循局部性原理(时间局部性、空间局部性)。
Q2. Cache 的作用与工作原理?
参考答案:
- 作用:解决 CPU 与主存速度不匹配问题,提高平均访存速度。
- 原理:利用局部性原理,将主存中频繁访问的数据块复制到 Cache,CPU 优先访问 Cache。
Q3. Cache 的三种映射方式
参考答案:
- 直接映射:主存块只能映射到 Cache 唯一行,硬件简单、冲突率高。
- 全相联映射:主存块可映射到任意 Cache 行,冲突率低、硬件复杂(需比较全部行)。
- 组相联映射:先分组,组内全相联;折中方案,现代 CPU 常用(如 2 路、4 路组相联)。
Q4. 什么是虚拟存储器?作用?
参考答案:
- 虚拟存储器是借助辅存,将主存地址空间扩展为逻辑地址空间,对用户透明。
- 作用:
- 扩大编程可用的地址空间;
- 实现主存与辅存间自动调度;
- 提供内存保护与共享
Q5. TLB(快表)是什么?作用?
参考答案:
- TLB 是专用高速缓存,存放当前最常用的页表项。
- 作用:加速地址转换,避免每次访存都查主存页表,减少虚实地址转换开销。
第 4 章 指令系统
Q1. 指令格式包含哪两部分?各自作用?
参考答案:
- 操作码:指明指令操作类型(加、减、访存等)。
- 地址码:指明操作数地址、结果地址或下条指令地址
Q2. 指令寻址方式(常见 5 种)?
参考答案:
- 立即寻址:操作数直接在指令中,速度最快。
- 直接寻址:地址码是有效地址。
- 间接寻址:地址码是有效地址的地址,可扩大寻址范围。
- 寄存器寻址:操作数在寄存器中,速度快。
- 寄存器间接寻址:地址码是寄存器,寄存器存有效地址。
Q3. CISC 与 RISC 的区别?
参考答案:
| 项目 | CISC | RISC |
|---|---|---|
| 指令 | 复杂、变长、数量多 | 简单、定长、数量少 |
| 寻址方式 | 多 | 少 |
| 访存 | 指令可直接访存 | 只有 load/store 访存 |
| 实现 | 微程序为主 | 硬布线为主 |
| 适用 | x86 | ARM、MIPS、RISC-V |
第 5 章 中央处理器 CPU
Q1. CPU 的功能与组成?
参考答案:
- 功能:指令控制、操作控制、时间控制、数据加工。
- 组成:运算器 + 控制器 + 寄存器组。
Q2. 指令周期、机器周期、时钟周期的关系?
参考答案:
- 时钟周期:最小时间单位,主频倒数。
- 机器周期:完成一个基本操作(如访存)的时间,包含若干时钟周期。
- 指令周期:取出并执行一条指令的时间,包含若干机器周期。
Q3. 控制器的两种实现方式?
参考答案:
- 微程序控制器:将控制信号编成微指令存在控制存储器,灵活、易于修改,CISC 常用。
- 硬布线控制器:组合逻辑电路直接产生控制信号,速度快、设计复杂,RISC 常用。
Q4. 什么是流水线?影响流水线效率的因素?
参考答案:
- 流水线:将指令执行过程分为多个阶段(取指、译码、执行、访存、写回),多条指令重叠执行,提高吞吐率。
- 影响因素:
- 结构冲突:硬件资源竞争;
- 数据冲突:指令间数据相关(写后读、读后写、写后写);
- 控制冲突:分支指令、跳转导致断流。
第 6 章 总线系统
Q1. 总线的定义与分类(按位置)?
参考答案:
- 总线:连接多个部件的共享传输线路。
- 分类:
- 片内总线:芯片内部;
- 系统总线:连接 CPU、主存、I/O(数据、地址、控制总线);
- 通信总线:计算机间通信。
Q2. 总线的三种仲裁方式?
参考答案:
- 集中式仲裁:链式查询、计数器定时查询、独立请求;
- 分布式仲裁:各部件自主竞争,无中央仲裁器。
Q3. 总线的四种定时 / 通信方式?
参考答案:
- 同步通信:统一时钟,简单、速度快,适合近距离。
- 异步通信:握手信号(应答),灵活,适合速度差异大的设备。
- 半同步通信:同步时钟 + 异步握手。
- 分离式通信:充分利用总线,提高效率。
第 7 章 输入输出系统
Q1. I/O 控制方式(四种)?
参考答案:
- 程序查询方式:CPU 轮询,CPU 利用率低。
- 程序中断方式:I/O 准备好后发中断,CPU 并行度提高。
- DMA 方式:直接内存访问,数据传输不经过 CPU,适合高速设备(磁盘)。
- 通道方式:专用 I/O 处理器,进一步解放 CPU,大型机用。
Q2. 中断处理过程(完整步骤)?
参考答案:
- 中断请求;
- 中断判优(仲裁);
- 中断响应(关中断、保存断点、向量地址);
- 中断服务(保护现场、处理、恢复现场);
- 中断返回(开中断、返回到断点)。
Q3. DMA 的工作方式与 3 个阶段?
参考答案:
- 方式:停止 CPU 访存、周期挪用、DMA 与 CPU 交替访存。
- 阶段:
- 预处理(CPU 初始化 DMA);
- 数据传送(DMA 控制);
- 后处理(DMA 发中断,CPU 做结束处理)。
第 8 章 流水线与并行技术(高频)
Q1. 结构相关、数据相关、控制相关分别是什么?如何解决?
参考答案:
- 结构相关:多指令争同一硬件 → 解决:增加资源、暂停流水线。
- 数据相关 :RAW、WAR、WAW → 解决:数据旁路(转发)、插入气泡、编译调度。
- 控制相关 :分支指令 → 解决:分支预测、延迟槽、预取目标指令。
Q2. 什么是超标量、超流水线、超长指令字 VLIW?
参考答案:
- 超标量:有多条流水线,可同时发射多条指令(空间并行)。
- 超流水线:把阶段分得更细,提高主频(时间并行)。
- VLIW:编译器打包多个独立操作成一条长指令,硬件简单。