计算机组成原理第 1 章:计算机系统概述
408 计算机组成原理「计算机系统概述」复习:核心知识点、真题题型、通用解法与易错点。
Last updated on
本章按照“知识框架 → 真题命题规律 → 各类题型统一解法 → 典型真题/模拟题 → 易错点 → 预测变式”组织。
本章参考本站中的以下内容:
- 408 真题 → 计算机组成原理 → 第 1 章 计算机系统概述
- 408 模拟选择题 → 计算机组成原理 → 第 1 章 计算机系统概述
本站的第 1 章真题主要分成“计算机系统层次结构”与“计算机性能指标”两大部分;真题从 2009、2010 一直到 2024 都有覆盖。(Any Docs) 模拟题则补充了软件分类、解释程序、冯·诺依曼机、大小端和更复杂的性能分析。(Any Docs)
一、先建立第 1 章的整体框架
这一章本身知识并不难,但是有一个特点:
概念题很碎,计算题公式很少,但特别容易因为“比例、单位、速度/时间倒数关系”出错。
408 第 1 章基本可以拆成下面 6 类。
| 题型 | 重要程度 | 主要考法 |
|---|---|---|
| 冯·诺依曼结构与存储程序 | ★★★★ | 指令/数据如何区分、五大部件、工作过程 |
| 软件层次与语言转换 | ★★★ | 编译、汇编、链接、解释 |
| 计算机层次结构与ISA | ★★★ | ISA、机器语言、汇编语言、微指令 |
| CPU性能基本公式 | ★★★★★ | 指令数、CPI、主频、CPU时间 |
| 性能比较与优化 | ★★★★★ | 速度比、加速比、局部优化 |
| MIPS/FLOPS/字长等指标 | ★★★★ | 指标含义、单位换算 |
其中真正应该做到“看到题就机械套流程”的,是后面三类性能题。
二、第 1 章最重要的一条公式
这一章几乎所有性能计算题都围绕下面这条式子:
而
所以
其中:
- :Instruction Count,程序执行的指令条数
- :Cycles Per Instruction,平均每条指令需要的时钟周期数
- :CPU 主频
- :时钟周期长度
解答第 1 章性能题时,第一反应应该永远是:
指令条数 × CPI ÷ 主频。
不要先想 MIPS,不要先想 GHz,也不要凭感觉比较 CPU 快慢。
三、题型一:冯·诺依曼计算机
这是本章最经典的概念题。
1. 必须背熟的核心思想
冯·诺依曼机最核心的是:
(1)存储程序
程序执行之前:
程序和数据都必须事先存入存储器。
CPU 再不断:
取指令 → 分析指令 → 执行指令。
(2)指令和数据都是二进制
在存储器中:
指令是二进制,数据也是二进制。
因此仅仅观察内存中一串:
010101010101...
无法知道它究竟是:
- 指令;
- 整数;
- 浮点数;
- 地址;
- 字符。
二进制本身没有固定语义,语义来自解释它的上下文。
这个思想在408中非常重要。
典型真题:2009
网站中的 2009 真题问:
冯·诺依曼计算机中,指令和数据都以二进制存入存储器,CPU 根据什么区分当前取出的内容究竟是指令还是数据?
答案是:
当前所处的指令周期阶段。 (Any Docs)
为什么?
取指阶段:
此时取出来的东西:
当成指令。
执行阶段如果某条指令要求读取操作数:
此时取出来:
当成数据。
所以不是看:
- 存储位置;
- 二进制长什么样;
- 内容本身。
而是看:
CPU 当前为什么去访问这个地址。
四、一个非常重要的延伸:数据本身没有“类型”
这又引出了 2023 真题。
2023 真题
题目核心是:
某个地址码给出一个通用寄存器编号。寄存器中的内容可能是操作数,也可能是操作数地址,CPU 怎么知道是哪一种? (Any Docs)
答案:
寻址方式。
例如寄存器 R1 中:
情况一:寄存器寻址
意思是:
情况二:寄存器间接寻址
意思变成:
真正操作数:
注意:
R1 里面的二进制完全没变。
变的是:
指令怎样解释它。
所以这一章可以建立一个非常重要的思想:
机器中的二进制没有天然语义,指令规定如何解释二进制。
以后学:
- 补码
- 浮点数
- 地址
- 指令
- Cache
- 虚拟地址
都会不断遇到这个思想。
五、题型二:冯·诺依曼特点判断题
2019 真题
题目让判断哪一项不符合冯·诺依曼基本思想,其中错误说法是:
数据都直接包含在指令中。 (Any Docs)
当然不对。
数据可能来自:
- 指令立即数字段;
- 寄存器;
- 主存;
- I/O设备。
所以:
而不是一定写在指令里面。
模拟题:竟成模拟五
题目问冯·诺依曼计算机基本特点。
正确选项是类似:
指令按地址访问,并通常按顺序执行。
其他几个陷阱分别是:
- 十进制存储:错,内部主要采用二进制;
- 指令存储器、数据存储器完全分开:典型哈佛结构;
- 按内容读取:普通主存是按地址访问。(Any Docs)
这里需要记住:
而“按内容访问”以后在 Cache / 相联存储器附近会再遇到。
六、冯·诺依曼机五大部件
理论上包括:
- 运算器
- 控制器
- 存储器
- 输入设备
- 输出设备
现代计算机一般:
模拟题:王道卷五
题目问:
冯·诺依曼机中,能够识别/区分指令与数据的部件是谁?
答案:
控制器。 (Any Docs)
因为控制器负责:
- 取指;
- 译码;
- 发出控制信号;
- 控制整个指令执行流程。
运算器只是负责:
总线只是:
搬东西。
存储器只是:
存东西。
因此看到:
谁负责“分析指令”“产生控制信号”“协调部件工作”
答案通常就是:
控制器。
七、题型三:机器语言、汇编语言、高级语言
这类题在真题里出现得相当多。
2015 真题
题目给:
I. 机器语言程序 II. 汇编语言程序 III. 硬件描述语言程序
问计算机硬件可以直接执行哪些。
答案:
仅机器语言程序。 (Any Docs)
CPU真正执行的是:
这样的机器指令。
汇编语言:
ADD R1,R2只不过是:
机器指令的符号化表示。
必须经过汇编。
八、机器语言、汇编语言、高级语言的关系
建议直接形成这张图:
高级语言
C / C++ / ...
↓ 编译
汇编语言
↓ 汇编
机器语言/目标文件
↓ 链接
可执行文件更完整地说:
C源程序
↓
预处理
↓
编译
↓
汇编
↓
链接
↓
可执行文件九、2022 真题:源程序到可执行文件
2022 真题直接考流程:
高级语言源程序生成可执行目标文件的主要阶段按什么顺序排列?
答案:
(Any Docs)
每个阶段一定区分清楚。
预处理
处理:
#include
#define
#if编译
高级语言:
a=b+c;转换成低级代码/汇编表示。
汇编
汇编语言:
add ...转换成机器级目标代码。
链接
把多个:
.o.obj- 库
组合起来形成:
可执行文件。
十、2016 真题:编译程序
2016 真题:
将高级语言源程序转换成机器级目标代码文件的程序是什么?
答案:
编译程序。 (Any Docs)
这一类选择题最容易混:
| 程序 | 输入 | 主要输出/作用 |
|---|---|---|
| 编译器 | 高级语言 | 低级目标程序 |
| 汇编器 | 汇编语言 | 机器级目标代码 |
| 链接器 | 目标文件 | 可执行文件 |
| 解释器 | 高级语言 | 边翻译边执行 |
十一、解释程序 vs 编译程序
模拟题“竟成·模拟七”就专门考这个:
高级语言执行过程中“一句一句翻译,翻译一句立即执行一句”的程序是什么?
答案:
解释程序。 (Any Docs)
最简单判断:
编译
解释
口诀:
编译:先翻完再运行。
解释:边翻边运行。
十二、2024 真题:机器指令、微指令、汇编指令、伪指令
这是非常值得注意的一题。
题目给:
- 伪指令
- 微指令
- 机器指令
- 汇编指令
问CPU可以直接理解并执行哪些。
真题答案:
微指令和机器指令。 (Any Docs)
为什么?
机器指令
比如ISA规定:
ADD
LOAD
STORE最终机器码由 CPU 执行。
微指令
如果CPU采用:
微程序控制器
一条机器指令内部又可能分解为若干微指令。
例如:
机器指令 ADD
↓
微指令1
微指令2
微指令3它属于CPU内部控制器层次。
汇编指令
ADD R1,R2CPU并不认识字符:
A D D
必须汇编成机器码。
伪指令
更不是CPU真正提供的ISA指令。
例如汇编器可能允许:
move R1,R2实际上翻译为:
一条或多条真正的机器指令。
所以:
十三、顺便建立“计算机系统层次结构”
这一点后续学习非常有帮助。
可以粗略理解成:
高级语言层
─────────────
汇编语言层
─────────────
ISA / 机器语言层
─────────────
微体系结构层
─────────────
数字逻辑层
─────────────
电子器件其中408特别重视的接口:
ISA。
十四、什么是 ISA?
ISA:
Instruction Set Architecture,指令集体系结构。
它本质上是:
软件和硬件之间的接口。
从程序员角度可以看到:
- 有哪些指令;
- 有哪些寄存器;
- 数据类型;
- 寻址方式;
- 指令格式;
- 地址空间;
- 异常/中断机制等。
但一般看不到:
- CPU流水线具体几级;
- Cache内部怎么实现;
- ALU内部具体电路。
所以:
这句话在性能比较题里特别重要。
十五、题型四:性能指标——全章第一重点
从网站真题分布看,这一类连续出现:
- 2010
- 2011
- 2012
- 2013
- 2014
- 2017
- 2020
- 2021
- 2022
- 2023
说明它绝对是本章主战场。(Any Docs)
十六、三个基本量一定区分
1. 指令条数 IC
一个程序执行:
意思:
共执行10亿条机器指令。
编译器会影响它。
例如优化后:
但注意:
指令条数减少,不一定程序就一定快。
因为 CPI 可能增加。
这正是2014真题考的东西。
十七、CPI
CPI:
例如:
100条指令总共用了300个周期:
注意:
CPI不是时间。
它没有秒、ns这些单位。
十八、多种指令时如何求平均 CPI?
这是必考。
假设:
| 指令 | 比例 | CPI |
|---|---|---|
| A | 50% | 2 |
| B | 20% | 3 |
| C | 10% | 4 |
| D | 20% | 5 |
平均CPI:
也就是:
十九、2013 真题:平均CPI + MIPS
这就是网站中的2013真题。
题目给:
CPU主频1.2 GHz,并给出A/B/C/D四类指令的比例和CPI,求机器的MIPS。
先得到:
主频:
于是:
答案:
400 MIPS。(Any Docs)
二十、MIPS到底怎么算?
MIPS:
Million Instructions Per Second
每秒执行多少百万条机器指令。
首先:
因此:
如果主频直接使用 MHz:
这是最方便的公式。
二十一、2022 真题:平均CPI和CPU执行时间
题目核心:
主频1 GHz,执行10000条指令;其中80%的指令CPI为1,20%的指令CPI为10,问平均CPI和CPU时间。 (Any Docs)
第一步:
总周期数:
主频:
因此周期时间:
于是:
答案:
这是第 1 章最标准的模板题。
二十二、性能计算标准四步法
以后所有类似题,一律:
第一步:求平均CPI
第二步:求总周期数
第三步:主频转周期
第四步:求时间
或者一步:
二十三、2023 真题:GIPS + CPU时间
题目给:
- 主频
- 指令数
- 平均 CPI = 1.2
求:
- 指令执行速度
- 用户CPU时间。(Any Docs)
指令速度:
所以:
CPU时间:
答案:
二十四、单位换算是本章隐藏大坑
必须非常熟:
时间:
所以:
1 GHz
100 MHz
200 MHz
500 MHz
这种最好练到条件反射。
二十五、题型五:不能只比较主频
这是408特别喜欢设置的陷阱。
错误观念
CPU主频越高,所以CPU一定越快。
错误。
因为:
性能由三项共同决定:
例如:
机器A:
机器B:
执行相同数量指令:
所以虽然A主频翻倍,却:
慢了一倍。
二十六、2017 真题:主频更高却更慢
网站2017真题:
M1:
M2:
相同ISA、执行同一程序,比较运行时间。(Any Docs)
由于指令数相同:
所以:
M1主频明明更高:
但因为CPI:
最终M1反而慢。
这是考试特别想考查理解的:
主频不是性能。
二十七、“时间比”和“速度比”一定注意倒数
这是本章第一大计算错误来源。
若:
说明:
A运行时间是B的2倍。
那么:
B的速度才是A的2倍。
因为:
因此:
背:
二十八、模拟题:不同机器 + 不同编译器
王道卷三有一道非常好的综合题。
给:
- M1主频800 MHz
- M2主频400 MHz
- A/B/C三种指令
- 每种指令在M1、M2上CPI不同
- C1、C2两个编译器产生的指令比例不同
要求分别比较机器性能。(Any Docs)
这题真正考的是:
机器和编译器都会影响性能。
机器影响:
编译器影响:
标准流程:
第一步
对每台机器、每个编译器分别算:
第二步
算:
第三步
题目问“速度几倍”时:
千万别直接:
二十九、题型六:编译优化是否真的优化?
2014 真题
题目:
程序原来运行20s。编译优化后,指令条数变成原来的70%,但CPI变成原来的1.2倍,求新执行时间。 (Any Docs)
主频不变:
所以:
于是:
所以:
这道题非常重要,因为它说明:
指令条数减少 ≠ 一定按相同比例提速。
三十、比例变化题统一做法
假设:
则:
所以:
以后这类题甚至不需要求原来的具体:
- 指令数;
- CPI;
- 主频。
直接算比例。
三十一、2010 真题:什么能缩短CPU时间?
题目给三个措施:
- 提高CPU主频;
- 优化数据通路;
- 编译优化。
答案:
三个都可能降低执行时间。(Any Docs)
用万能式分析:
提高主频
优化数据通路
通常可能:
编译优化
可能:
甚至:
所以这一章很多概念题可以直接:
回到CPU时间公式判断。
三十二、题型七:局部优化与Amdahl思想
2012 真题很经典。
题目:
某程序总运行100s,其中CPU时间90s,I/O时间10s。如果CPU速度提高50%,I/O速度不变,新运行时间多少? (Any Docs)
注意“速度提高50%”意味着:
所以CPU新时间:
I/O:
没变。
于是:
答案:
三十三、“速度提高50%”不是“时间减少50%”
这是超级高频坑。
若:
由于:
所以:
而不是:
例如:
则:
只减少了:
也就是:
三十四、Amdahl定律
2012这题实际上已经体现了Amdahl思想:
只优化程序的一部分,整体性能提升受到未优化部分限制。
若程序中比例 的部分获得 倍加速:
例如CPU占90%:
CPU快1.5倍:
整体加速:
因此新时间:
三十五、一个极限结论特别重要
如果CPU部分无限快:
那么:
2012题:
即使CPU无限快:
因为那10%的I/O时间永远存在。
这就是:
系统瓶颈决定整体性能。
三十六、模拟题:某条慢指令值不值得优化?
王道卷一题:
某指令I占10%,CPI为20;其他指令平均CPI为5。将I的CPI优化到10,但时钟周期反而延长10%,问是否值得。(Any Docs)
这是非常高质量的题。
假设共 条。
原周期数:
优化后:
可是周期长度变成:
所以新时间:
旧时间:
由于:
因此:
值得。
三十七、这类综合优化题统一解法
千万别只说:
CPI降低了,所以快。
必须同时比较:
若三者都变:
然后比较。
三十八、题型八:CPU时间 vs 程序总运行时间
这个概念也很容易混。
程序从点击“运行”到结束:
是总经过时间(elapsed time)。
里面可能包括:
- CPU真正执行程序;
- 等待磁盘;
- 等待网络;
- 等待I/O;
- 操作系统调度等。
而CPU时间只统计:
CPU真正花在程序上的时间。
模拟题:王道卷四
题目:
- 主频2 GHz
- CPI 1.2
- 指令数
- 程序总经历时间4s
问CPU时间占比。(Any Docs)
CPU时间:
所以占:
答案:
三十九、题型九:MIPS、FLOPS到底是什么
2011 真题
问:
哪个指标描述浮点运算速度?
答案:
MFLOPS。 (Any Docs)
FLOPS
即:
每秒浮点运算次数。
注意:
不是“每秒指令数”。
一条机器指令:
可能完成一个、多个乃至大量浮点操作。
四十、单位前缀必须背
四十一、2021 真题:PFLOPS
神威·太湖之光题给:
因为:
所以:
浮点操作/秒。(Any Docs)
又因为:
所以:
于是大约:
四十二、MIPS和FLOPS不能混用
MIPS
看:
FLOPS
看:
因此两个不同ISA机器:
MIPS通常并不适合简单横向比较。
因为一条复杂指令可能完成:
别的机器几条指令的功能。
所以:
四十三、CPI和IPC
网站真题选项中也出现IPC。
CPI:
IPC:
理想简单情况下:
但现代超标量处理器中,平均:
也是可能的。
后面CPU流水线会更加系统地讲。
四十四、题型十:机器字长
2020 真题
题目给:
I. ALU II. 指令寄存器 III. 通用寄存器 IV. 浮点寄存器
问哪些宽度一定与机器字长相同。
408标准答案:
ALU和通用寄存器。 (Any Docs)
四十五、机器字长究竟是什么?
机器字长通常指:
CPU一次能够处理的二进制数据位数。
例如:
- 32位机器;
- 64位机器。
主要和:
- ALU宽度;
- 通用寄存器宽度
有关。
四十六、不要混淆四个“长度”
非常重要。
1. 机器字长
CPU一次处理数据的宽度。
例如:
2. 指令字长
一条机器指令多少bit。
可能:
- 固定长度;
- 可变长度。
不要求一定等于机器字长。
3. 存储字长
一个存储单元一次存储的数据位数。
4. 数据字长
某种数据类型的位数。
例如:
具体由系统规定。
所以:
这是非常典型的概念陷阱。
四十七、模拟题里出现的大小端题怎么处理?
本站第 1 章模拟题还放了几道:
- 小端存储;
- 补码;
- 数组地址;
- 机器码。
例如王道卷三题:
sub ax, imm,立即数为 ,机器采用小端,问机器码排列及执行后的SF。(Any Docs)
这其实已经是:
第 1 章工作原理 + 第 2 章数据表示
的综合题。
四十八、小端模式核心规则
假设16位数:
有两个字节:
12 34其中:
- 12:高字节
- 34:低字节
小端:
低字节放低地址。
所以:
低地址 → 34
高地址 → 12口诀:
小端,小的地址放低位字节。
四十九、模拟题中的
16位补码:
因此字节:
FF FD小端存储:
低地址:FD
高地址:FF所以机器码中立即数字节顺序为:
FD FF这就是网站该题得到 2D FD FF 的原因。(Any Docs)
五十、数组地址 + 小端综合
王道卷七模拟题:
int buf[4]={-2,103,-10,-20};首地址给定,问某个字节地址中的内容。(Any Docs)
这种题统一四步:
第一步:确定元素
32位int:
所以先通过地址偏移:
计算:
第二步:求元素补码
例如:
32位补码:
第三步:拆字节
FF FF FF F6第四步:按照大小端排列
小端:
低地址 → F6 FF FF FF → 高地址然后定位题目问的那个地址。
这类题今后在第 2 章还会大量出现。
五十一、模拟性能综合题:Cache + CPI
竟成模拟一有一道很值得做:
原程序把“乘4”指令换成“左移2位”,同时两类指令的基础CPI和Cache命中率不同;程序时间从12s降为10s,要求反推出替换了多少条指令。(Any Docs)
这是典型:
第 1 章性能 + Cache
综合。
五十二、先求“有效CPI”
原“乘4”:
- 命中CPI:94
- 未命中率:
未命中额外:
所以:
左移:
所以每替换一条:
个周期。
程序时间减少:
CPU主频:
因此少执行周期:
每条减少100周期,所以:
这是一道非常好的综合题。
五十三、这一题应该总结成什么方法?
不要只记答案。
以后凡是:
“某种优化使程序少花了 秒,问优化了多少次/多少条指令”
统一:
然后:
五十四、网站模拟题中有一道题值得特别提醒
竟成模拟三给:
- 主频200 MHz;
- 四类指令;
- 不同CPI和指令条数;
要求程序执行时间和有效MIPS。
本站解析已经指出:
按照题目给的数据计算,四个选项都不正确,正确结果应为约 和 。 (Any Docs)
这是非常好的训练。
考试复习千万不要形成:
“算不出选项,所以肯定是计算错了。”
应该有独立验算能力。
五十五、把这道有问题的模拟题重新算一次
指令数:
总周期:
主频:
所以周期:
执行时间:
MIPS:
所以:
网站这里判断题面/选项存在问题是合理的。(Any Docs)
五十六、题型十一:反推主频
竟成模拟六:
M1和M2具有相同ISA。M1主频800MHz,程序在M1运行12s,在M2运行8s;M2的CPI是M1的1.5倍,求M2主频。(Any Docs)
这种题不要重新设太多变量。
利用:
同程序:
于是:
已知:
约掉CPI:
因此:
五十七、本章最推荐的“比例法”
性能比较题不要轻易求具体指令数。
若同一个程序:
则:
如果指令数相同:
这是第 1 章最好用的比较公式。
五十八、性能题的“万能判断树”
以后看到性能题,按这个走。
题目问程序时间?
↓
有没有各类指令?
↓有
先求平均CPI
↓
T = IC × CPI / f如果题目问:
A比B快多少倍?先分别得到:
再:
如果题目说:
优化前后发生变化直接:
如果:
只有部分程序加速用:
五十九、最容易犯的10个错误
错误1:主频越高性能越高
错误。
还要看IC、CPI。
错误2:CPI越低机器一定越快
同样错误。
如果主频、指令数不同,也不能这么判断。
错误3:指令条数减少30%,时间也减少30%
错误。
还要看CPI与主频。
错误4:速度提高50%,时间减少50%
错误。
错误5:性能比直接等于时间比
恰好倒过来。
错误6:平均CPI直接算术平均
假设CPI:
不能:
必须按指令比例加权。
错误7:GHz直接拿去和微秒乱算
最好全部先转成标准单位,或者熟练使用:
错误8:把总运行时间当CPU时间
总运行时间包含I/O等待。
错误9:认为内存中数据本身具有固定意义
错误。
同一个:
FFFFFFFF可以被解释成:
- 有符号整数;
- 无符号整数;
- 地址;
- 指令的一部分。
错误10:把机器字长等同于指令字长
不一定相等。
六十、建议重点掌握的真题
按照复习价值排序,本文将这样分。
第一梯队:必须熟练到秒杀
2013
多类指令比例+CPI+主频,求MIPS。
练:
平均CPI。
2014
IC变为70%,CPI变为1.2倍,求新时间。
练:
比例法。
2017
两台不同主频、不同CPI的机器比较速度。
练:
性能比较。
2022
各类CPI+指令比例,求平均CPI和CPU时间。
练:
CPU时间基本公式。
2023
主频、指令条数、CPI,求GIPS和CPU时间。
练:
基本指标综合。
这些题基本覆盖本章绝大多数计算题。(Any Docs)
六十一、第二梯队:必须理解
2009
指令和数据如何区分?
核心:
指令周期阶段。
2019
冯·诺依曼基本思想。
2022
预处理→编译→汇编→链接。
2024
微指令、机器指令、汇编指令、伪指令。
这些是本章概念题的代表。(Any Docs)
六十二、第三梯队:记住指标定义
2011
2020
机器字长。
2021
主要防止概念和单位失分。(Any Docs)
六十三、根据真题趋势预测的几种新变式
以下内容不是网站原题,而是根据现有命题方式设计的预测变式。
预测题1:IPC综合
某处理器主频:
平均:
程序执行:
条指令,求CPU时间。
因为:
所以:
执行时间:
这种“IPC反着给”完全有可能出现。
六十四、预测题2:同时改变IC、CPI、主频
原机器执行程序需要10s。
新编译器令:
新CPU使:
同时主频提高:
求新执行时间。
因此:
总体加速:
这是2014、2017题型的自然升级。
六十五、预测题3:Amdahl反问题
某程序中80%的时间可并行化,希望总体加速4倍。
问被优化部分至少要加速多少倍。
设:
则:
所以:
答案:
这是比2012真题更进一步的反推型。
六十六、预测题4:根本不可能达到的性能
还是上题:
问能否获得6倍总体加速?
即使可加速部分无限快:
因此:
所以:
不可能。
这类题几乎不用算,很适合作为选择题。
六十七、预测题5:MIPS陷阱
机器A:
机器B:
问A是否一定比B运行某高级语言程序快?
答案:
不一定。
因为:
- ISA可能不同;
- 编译结果的IC不同;
- 一条指令完成的工作量不同。
最终应该比较:
这也是408很喜欢的概念方向。
六十八、第 1 章最后压缩成“一页纸”
考场上真正需要记住的就是下面这些。
1. CPU时间
2. 平均CPI
3. IPS
4. MIPS
如果 用 MHz:
5. 性能与时间
所以:
6. 加速比
7. Amdahl
8. 编译过程
高级语言源程序
↓
预处理
↓
编译
↓
汇编
↓
链接
↓
可执行文件9. 冯·诺依曼
记住:
存储程序。
指令和数据均二进制表示。
程序和数据事先进入存储器。
按地址访问。
通常顺序取指,转移指令可改变顺序。
指令和数据从存储形式上没有本质区别。
六十九、第 1 章复习优先级
若时间有限,建议按下面顺序学:
第一优先级:
把2013、2014、2017、2022、2023真题全部做到看到数字就会列式。
第二优先级:
掌握:
- 时间比/速度比;
- 局部优化;
- Amdahl;
- CPU时间与总运行时间。
第三优先级:
背熟:
- 冯·诺依曼;
- 编译/汇编/链接/解释;
- ISA;
- 机器语言/汇编语言/微指令。
第四优先级:
记:
- MIPS;
- FLOPS;
- CPI/IPC;
- 机器字长;
- 各类单位换算。
如果把这些真正吃透,计算机组成原理第 1 章基本就没有多少新的题型了:后面的新题大多数只是把 、CPI、主频、Cache失效、流水线或访存开销换一种方式藏起来,最后仍然会落回
这个核心思想。本站的真题与模拟题分布也非常明显地体现了这一点:真题页在性能指标部分连续收录了大量CPI、MIPS、主频和执行时间题,而模拟题则进一步把这些基本量与编译器、Cache、总线和I/O结合起来。(Any Docs)