中国石油大学(北京)网络与继续教育学院
期 末 考 试
《
计算机组成原理 》
关于课程考试违规作弊的说明
1
、提交文件中涉嫌抄袭内容(包括抄袭网上、书籍、报刊杂志及其他已有论文),
带有明显外校标记,不符合学院要求或学生本人情况,或存在查明出处的内容或
其他可疑字样者,判为抄袭,成绩为“0”。
2
、两人或两人以上答题内容或用语有 50%以上相同者判为雷同,成绩为“0”。
3
、所提交试卷或材料没有对老师题目进行作答或提交内容与该课程要求完全不
相干者,认定为“白卷”或“错卷”,成绩为“
0
”。
一、简答题(每题
5
分,共
30
分)
1
.(
5
分)流水线方式下执行指令时,总能在一个时钟周期内完成一条指令的执行吗?请
简要分析。
答:条指令的执行需要 5 个时钟周期。它们分别是:取指令周期(IF)、指令译码/读寄存
器周期(ID)、执行/有效地址计算周期(EX)、存储器/分支完成周期(MEM)、写回周期
(WB)
2
.(
5
分)奔腾(
Pentium
)有两类中断源,即中断(
interrupt
)和异常(
exception
)。请说
明它们的区别是什么。
答:中断:是为了设备与
CPU
之间的通信。典型的有如服务请求,任务完成提醒等。比如
我们熟知的时钟中断,硬盘读写服务请求中断。中断的发生与系统处在用户态还是在内核态
无关,只决定于
EFLAGS
寄存器的一个标志位。我们熟悉的
sti, cli
两条指令就是用来设置
这个标志位,然后决定是否允许中断。在单个
CPU
的系统中,这也是保护临界区的一种简
便方法。中断是异步的,因为从逻辑上来说,中断的产生与当前正在执行的进程无关。事实
上,中断是如此有用,
Linux
用它来统计时钟,进行硬盘读写等。
异常:异常是由当前正在执行的进程产生。异常包括很多方面,有出错(
fault
),有陷入(
trap
),
也有可编程异常(
programmable exception
)。出错(
fault
)和陷入(
trap
)最重要的一点区
别是他们发生时所保存的
EIP
值的不同。出错(
fault
)保存的
EIP
指向触发异常的那条指令;
而陷入(
trap
)保存的
EIP
指向触发异常的那条指令的下一条指令。因此,当从异常返回时,
出错(
fault
)会重新执行那条指令;而陷入(
trap
)就不会重新执行。这一点实际上也是相
当重要的,比如我们熟悉的缺页异常(
page fault
),由于是
fault
,所以当缺页异常处理完成
之后,还会去尝试重新执行那条触发异常的指令(那时多半情况是不再缺页)。陷入的最主
要的应用是在调试中,被调试的进程遇到你设置的断点,会停下来等待你的处理,等到你让
其重新执行了,它当然不会再去执行已经执行过的断点指令。
3.(
5
分)在
cache
的写操作策略中,请比较写回法和全写法各自的优劣。
答:
1
、
CPU
往
Cache
写数据的同时也往主存中写数据,一直保存数据一致
想获取跟多内容+V:chenjing-1125