计算机系统概述

考点定位

  • 大纲章节:计算机系统层次结构、性能指标
  • 常见题型:选择题(几乎不出大题),1-3 分/年
  • 考查频率:高(几乎每年至少 1 题,性能计算与冯诺依曼结构轮换出题)
  • 工程师读者注意:这一章你工程上"都知道",但考试考的是教材口径的标准表述与精确互算——坑在措辞和单位换算,不在概念

一、计算机系统层次结构

1.1 层次视图与软硬件分界

  • 软硬件分界面是 ISA(指令集体系结构,即机器指令系统):ISA 之上是软件(编译器、操作系统、应用程序),之下是硬件(数据通路、控制器、电路)。选择题常问"程序员看到的机器属性是什么"——答案就是 ISA 层,即指令系统、寄存器组、数据类型、寻址方式等。
  • 站在 ISA 层看,高级语言→机器语言的翻译器(编译器)+ 操作系统 + 硬件共同构成一台"虚拟机器"。

1.2 翻译 vs 解释(高频选择题)

对比项翻译(编译)解释
时机先整体翻译成目标程序,再执行边翻译边执行,逐条进行
是否生成目标程序生成不生成目标程序
执行速度快(翻译一次多次执行)慢(每次执行都重新解释)
典型代表C 编译器Python 解释器、Java 的字节码解释执行(JIT 属混合)

易错点:解释程序不生成独立的目标程序,这是选择题最爱考的一句。

1.3 三级计算机语言

机器语言(二进制,硬件唯一直接执行)→ 汇编语言(符号化,与机器一一对应,不可移植)→ 高级语言(面向问题,可移植)。

  • 只有机器语言能被硬件直接识别执行;汇编语言必须经汇编程序翻译。
  • 汇编语言与机器语言是一一对应关系,所以汇编程序不可移植——这是判断题常设的陷阱。

二、计算机发展历程(高频选择考点,记结论即可)

  • 器件换代划分:电子管 → 晶体管 → 中小规模集成电路 → 大规模/超大规模集成电路。考法:给特征选代数,或问"划分依据"(器件,不是速度/软件)。
  • 摩尔定律:集成电路上晶体管数约每 18-24 个月翻一番(考"18 个月"这个口径)。
  • 微处理器从 4004(4 位)开始,考过"第一款微处理器是 Intel 4004"。

三、冯诺依曼结构特点(高频选择考点)

核心考点逐条对照,选择题经常把某一条改错让你挑出:

  1. 存储程序:指令和数据以同等地位存于存储器,可按地址访问——这是最核心的思想("存储程序原理")。
  2. 指令和数据均用二进制表示。
  3. 指令由操作码和地址码组成。
  4. 指令在存储器中按地址顺序存放,通常按顺序执行,特定条件下可改变执行顺序(跳转)。
  5. 机器以运算器为中心,输入输出设备与存储器间的数据传送都经过运算器。

最大陷阱:第 5 条。教材口径中冯诺依曼机以运算器为中心;现代计算机以存储器为中心(为缓解运算器瓶颈)。题干若问"冯诺依曼机",选运算器;问"现代计算机",选存储器。二者混在一组选项里是经典命题手法。

另一个考法:"冯诺依曼机的基本工作方式是控制流驱动方式"(按指令顺序执行,而非数据流驱动)。

五大部件与 MAR/MDR(高频小考点)

冯诺依曼机五大部件:运算器、控制器、存储器、输入设备、输出设备。

部件职责关键部件
运算器算术与逻辑运算、暂存中间结果ACC、PSW、通用寄存器组
控制器取指令、分析指令、执行指令,发控制信号PC、IR、CU(含指令译码器)
存储器存放程序和数据存储体 + MAR + MDR
输入/输出设备与外界交换信息经接口/适配器与主机相连

必背口径(选择题直接出):

  • MAR(存储器地址寄存器):其位数反映存储单元的个数, 位 MAR 对应 个存储单元;逻辑上 MAR 属于存储器(不是 CPU)。
  • MDR(存储器数据寄存器):其位数 = 存储字长,等于每个存储单元的位数。
  • PC 位数与 MAR 相同(存放的是主存地址);IR 位数 = 指令字长。
  • 取指令数据流: 主存 ,同时 PC 自动加"1"(一条指令的长度)。

四、性能指标计算(本章计算题套路)

4.1 基本关系式

  • 主频:CPU 时钟频率,倒数是时钟周期 。速算:1 GHz → 1 ns/周期,2 GHz → 0.5 ns/周期。
  • 程序执行时间 = CPU 时间 + 等待 I/O 等时间;CPU 时间又分用户 CPU 时间与系统 CPU 时间,考试只考用户 CPU 时间(上面的公式)。
  • CPI:执行一条指令所需的平均时钟周期数。若有各类指令占比 与各自 ,则 。
  • 注意单位陷阱:MHz 与 GHz、 与 互算时错一个数量级是本节最常见失分点。

4.2 互算套路(给数据求缺项)

已知任意三项(指令条数、CPI、主频、CPU 时间),必能求第四项。做题步骤固定:先写公式 → 代数求缺项 → 检查单位。变式包括:给各指令类占比求平均 CPI;给程序 A/B 在机器 X/Y 上的表现比快慢(必须用 CPU 时间比,不能只比 MIPS)。

4.3 基准程序与指标局限

  • 基准程序(benchmark):用于相对评价性能的测试程序,如 SPEC CPU 系列。基准程序分数只能相对比较同一套基准下的机器。
  • MIPS/MFLOPS 的局限:MIPS 依赖指令集(CISC 一条指令完成的任务 RISC 可能要三条),故不能跨指令集体系结构比较机器;MFLOPS 只反映浮点操作,对不同负载的程序也不公平。选择题常问"MIPS 为什么不可靠"——答案落在"指令功能不对等/程序负载不同"。

例题

例题 1(模拟题) 某程序主频 2.4 GHz 的机器上运行,共执行 条指令,平均 CPI 为 3,求 CPU 执行时间。

解:

例题 2(模拟题) 机器主频 2 GHz,平均 CPI 为 4,求 MIPS。

解:。(把主频换算成 MHz 再除以 CPI,最不易错。)

例题 3(模拟题) 将某机器主频提升 25%,但新硬件使平均 CPI 增加 20%,指令条数不变,性能变化?

解:,执行时间缩短 4%,即快 4%。注意不是"快 5%"——两个百分比作用于同一分式,不能直接相减。

例题 4(模拟题) 下列不属于冯诺依曼机基本特点的是( )。 A. 存储程序,指令与数据同存于存储器 B. 指令由操作码与地址码组成 C. 以存储器为中心 D. 指令按地址顺序存放并顺序执行

解:C。冯诺依曼机以运算器为中心,"以存储器为中心"是现代计算机的改进,命题人特意混入。

例题 5(模拟题) 某主存 MAR 为 16 位、MDR 为 32 位,求存储单元个数与总容量。

解:单元个数 ;每单元 32 位(存储字长),总容量 bit B KB。注意若改为"按字节编址"则 MDR 应为 8 位——MAR 定个数、MDR 定字长,二者独立。

常见坑

  1. "以运算器为中心"(冯诺依曼)vs"以存储器为中心"(现代)——审题看清问的是哪个。
  2. 解释程序不生成目标程序;编译程序生成目标程序。
  3. MIPS 跨体系结构比较无意义;同一机器跑不同程序 MIPS 也不同。
  4. 主频高不等于速度快(CPI 与指令条数都会变)——"主频相同的两台机器性能一定相同"是典型错误选项。
  5. 单位:GHz = Hz,算 CPU 时间时与指令条数的 对齐再约分。
  6. MAR 位数决定单元个数、MDR 位数决定存储字长;MAR/MDR 属于存储器(408 口径),说"属于 CPU 内寄存器"会与教材冲突,选择题按教材选。

自测

  1. 软硬件的分界面是什么?它包含哪些内容?
  2. 解释方式和翻译方式最本质的区别是什么?
  3. 某程序含四类指令:占比 50%/30%/20%,CPI 分别为 2/4/8,主频 1 GHz,求 MIPS。
  4. 冯诺依曼机中,输入设备的数据经什么部件送往存储器?
  5. 为什么说 MIPS 指标不能用于比较不同指令集的机器?
  6. 某机器 MAR 为 12 位且按字节编址,求主存最大容量。

自测答案与简析

  1. 指令集体系结构(ISA)。包含指令系统、寄存器组织、数据类型、寻址方式、I/O 机制等程序员可见属性。
  2. 解释不生成目标程序、边解释边执行;翻译先生成完整目标程序再执行。
  3. ,。
  4. 运算器(冯诺依曼机以运算器为中心,一切数据传送经过运算器)。
  5. 不同指令集单条指令完成的功能量不同,执行同样程序的指令条数与 CPI 不可比,MIPS 自然失去可比性。
  6. 按字节编址则每个单元 1 B,容量 B KB。