计算机系统结构

发布时间:2015-05-07 来源: 计算机系统结构答案

第一篇:计算机系统结构

第三次作业 5.7 一条线性流水线由 4 个功能段组成,每个功能段的延迟时间都相等,都为 ?t 。开始 5 个 ?t ,每间隔一个 ?t 向流水线输入一个任务,然后停顿 2 个 ?t ,如此重复。求流水 线的实际吞吐率、加速比和效率。

(10 分) 解:由于题意不清,可做出下面两种时空图, 1 1 1 1 2 2 3 5 ?t 2 3 4 2 3 4 5 3 4 5 4 5 5 6 6 6 7 7 8 6 7 8 7 8 8 9 10 9 10 9 10 9 10 2 ?t 从图中可以看出,除了开始第一个周期外,之后每七个时间段可以完成 5 个任务,则流水线 的吞吐率为: TP ? 加速比: n 5n 1 ? ? 0.714 Tk (1 ? 7 n) ?t ?t S? 效率: T0 5 n ? 4 ?t 20 ? ? ? 2.86 Tk (1 ? 7 n) ?t 7 E? T0 20n?t ? ? 0.714 k ? Tk 4(1 ? 7n)?t 1 1 1 1 2 5 ?t 2 3 2 2 3 3 3 4 4 4 5 4 5 5 6 5 6 6 6 2 ?t 从图中可以看出,除了开始第一个周期外,之后每七个时间段可以完成 3 个任务,则流水线 第 1 页 共 10 页 的吞吐率为: TP ? 加速比: n 3n 3 ? ? Tk (1 ? 7 n)?t 7 S? 效率: T0 3n ? 4?t 12 ? ? Tk (1 ? 7 n)?t 7 T0 12n?t 3 ? ? k ? Tk 4(1 ? 7 n)?t 7 TP ? 下面这种时空图是不正确的,有部分同学是这样画的。 1 1 1 1 2 9 ?t 2 3 2 2 3 3 4 3 4 4 5 4 5 5 5 6 6 6 7 6 7 7 7 2 ?t 每个功能段的延迟时间均相等, ?A 。 i ?1 i 10 5.8 用一条 5 个功能段的浮点加法器流水线计算 F ? 流水线的输出端与输入端之间有直接数据通路, 而且设置有足够的缓冲寄存器。

要求用 尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效 率。

(10 分) 解

F ? ? A ? ??? A ? A ? ? ? A i ?1 i 1 2 10 3 ? A4 ?? ? ? A9 ? A10 ?? ? ?? A5 ? A6 ? ? ? A7 ? A8 ?? 根据以上对计算的划分,可以画出流水线时空图如下: 1 1 1 1 1 2 2 3 2 3 4 2 3 4 5 2 3 4 5 3 4 5 4 5 5 6 6 6 7 7 7 7 8 8 8 8 8 9 9 9 9 9 6 6 7 第 2 页 共 10 页 其中

任务 1 为 A1 ? A2 ;任务 2 为 A3 ? A4 ;任务 3 为 A5 ? A6 ;任务 4 为 A7 ? A8 ; 任务 5 为 A9 ? A10 ; 任务 6 为 ? A1 ? A2 ? ? ? A3 ? A4 ? ; 任务 7 为 ? A5 ? A6 ? ? ? A7 ? A8 ? ; 任务 8 为 ? A9 ? A10 ? ? ?? A1 ? A2 ? ? ? A3 ? A4 ??; 任务 9 为 ?? A5 ? A6 ? ? ? A7 ? A8 ?? ? ?? A9 ? A10 ? ? ?? A1 ? A2 ? ? ? A3 ? A4 ???; 设每个功能段的延迟时间均为 ?t ,则由上图可以得到

流水线完成计算需要的总时间为: Tk ? 21?t 不使用流水线,完成计算需要的总时间为: T0 ? 9 ? 5?t ? 45?t 流水线的实际吞吐率为: TP ? 9 9 1 ? ? 0.4286 Tk 21?t ?t 流水线的加速比为: S? T0 45?t 45 ? ? ? 2.1429 Tk 21?t 21 T0 45?t 45 ? ? ? 0.4286 k ? Tk 5 ? 21?t 105 流水线的效率为: E? 5.11 一条有 4 个功能段的非线性流水线,每个功能段的延迟时间都相等,都为 20ns,它的 预约表如下

时 间 功能段 S1 S2 S3 S4 ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ × 1 × × × × × 2 3 4 5 6 7 × 写出流水线的禁止集合和初始冲突向量。

画出调度流水线的状态图。

求流水线的最小启动循环和最小平均启动距离。

求平均启动距离最小的恒定循环。

求流水线的最大吞吐率。

按照最小启动循环连续输入 10 个任务,求流水线的实际吞吐量。

画出该流水线各功能段之间的连接图。

(30 分) 第 3 页 共 10 页 解:⑴ 在预约表中

第 1 行的第 1 列与第 7 列之间的距离为 6; 第 2 行的第 2 列与第 6 列之间的距离为 4; 第 4 行的第 3 列与第 5 列之间的距离为 2。

所以流水线的禁止集合为(2,4,6) ,初始冲突向量为 101010。

⑵ 画出调度流水线的状态图如下

7* 7* 1 101010 3 7* 5 3 5 7* 111111 101111 101011 5 ⑶ 由上图可以找到如下的简单循环,并计算相应的平均启动距离

简单循环 (5) (7) (1,7) (3,5) (3,7) (5,7) (3,5,7) (5,3,7) 平均启动距离 5 7 4 4 5 6 5 5 因此最小启动循环为(1,7)或(3,5) ,最小平均启动距离为 4。

⑷ 由上表可以看出,平均启动距离最小的恒定循环为(5) 。

⑸ 已经求得最小平均启动距离为 4, 则流水线完成 n 个连续任务需要的总时间最少为: Tk ? 7?t ? ?n ? 1?? 4?t ? ?4n ? 3??t 流水线的最大吞吐率为: TPmax ? n n 1 1 ?n ? ? ? ? ? ? ? 1.25 ? 107 ?9 Tk ?4n ? 3??t 4?t 4 ? 20 ? 10 ⑹ 最小启动循环的平均启动距离为 4,启动循环可以为(1,7)(7,1)(3,5)和 、 、 (5,3)四种情况。连续输入 10 个任务,选取不同的启动循环时,前九个任务的 输入输出情况均为: 第 4 页 共 10 页 0 时刻输入第一个任务,7 时刻输出; ?? 32 时刻输入第九个任务,39 时刻输出。

启动循环为(1,7)时

33 时刻输入第十个任务,40 时刻输出。

流水线的实际吞吐率为

TP ? 10 10 ? ? 1.25 ? 107 ?9 40?t 40 ? 20 ? 10 启动循环为(7,1)时

39 时刻输入第十个任务,46 时刻输出。

流水线的实际吞吐率为

TP ? 10 10 ? ? 1.087 ? 107 ?9 46?t 46 ? 20 ? 10 启动循环为(3,5)时

35 时刻输入第十个任务,42 时刻输出。

流水线的实际吞吐率为

TP ? 10 10 ? ? 1.1905 ? 107 42?t 42 ? 20 ? 10 ?9 启动循环为(5,3)时

37 时刻输入第十个任务,44 时刻输出。

流水线的实际吞吐率为

TP ? 10 10 ? ? 1.1364 ? 10 7 ?9 44?t 44 ? 20 ? 10 ⑺ 画出该流水线各功能段之间的连接图如下

输出 输入 S1 S2 S3 S4 5.15 一条由 4 个功能段组成的非线性流水线的预约表如下,每个功能段的延迟时间都为 10ns。

时 间 功能段 S1 S2 S3 S4 ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ 1 × × × × × × 2 3 4 5 6 × 写出流水线的禁止集合和初始冲突向量。

画出调度流水线的状态图。

求流水线的最小启动循环和最小平均启动距离。

在流水线中插入一个非计算延迟功能段后, 求该流水线的最佳启动循环及其最小平 均启动距离。

画出插入一个非计算延迟功能段后的流水线预约表(5 行 7 列) 。

画出插入一个非计算延迟功能段后的流水线状态变换图。

分别计算在插入一个非计算延迟功能段前、后的最大吞吐率。

如果连续输入 10 个任务,分别计算在插入一个非计算延迟功能段前、后的实际吞 第 5 页 共 10 页 吐率。

(30 分) 解:⑴ 在预约表中

第 1 行的第 1 列与第 6 列之间的距离为 5; 第 2 行的第 2 列与第 4 列之间的距离为 2; 第 4 行的第 4 列与第 5 列之间的距离为 1。

所以流水线的禁止集合为(1,2,5) ,初始冲突向量为 10011。

⑵ 画出调度流水线的状态图如下

3,4,6* 10011 ⑶ 最小启动循环为(3) ,最小平均启动距离为 3。

⑷ 在预约表中任意一行中“×”的最大个数为 2,所以在流水线中插入一个非计算延迟 功能段后,该流水线的最佳启动循环为(2)和(1,3) ,最小平均启动距离为 2。

⑸ 选取最佳启动循环(1,3) ,画出插入一个非计算延迟功能段后的流水线预约表如 下

时间 S1 功能段 S2 S3 S4 延迟 D1 1 × × × × × × × 2 3 4 5 6 7 × ⑹ 在以上插入一个非计算延迟功能段后的流水线预约表中

第 1 行的第 1 列与第 7 列之间的距离为 6; 第 2 行的第 2 列与第 4 列之间的距离为 2; 第 4 行的第 4 列与第 6 列之间的距离为 2。

所以该流水线的禁止集合为(2,6) ,初始冲突向量为 100010。

画出插入一个非计算延迟功能段后的流水线状态变换图如下

4,7* 100010 7* 1 3 110011 4 1 100110 3 3 4,7* 5 100011 5 5 4,7* 第 6 页 共 10 页 ⑺ 在插入一个非计算延迟功能段前

最小平均启动距离为 3,流水线完成 n 个连续任务需要的总时间最少为: Tk ? 6?t ? ?n ? 1?? 3?t ? ?3n ? 3??t 流水线的最大吞吐率为: TPmax ? n n 1 1 ?n ? ? ? ? ? ? ? 3.33 ? 107 ?9 ?3n ? 3??t 3?t Tk 3 ? 10 ? 10 在插入一个非计算延迟功能段后

最小平均启动距离为 2,流水线完成 n 个连续任务需要的总时间最少为: Tk ? 7?t ? ?n ? 1?? 2?t ? ?2n ? 5??t 流水线的最大吞吐率为: TPmax ? n n 1 1 ?n ? ? ? ? ? ? ? 5 ? 107 ?9 Tk ?2n ? 5??t 2?t 2 ? 10 ? 10 ⑻ 在插入一个非计算延迟功能段前

最小启动循环的平均启动距离为 3,启动循环为(3) 。连续输入 10 个任务,输入输 出情况为

0 时刻输入第一个任务,6 时刻输出; 3 时刻输入第二个任务,9 时刻输出; ?? 27 时刻输入第十个任务,33 时刻输出。

流水线的实际吞吐率为

TP ? 10 10 ? ? 3.0303 ? 107 ?9 33?t 33 ? 10 ? 10 在插入一个非计算延迟功能段后

最小启动循环的平均启动距离为 2,启动循环可以为(1,3)(3,1)两种情况。

、 连续输入 10 个任务,选取不同的启动循环时,前九个任务的输入输出情况均为

0 时刻输入第一个任务,7 时刻输出; ?? 16 时刻输入第九个任务,23 时刻输出。

启动循环为(1,3)时

17 时刻输入第十个任务,24 时刻输出。

流水线的实际吞吐率为

TP ? 10 10 ? ? 4.1667 ? 10 7 ?9 24?t 24 ? 10 ? 10 启动循环为(3,1)时

19 时刻输入第十个任务,26 时刻输出。

流水线的实际吞吐率为

TP ? 10 10 ? ? 3.8462 ? 107 ?9 26?t 26 ? 10 ? 10 5.17 下面一段程序在一台超标量处理机上运行,每个时钟周期发射两条指令。所有指令都 要经过“取指令”“译码”“执行”和“写结果”四个阶段,其中, 、 、 “取指令”“译码” 、 第 7 页 共 10 页 和“写结果”三个阶段的延迟时间都为一个时钟周期。在“执行”阶段,访问存储器 部件和逻辑操作部件各延迟一个时钟周期,加法操作部件延迟两个时钟周期,乘法操 作部件延迟 3 个时钟周期,4 种操作部件各设置一个。加法部件和乘法部件都采用流 水线结构,每一级流水线的延迟时间都为一个时钟周期。每个操作部件的输出都有直 接数据通路连接到其他操作部件的输入端。

k

LOAD R0, A ; R0←Cache 的(A)单元 k+1

ADD R1, R0 ; R1←(R1)+(R0) k+2

STORE R1, B ; Cache 的 B 单元←(R1) k+3

ADD R2, R3 ; R2←(R2)+(R3) k+4

MUL R3, R4 ; R3←(R3)×(R4) k+5

OR R5, R6 ; R5←(R5)∨(R6) k+6

ADD R5, R7 ; R5←(R5)+(R7) ⑴ 列出程序中可能出现的所有数据相关。

⑵ 采用顺序发射顺序完成调度方法, 画出流水线的时空图, 并计算执行这个程序所用 的时间。

⑶ 采用顺序发射乱序完成调度方法, 画出流水线的时空图和各操作的完成时间, 并计 算执行这个程序所用的时间。

⑷ 如果再增加一个能够存放 7 条指令的先行指令窗口,采用乱序发射乱序完成调度 方法,画出流水线的时空图、各操作的发射时间图和完成时间图,并计算执行这个 程序所用的时间。

(20 分) 解:⑴ 指令 k 和指令 k+1 之间有“先写后读”数据相关; 指令 k+1 和指令 k+2 之间有“先写后读”数据相关; 指令 k+3 和指令 k+4 之间有“先读后写”数据相关; 指令 k+5 和指令 k+6 之间有“先写后读”和“写-写”数据相关。

⑵ 采用顺序发射顺序完成调度方法,画出流水线的时空图如下: 1 流水线 1 流水线 2 k k+1 IF1 IF2 k+2 k+3 2 ID1 ID2 IF1 IF2 k+4 k+5 ID1 ID2 IF1 IF2 k+6 指令 IF

“取指令” ;ID

“译码” ;EL

“执行 LOAD” ;EA

“执行 ADD” ;ES

“执行 STORE” ; EM

“执行 MUL” ;EO

“执行 OR” ;WR

“写结果” ID1 ID2 IF1 EA1 EM1 EO ID1 EA1 EA2 3 EL 4 WR1 EA1 EA2 WR2 ES EA2 EM2 WR1 WR2 EM3 WR1 WR2 WR1 5 6 7 8 9 时钟周期 第 8 页 共 10 页 执行这个程序共使用了 9 个时钟周期。

⑶ 采用顺序发射乱序完成调度方法,画出流水线的时空图如下: 1 流水线 1 流水线 2 k k+1 IF1 IF2 k+2 k+3 2 ID1 ID2 IF1 IF2 k+4 k+5 ID1 ID2 IF1 IF2 k+6 指令 IF

“取指令” ;ID

“译码” ;EL

“执行 LOAD” ;EA

“执行 ADD” ;ES

“执行 STORE” ; EM

“执行 MUL” ;EO

“执行 OR” ;WR

“写结果” ID1 ID2 IF1 EA1 EM1 EO ID1 3 EL 4 WR1 EA1 EA2 WR2 ES EA2 EM2 WR1 EA1 EA2 WR2 WR1 WR2 EM3 WR1 5 6 7 8 9 时钟周期 各操作的完成时间如下

时钟周期 流水线 1 流水线 2 4 k 5 6 k+5 k+1 7 k+2 k+3 8 k+4 k+6 执行这个程序共使用了 8 个时钟周期。

⑷ 采用乱序发射乱序完成调度方法,画出流水线的时空图如下: 1 流水线 1 流水线 2 k k+3 k+4 IF1 IF2 IF1 k+1 k+5 2 ID1 ID2 ID1 IF2 IF2 k+6 k+2 指令 IF

“取指令” ;ID

“译码” ;EL

“执行 LOAD” ;EA

“执行 ADD” ;ES

“执行 STORE” ; EM

“执行 MUL” ;EO

“执行 OR” ;WR

“写结果” 3 EL EA1 EM1 ID2 ID2 IF1 IF1 4 WR1 EA2 EM2 EA1 EO ID1 ID1 WR2 EM3 EA2 WR1 EA1 EA2 ES WR2 WR1 WR1 WR2 5 6 7 8 9 时钟周期 第 9 页 共 10 页 各操作的发射时间如下

时钟周期 流水线 1 流水线 2 先行窗口 时钟周期 流水线 1 流水线 2 1 k k+3 k+4 4 k 5 k+5 k+3 6 k+4 k+1 7 k+2 k+6 2 k+1 k+5 3 k+2 k+6 各操作的完成时间如下: 执行这个程序共使用了 7 个时钟周期。 第 10 页 共 10 页

第一篇:计算机系统结构

课后答案网,用心为你服务! 大学答案 --- 中学答案 --- 考研答案 --- 考试答案 最全最多的课后习题参考答案,尽在课后答案网(www.khdaw.com)! Khdaw团队一直秉承用心为大家服务的宗旨,以关注学生的学习生活为出发点, 旨在为广大学生朋友的自主学习提供一个分享和交流的平台. 爱校园(www.aixiaoyuan.com) 课后答案网(www.khdaw.com) 淘答案(www.taodaan.com) 第一章 计算机体系结构的基本概念 1.1 名词解释

1. 层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语 言为特征. 第 6 级:应用语言虚拟机 第 5 级:高级语言虚拟机 第 4 级:汇编语言虚拟机 第 3 级:操作系统虚拟机 第 2 级:机器语言(传统机器级) 第 1 级:微程序机器级 2. 翻译——(基于层次结构)先把 N+1 级程序全部变换成 N 级程序之后,再去执行 N 级程序,在执行过程中,N+1 级程序不再被访问. 3. 解释——每当一条 N+1 级指令被译码后,就直接去执行一串等效的 N 级指令,然后 再去取下一条 N+1 级指令,依此重复执行. 4. 体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性. 5. 透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存 在的概念称为透明性. 6. 系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系 列不同型号的机器. 7. 软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它 们所获得的结果一样,差别只在于运行的时间不同. 8. 兼容机——不同厂家生产的,具有相同体系结构的计算机. 9. 计算机组成——计算机体系结构的逻辑实现. 10. 计算机实现——计算机组成的物理实现. 11. 存储程序计算机(冯诺依曼结构)——采用存储程序原理,将程序和数据存放在同 一存储器中.指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的 单元地址. 12. 并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工 作. 13. 时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重 叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度. 14. 资源重复——在并行性中引入时间因素,是根据"以数量取胜"的原则,通过重复设 课 后 答 案 网 ww w. kh da w 计算机体系结构 第一章 第1页 .c o m 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 课 后 1.2 假设有一个计算机系统分为四级,每一级指令都比它下一级指令在功能上强 M 倍,即 一条 r+1 级指令能够完成 M 条 r 指令的工作,且一条 r+1 级指令需要 N 条 r 级指令解 释.对于一段在第一级执行时间为 K 的程序,在第二,第三,第四级上的一段等效程 序需要执行多少时间? 解

假设在第一级上用时间 K 执行了该级 IC 条指令. 对第二级而言,为了完成 IC 条指令的功能,第二级指令的条数为

行第二级 答 案 网 置资源,尤其是硬件资源,大幅度提高计算机系统的性能. 资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件 设备. 同构型多处理机——由多个同种类型,至少同等功能的处理机组成,同时处理同一作 业中能并行执行的多个任务的机器. 异构型多处理机——由多个不同类型,功能不同的处理机组成,串行完成同一作业中 不同任务的机器. 最低耦合——是耦合度最低的系统,除通过某种中间存储介质之外,各计算机之间没 有物理连接,也无共享的联机硬件资源. 松散耦合——一般是通过通道或通信线路实现计算机之间连接,共享某些外围设备 (例如磁盘,磁带),机器间的相互作用是在文件或数据集一级进行. 紧密耦合——一般是指机间物理连接的频带较高,它们往往通过总线或高速开关实现 互连,可以共享主存. 响应时间——从事件开始到结束之间的时间,也称执行时间. 测试程序——用于测试计算机性能的程序,可分为四类:真实程序,核心程序,小测 试程序,合成测试程序. 测试程序组件——选择一个各个方面有代表性的测试程序,组成一个通用的测试程序 集合.这个通用的测试程序集合称为测试程序组件. 大概率事件优先——此原则是计算机体系结构中最重要和最常用的原则.对于大概率 事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果 . 系统加速比——系统改进前与改进后总执行时间之比. Amdahl 定律——加快某部件执行速度所获得的系统性能加速比,受限于该部件在系 统中的所占的重要性. 程序的局部性原理——程序在执行时所访问的地址不是随机的,而是相对簇聚;这种 簇聚包括指令和数据两部分. CPI——指令时钟数(Cycles per Instruction). ww w. kh da w .c o m IC .为了执 M IC IC 条指令,需要执行 N 条第一级的指令对其进行解释,所以对于第二级 M M IC K IC T2 = M + N M IC M N = 1 + K M 而言,等效程序的执行时间是: 计算机体系结构 第一章 第2页 对于第三级而言,为了完成 IC 条指令的功能,第三级指令的条数为

执行第三级 IC .为了 M2 IC IC 条指令,需要执行 N 条第二级的指令对其进行解释.那么对第二级 2 M M2 IC IC + 2N 2 M M 而言,总的指令条数为: N = 1 + K M N T4 = 1 + K M 3 按照同样的逐层递推关系,不难求得第四级等效程序的总的执行时间为: 1.2 传统存储程序计算机的主要特征是什么?存在的主要问题是什么?目前的计算机系统 是如何改进的? 存储程序计算机在体系结构上的主要特点

(1) 机器以运算器为中心. (2) 采用存储程序原理.程序(指令)和数据放在同一存储器中,并且没有对两者加 以区分.指令和数据一样可以送到运算器进行运算,即由指令组成的程序自身 是可以修改的. (3) 存储器是按地址访问的,线性编址的空间. (4) 控制流由指令流产生. (5) 指令由操作码和地址码组成.操作码指明本指令的操作类型,地址码指明操作 数和操作结果的地址. (6) 数据以二进制编码表示,采用二进制运算. 传统存储程序计算机体系结构存在的主要问题及其改进

(1)分布的 I/O 处理能力 存储程序计算机以运算器为中心, 所有部件的操作都由控制器集中控制, 这一特 点带来了慢速输入输出操作占用快速运算器的矛盾. 为了克服这一缺点, 人们先后提出 各种输入/输出方式. (2)保护的存储器空间 把指令和数据放在同一存储器中有优缺点.现在绝大多数计算机都规定:在执行 过程中不准修改程序. (3)存储器组织结构的发展 按地址访问的存储器具有结构简单,价格便宜,存取速度快等优点.但是在数据 课 后 答 案 网 ww w. kh da w 计算机体系结构 第一章 第3页 .c o 2 m IC IC IC IC + 2 N 等 效 于 第 一 级 2 + 2 N M 条 指 令 , 同 时 还 需 要 2 M M M M IC IC M 2 + M 2 N N 条第一级指令进行解释,所以第三级等效程序的执行时间是

IC IC IC K IC T3 = 2 M + 2 N M + 2 M + 2 N N M M M IC M 而第二级 指令类型 整数 数据传送 浮点 分支 ww w. kh 1.4 对于一台 400MHz 计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟 周期数如下: da w 指令执行数量 45000 75000 8000 1500 .c o 处理时, 往往要求查找具有某种内容特点的信息. 但由于访问存储器的次数较多而影响 计算机系统的性能. 采用了通用寄存器的概念,设置高速缓冲存储器 Cache,构成了以相联存储器为 核心的相联处理机. (4)并行处理技术 传统的存储程序计算机解题算法是顺序型的, 即使问题本身可以并行处理, 由于 程序的执行受程序计数器控制,故只能是串行,顺序地执行. 如何挖掘传统机器中的并行性? 改进 CPU 的组成 在体系结构上使本来可以并行计算的题目能并行计算 多机并行处理系统 (5)指令集的发展 计算机系统指令的种类愈来愈多, 这种计算机称为复杂指令集计算机 CISC.日 趋 庞杂的指令集不但不容易实现,而且还可能降低计算机系统的性能. 把指令集设计成只包含那些使用频率高的少量指令, 并提供一些必要的指令以支持 操作系统和高级语言.按照这个原则而构成的计算机称为精简指令集计算机 RISC. m 平均时钟周期数 1 2 4 2 求该计算机的有效 CPI,MIPS 和程序执行时间. 后 解

CPI = ∑ ( IC × CPI ) / IC i i CPI = f 400 ×10 6 = = 225.225MIPS CPI ×10 6 1.776 ×10 6 程序执行时间=( 45000 × 1 + 75000 × 2 + 8000 × 4 + 1500 × 2 )/400=575s MIPS速率 = 1.5 计算机系统有三个部件可以改进,这三个部件的加速比如下

部件加速比 1=30; 部件加速比 2=20; 部件加速比 3=10; (1) 如果部件 1 和部件 2 的可改进比例为 30%,那么当部件 3 的可改进比例为多少时, 系统的加速比才可以达到 10? (2) 如果三个部件的可改进比例为 30%,30%和 20%,三个部件同时改进,那么系统 中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:在多个部件可改进情况下 Amdahl 定理的扩展: 课 45000 × 1 + 75000 × 2 + 8000 × 4 + 1500 × 2 = 1.776 129500 答 案 网 计算机体系结构 第一章 第4页 f Te = To (1 f e ) + e Se S= 1 (1 f e ) + fe Se S= i 1 (1 ∑ f i ) + ∑ i fi Si 1 式中,fi 为可加速部件 i 在未优化系统中所占的比例;Si 是部件 i 的加速比. f f f S = [1 ( f1 + f 2 + f 3 )] + 1 + 2 + 3 S1 S 2 S 3 0.3 0.3 f 3 10 = [1 (0.3 + 0.3 + f 3 )] + + + 30 20 30 1 f3 = p= 65 = 0.36 180 2.1 名词解释 1. 堆栈型机器——CPU 中存储操作数的单元是堆栈的机器. 2. 累加型机器——CPU 中存储操作数的单元是累加器的机器. 3. 通用寄存器型机器——CPU 中存储操作数的单元是通用寄存器的机器. 4. CISC——复杂指令集计算机. 5. RISC——精简指令集计算机. 2.2 堆栈型机器,累加器型机器和通用寄存器型机器各有什么优缺点? 指令集结构类型 堆栈型 优点 是一种表示计算的简单模型; 指令短小. 累加器型 减小了机器的内部状态; 指令 短小. 寄存器型 是代码生成最一般的模型. 缺点 堆栈不能被随机访问,从而很难生成有效代码.同时, 课 后 答 案 网 第二章 计算机指令集结构设计 ww w. kh 由于堆栈是瓶颈,所以很难被高效地实现. 由于累加器是唯一的暂存器,这种机器的存储器通信 开销最大. 所有操作数均需命名,且显式表示,因而指令比较长. 计算机体系结构 第一章 第5页 [1 (0.3 + 0.3 + 0.2)]T 0.3T 0.3T 0.2T + + + 0.2T 30 20 10 0 .2 = 0 .3 0 .3 0 .2 + + + 0.2 30 20 10 0.2 = 0.6 0.9 1.2 12 + + + 60 60 60 60 12 = = 0.82 14.7 da w .c o m 2.3 常见的三种通用寄存器型机器的优缺点各有哪些? 指令集结构类型 优 点 缺 点 简单,指令字长固定,是一 (0,3) 令的执行时钟周期数相近. 可以直接对存储器操作数进 (1,2) 且其目标代码较小. 和指令中含有对存储器操作数访问的结构相比, 指 寄存器-寄存器型 种简单的代码生成模型,各种指 令条数多,因而其目标代码较大. 指令中的操作数类型不同. 在一条指令中同时对一 所能够表示的寄存器个数. 由于指令的操作数可以存储 在不同类型的存储器单元, 所以每条指令的执行时钟周 期数也不尽相同. 寄存器-存储器型 行访问,容易对指令进行编码,个寄存器操作数和存储器操作数进行编码, 将限制指令 存储器-存储器型 (3,3) 是一种最紧密的编码方式, 指令字长多种多样. 每条指令的执行时钟周期数也 问题. (2) 寻址方式的设计

设置寻址方式可以通过对基准程序进行测试统计, 察看各种寻址 方式的使用频度,根据适用频度设置相应必要的寻址方式; (3) 操作数表示和操作数类型

主要的操作数类型和操作数表示的选择有, 浮点数据类 型(可以采用 IEEE 754 标准),整型数据类型(8 位,16 位,32 位的表示方法) , 字符型(8 位),十进制数据类型(压缩十进制和非压缩十进制数据表示)等等. 择. 2.5 简述 CISC 计算机结构指令集功能设计的主要目标. 从当前的计算机技术观点来看, CISC 结构有什么缺点? CISC 结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的 目的.从目前的计算机技术观点来看,CISC 结构存在以下几个缺点

(1) 在 CISC 结构的指令系统中,各种指令的使用频率相差悬殊. (2) CISC 结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加 了研制时间和成本,而且还容易造成设计错误. (3) CISC 结构的指令系统的复杂性给 VLSI 设计带来了很大负担, 不利于单片集成 . (4) CISC 结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢. (5) 在结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算 计算机体系结构 第一章 第6页 课 (5) 指令集格式的设计

有固定长度编码方式, 可变长编码方式和混合编码方式三种选 后 的域来表示. 答 (4) 寻址方式的表示

可以将寻址方式编码与操作码中, 也可将寻址方式作为一个单独 案 网 ww w. kh 2.4 指令集结构设计所涉及的内容有哪些? (1) 指令集功能设计:主要有 RISC 和 CISC 两种技术发展方向; da w .c o 无需"浪费"寄存器保存变量. 大不一样, 对存储器的频繁访问将导致存储器访问瓶颈 m 机体系结构技术(如流水技术)来提高系统的性能. 2.6 简述 RISC 结构的设计原则. (1) 选取使用频率最高的指令,并补充一些最有用的指令; (2) 每条指令的功能应尽可能简单,并在一个机器周期内完成; (3) 所有指令长度均相同; (4) 只有 Load 和 Store 操作指令才访问存储器,其它指令操作均在寄存器之间进行 (5) 以简单有效的方式支持高级语言. 2.9 通常有哪几种指令格式?简述其适用范围. (1) 变长编码格式.如果体系结构设计者感兴趣的是程序的目标代码大小,而不是 性能,就可以采用变长编码格式. (2) 固定长度编码格式.如果感兴趣的是性能,而不是程序的目标代码大小,则可 以选择固定长度编码格式. (3) 混合型编码格式.需要兼顾降低目标代码长度和降低译码复杂度时,可以采用 混合型编码格式. 2.10 为了对编译器设计提供支持,在进行指令集设计时,应考虑哪些问题? (1) 规整性. (2) 提供基本指令,而非解决方案. (3) "简化方案的折中取舍标准". 课 后 答 2.8 表示寻址方式的主要方法有哪些?简述这些方法的优缺点. 表示寻址方式有两种常用的方法

(1) 将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方 式. 这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导 致 了指令的多样性,而且增加了 CPU 对指令译码的难度. (2) 为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方 式. 这种方式译码较慢,但操作码和寻址独立,易于指令扩展. 案 网 ww w. kh da w 计算机体系结构 第一章 第7页 .c o 2.7 简述操作数的类型及其相应的表示方法. 操作数的类型主要有:整数(定点),浮点,十进制,字符,字符串,向量,堆栈等. 操作数类型有两种表示方法

(1)操作数的类型由操作码的编码指定,这也是最常见的一种方法; (2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当 的运算. m (4) "对于在编译时已经知道的量,提供将其变为常数的指令". 2.11 试就指令格式,寻址方式和每条指令的周期数(CPI)等方面比较 RISC 和 CISC 处理 机的指令系统结构. 比较内容 指令格式 寻址方式 CPI 2.12 现有如下 C 语言源代码: CISC 变长编码 各种都有 远远大于 1 RISC 定长编码 只有 load/store 指令可以访存 为1 解:(1)ADDI SW loop

LW MULT ADDI LW LW ADD R1,R0,#1 2000(R0),R1 R1,2000(R0) R2,R1,#4 R3,R2,#5000 R4, 0(R3) R5,1500(R0) R6,R4,R5 R1,2000(R0) R2,R1,#4 R7,R2,#0 0(R7),R6 R1,2000(R0) R1,R1,#1 2000(R0),R1 R1,2000(,R0) R8,R1,#-101 ; 初始化 i ; 存储 i 答 课 后 LW MULT ADDI SW LW ADDI SW LW ADDI 案 网 ; 得到 i 的值 ; R2 = B 的字偏移 ; 对 R2 加上基址 ; LD B[i]的值 ; LD C 的值 ; B[i] + C ; 得到 i 的值 ; R2 = A 的字偏移 ; 对 R2 加上基址 ;A[i] <—B[i] + C ; 得到 i 的值 ; 增加 i ;存储 i ;得到 i 的值 ;计数器是否为 101 计算机体系结构 第一章 第8页 ww w. kh for (I=0;i<=100,i++) {A[i]=B[i]+C;} 其中,A 和 B 是两个 32 位整数的数组,C 和 i 均是 32 位整数.假设所有数据的值及其 地址均保存在存储器中, 和 B 的起始地址分别是 0 和 5000.C 和 i 的地址分别是 1500 A 和 2000.在循环的两次迭代之间不将任何数据保存在寄存器中. (1)请写出该 C 语言源程序的 DLX 实现代码. (2)该程序段共执行了多少条指令. (3)程序对存储器中的数据访问了多少次? (4)DLX 代码的大小是多少? da w .c o m BNEZ R8,loop ;不是 101,重复 (2)总共执行的指令数是设置(setup)指令数加上循环中重复的指令条数

执行的指令 = 2+(16×101)=1618 为了计算数据访问的次数, 可以用循环次数乘以每次循环数据访问次数再加上设置代 码的次数

(3)数据访问次数 = 1+(8×10)×101= 809 代码大小就是程序中汇编指令数乘以 4(DLX 中每条指令占 4 字节)

(4)代码大小 = 4×18 = 72 loop

MULT ADD LW ADD ADD SW ADDI ADDI BNEZ out_of_loop: 答 后 R2,R1,#4 课 R6,R2,R4 R7, 0(R6) R8,R7,R5 R9,R2,R3 0(R9),R8 R1,R1,#1 R10,R1,#-101 R10,loop 案 网 ADDI ADDI ADDI LW R1,R0,#1 R3,R0,#0 R4,R0,#5000 R5,1500(R0) ; 初始化 i ; A 的基址 ; B 的基址 ; LD C 的值 ; 计算字偏移 ; 计算 B[i]地址 ; LD B[i]的值 ; B[i] + C ; 计算 A[i]的地址 ;A[i] <- B[i] + C ; 增加 i ;计数器是否为 101 ;不是 101,重复 ww w. kh 解:本题对上题再次讨论,只不过是在对机器代码进行基本的优化后.特别的,寄存器 中的值可以重用,并且循环变量的代码应该提到循环之外. 注意到循环下标变量 i 的值仅在最后一次循环中存储, 而且和以前一样, 变量的地址小 于 16 位,可以用立即数指令 load 地址.对 C 代码进行优化后的一个可能 DLX 代码如下: da w 计算机体系结构 第一章 第9页 .c o 2.13 参考 2.12 题,现在假设将 i 的值和数组变量的地址在程序运行过程中,只要有可能就 一直保存在寄存器中. (1)请写出该 C 语言源程序的 DLX 实现代码. (2)该程序断共执行了多少条指令. (3)程序对存储器中的数据访问了多少次? (4)DLX 代码的大小是多少? m SW 2000(R0),R1 ; 存储最后的 i 值 (2)总共执行的指令数是设置指令(setup)加上循环次数和循环指令数的乘积再加上清除 指令数(cleanup)

执行指令数 = 4 +(9×101)+1 = 914 (3)计算数据访问的次数可以用每次循环数据访问次数乘以循环次数再加上设置代码中的 数据访问

数据访问次数 = 1 + (2×101) +1 = 204 (4)代码大小是程序中汇编指令数乘以 4(DLX 中每条指令占 4 字节)

代码大小 = (4×14) = 56 2.15 对表 2.16 中的所有类型指令,通过测量其 CPI,得到如下结果: 指令 Load/Store 指令 案 网 所有的 ALU 指令 成功的条件分支指令 失败的条件分支指令 答 1.2 假设 60%的条件分支指令转移成功,同时将上题表中其它一些类别的指令(没有被包 含在上述类别中的指令)看作是 ALU 指令,请根据 gcc 和 espresso 基准程序计算上述各种 类型指令出现的平均频率,以及这两个基准程序的有效(等效)CPI. 解

上述指令所占的百分比如下表所示: 指令 所有 ALU Load/Store 指令 成功的条件分支指令 失败的条件分支指令 跳转指令 课 后 跳转指令 时钟周期 1 1.4 2.0 1.5 1.2 ww w. kh 1 2.14 读写存储器的频率,访问指令和沪剧的频率是设计存储器系统的重要依据之一.参考 表 2.16 中的整型平均指标,求

(1)所有对数据的存储器访问所占的百分比; (2)所有数据访问中读操作所占的百分比; (3)所有存储器访问中读操作所占的百分比. 解

(1) 所有对数据的存储器访问所占的比例为:26%; (2) 所有数据访问中读操作所占的比例为:74%; (3) 所有存储器访问中读操作所占的比例为:93%. da w 时钟周期 1.4 2.0 1.5 .c o 其等效 CPI 为:1×52%+1.4×31.6%+2.0×9.8%+1.5×5.2%+1.2×2.7% = 1.23 计算机体系结构 第一章 第10页 m 百分比 52% 31.6% 9.8% 5.2% 2.7% 第三章 3.1 名词解释 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 流水线技术 17. 18. 流水线——将一个重复的时序过程, 分解为若干个子过程, 而每一个子过程都可有效地 在其专用功能段上与其他子过程同时执行. 单功能流水线——只能完成一种固定功能的流水线. 多功能流水线——流水线的各段可以进行不同的连接, 从而使流水线在不同的时间, 或 者在同一时间完成不同的功能. 静态流水线——同一时间内,流水线的各段只能按同一种功能的连接方式工作. 动态流水线——同一时间内, 当某些段正在实现某种运算时, 另一些段却在实现另一种 运算. 部件级流水线——(运算操作流水线)把处理机的算术逻辑部件分段,以便为各种数据 类型进行流水操作. 处理机级流水线——(指令流水线)把解释指令的过程按照流水方式处理. 处理机间流水线——(宏流水线)由两个以上的处理机串行地对同一数据流进行处理, 每一个处理机完成一项任务. 线性流水线——指流水线的各段串行连接,没有反馈回路. 非线性流水线——指流水线中除有串行连接的通路外,还有反馈回路. 标量流水处理机——处理机不具有向量数据表示,仅对标量数据进行流水处理. 向量流水处理机——处理机具有向量数据表示, 并通过向量指令对向量的各元素进行处 理. 结构相关——某些指令组合在流水线中重叠执行时, 发生资源冲突, 则称该流水线有结 构相关. 数据相关——当指令在流水线中重叠执行时, 流水线有可能改变指令读/写操作的顺序, 使得读/写操作顺序不同于它们非流水实现时的顺序,将导致数据相关. 定向——将计算结果从其产生的地方直接送到其他指令需要它的地方, 或所有需要它的 功能单元,避免暂停. RAW——两条指令 i,j,i 在 j 前进入流水线,j 执行要用到 i 的结果,但当其在流水线 中重叠执行时,j 可能在 i 写入其结果之前就先行对保存该结果的寄存器进行读操作, 得到错误值. WAW——两条指令 i,j,i 在 j 前进入流水线,j,i 的操作数一样,在流水线中重叠执 行时,j 可能在 i 写入其结果之前就先行对保存该结果的寄存器进行写操作,导致写错 误. WAR——两条指令 i,j,i 在 j 前进入流水线,j 可能在 i 读某个寄存器之前对该寄存器 进行写操作,导致 i 读出数据错误. 3.2 简述流水线技术的特点. 课 后 答 案 网 ww w. kh da w 计算机体系结构 第一章 第11页 .c o m (1) 流水过程由多个相联系的子过程组成,每个过程称为流水线的"级"或"段" ; (2) 每个子过程由专用的功能段实现; (3) 各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈, 会造成流水线的"堵塞"和"断流"; (4) 流水线需要有"通过时间"(第一个任务流出结果所需的时间),在此之后流水 过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果; (5) 流水技术适合于大量重复的时序过程,只有在输入端能连续地提供任务,流水 线的效率才能充分发挥. 3.3 请画出 DLX 基本流水线,并简述其工作原理. 工作原理:把一条 DLX 指令在 5 个周期内实现,将每一个时钟周期看作是流水线的一 个时钟周期,硬件每个时钟周期启动一条新的指令,并执行 5 条不同指令中的某一部分.每 条指令虽仍需 5 个时钟周期完成,但提高了吞吐率,实现了流水. 3.6 降低流水线分支损失的方法有哪些? (1)在流水线中尽早判断出分支转移是否成功; (2)尽早计算出分支转移成功时的 PC 值(即分支的目标地址) "冻结"或"排空"流水线的方法 预测分支失败 预测分支成功 延迟分支 3.7 请对延迟分支办法中的三种调度策略进行评价. 1.从前调动:分支必须不依赖于被调度的指令,总是可以有效提高流水线性能. 2.从目标处调度:若分支转移失败,必须保证被调度的指令对程序的执行没有影响, 可能需要复制被调度指令. 分支转移成功时, 可提高流水线性能. 但由于复制指令 , 可能加大程序空间. 3.从失败处调度:若分支转移成功,必须保证被调度的指令对程序的执行无影响. 计算机体系结构 第一章 第12页 课 后 答 案 网 3.5 解决流水线结构相关的方法有哪些? (1) 流水化功能单元 (2) 资源重复 (3) 暂停流水线 ww w. kh 指令/时钟 I I+1 I+2 I+3 I+4 1 2 3 4 5 6 7 8 9 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB da w .c o m 分支转移失败时,可提高流水线性能. 3.8 简述三种向量处理方法,它们对向量处理机的结构要求有什么不同? 1.水平处理方式:若向量长度为 N,则水平处理方式相当于执行 N 次循环.若使用流 水线,在每次循环中可能出现数据相关和功能转换,不适合对向量进行流水处理. 2.垂直处理方式:将整个向量按相同的运算处理完毕之后,再去执行其他运算.适合 对向量进行流水处理,向量运算指令的源/目向量都放在存储器内,使得流水线运 算部件的输入,输出端直接与存储器相联,构成 M-M 型的运算流水线. 3.分组处理方式:把长度为 N 的向量分为若干组,每组长度为 n,组内按纵向方式处 理,依次处理各组,组数为 N n ,适合流水处理.可设长度为 n 的向量寄存器, 使每组向量运算的源/目向量都在向量寄存器中,流水线的运算部件输入,输出端 与向量寄存器相联,构成 R-R 型运算流水线. 3.9 有一条流水线如下所示. 入 50ns 50ns m Tpipeline = ∑ ti + ( n 1) tmax i =1 课 = (50 + 50 + 100 + 200) + 9 × 200 = 2200(ns) TP = n =1 (ns 1 ) Tpipeline 220 后 答 m ∑ t i =1 E = TP m (2)瓶颈在 3,4 段. 变成八级流水线(细分) 入 案 网 (1)求连续输入 10 条指令,该流水线的实际吞吐率和效率; (2)该流水线的瓶颈在哪一段?请采取三种不同的措施消除此"瓶颈".对于你所给 出的新流水线,计算连续输入 10 条指令时,其实际吞吐率和效率. 解:(1) i = TP 400 5 = ≈ 45.45% 4 11 ww w. kh 100ns 200ns 1 2 3 1 50ns 2 50ns 3_1 50ns 3_2 50ns 4_1 50ns m Tpipeline = ∑ ti + (n 1) tmax i =1 = 50 × 8 + 9 × 50 = 850(ns) TP = n = 1 (ns 1 ) Tpipeline 85 计算机体系结构 第一章 第13页 da w 4 4_4 50ns 出 .c o 出 m m ∑ ti E = TP i =1 m = TP 400 10 = ≈ 58.82% 8 17 变成两级流水线(合并) 入 123 200ns 4 200ns 出 m T pipeline = ∑ t i =1 i + (n 1) t max = 200 × 2 + 9 × 200 = 2200(ns) TP = n Tpipeline =1 220 (ns 1 ) 3-1 2 3-2 4-1 m E = TP i =1 m = TP 4-4 da w ∑ ti 4-3 400 10 = ≈ 90.91% 2 11 .c o 重 1 复设置部件 Stage 4_4 4_3 4_2 4_1 3_2 3_1 2 1 1 案 网 3 2 1 4 2 6 答 1 3 5 6 6 7 5 7 8 8 9 1 2 2 3 3 4 4 5 后 ww w. kh 4 8 7 6 5 8 7 9 10 10 9 10 9 10 Time 850ns TP = n = 1 (ns 1 ) Tpipeline 85 E = 400 × 10 = 10 ≈ 58.82% 850 × 8 17 3.10 一个流水线由四段组成,其中每当流经第三段时,总要在该段循环一次才能流到第 四段.如果每段经过一次的时间都是△t,问

(1)当在流水线的输入端每△t 时间输入任务时,该流水线会发生什么情况? (2)此流水线的实际吞吐率为多少?如果每 2△t 输入一个任务, 连续处理 10 个任务的 实际吞吐率和效率是多少? (3)当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理 10 个任务 时,其 吞吐率提高多少? 课 计算机体系结构 第一章 第14页 m 4-2 解:(1)会发生流水线阻塞情况. Instr.1 instr.2 instr.3 instr.4 stage1 stage2 stage1 stage3 stage2 stage1 stage3 stall stall stall stage4 stage3 stage2 stage1 stage3 stall stall stage4 stage3 stage2 stage3 stall stage4 stage3 stage3 stage4 (2) Instr.1 instr.2 instr.3 0t stage1 1t stage2 2t stage3 stage1 3t stage3 stage2 4t stage4 stage3 stage1 5t stage3 stage2 6t stage4 stage3 7t 8t stage3 stage4 Stage 4 3 2 1 1 1 2 1 1 2 3 1 2 3 4 2 2 3 4 5 3 3 4 5 6 4 4 5 6 7 5 5 6 7 8 6 6 7 8 9 7 7 8 9 8 8 9 9 ww w. kh 10 10 5 5 6 7 6 6 7 8 6 7 7 8 9 7 8 8 9 10 8 9 9 10 9 10 10 da w 9 10 10 Stage 1 1 1 1 2 1 2 3 2 2 3 案 网 4 3 2 1 2 3 3 4 4 5 3 4 4 5 答 4 5 6 Tpipeline 课 TPmax = 1 2 t = 23t Tp = n 后 Tpipeline = 10 23t E = TP 5t = 50 ≈ 54.35% 4 92 (3)重复设置部件 t 3_1 1 t 2 t 3_2 t 4 t 计算机体系结构 第一章 第15页 .c o 10 Time 23t 10 Time 23t m 1 t 2 t 3_1 t 3_2 t 4 t Stage 4 3_2 3_1 2 1 1 1 2 1 2 3 2 1 3 4 1 2 3 4 5 2 4 3 5 6 3 4 5 6 7 4 6 5 7 8 5 6 7 8 9 6 8 7 9 10 7 8 9 10 8 10 9 9 10 10 Time 14t TP = n Tpipeline = 10 14 t 7 t 23 t =5 7 t 5 10 3.11 如果流水线有 m 段,各段的处理时间分别是 ti(i=1,2,…,m),现在有 n 个任务 需要完成,且每个任务均需流水线各段实现,请计算

(1)流水线完成这 n 个任务所需要的时间; (2)和非流水线实现相比,这 n 个任务流水实现的加速比是多少?加速比的峰值是多 少? 解:(1) Tpipeline = ∑ ti + (n 1) tmax i =1 答 (2) 案 网 m 后 T nopipeline = n ∑ i=1 课 Speedup = Tnopipeline Tpipeline ww w. kh m ti m = n ∑ ti i =1 m da w i i =1 ∑ t + (n 1) t (ti = t0) Speedupmax = m n m + n 1 (n >> m, Speedup → m) 3.12 在改进的 DLX 流水线上运行如下代码序列

LOOP

LW ADDI SW ADDI R1, 0(R2) R1, R1, #1 0(R2), R1 R2, R2, #4 计算机体系结构 第一章 第16页 .c o max 吞吐率提高倍数= =1.64 m 1 2 3 4 5 6 Instruction lw r1,0(r2) IF ID EX M WB addi r1,r1,#1 IF ID S EX M sw r1,0(r2) IF S ID EX addi r2,r2,#4 IF ID sub r4,r3,r2 IF bnz r4,loop lw r1,0(r2) 案 网 第 i 次迭代(i=0..98)开始周期:1+(i×17) 总的时钟周期数:(98×17)+18=1684 (2)有正常定向路径,预测分支失败. ww w. kh 7 WB M EX ID IF 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Instruction lw r1,0(r2) IF ID EX M WB addi r1,r1,#1 IF S S ID EX M WB sw r1,0(r2) IF S S ID EX M WB addi r2,r2,#4 IF ID EX M WB sub r4,r3,r2 IF S S ID EX M WB bnz r4,loop IF S S ID EX M WB lw r1,0(r2) IF S S IF ID EX M WB da w 9 10 .c o 11 SUB R4, R3, R2 BNZ R4, LOOP 其中,R3 的初始值是 R2+396.假设:在整个代码序列的运行过程中,所有的存储器 访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过 寄存器"定向".问

(1)在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线 时空图.假设采用排空流水线的策略处理分支指令,且所有的存储器访问都可以 命中 Cache,那么执行上述循环需要多少个时钟周期? (2)假设该 DLX 流水线有正常的定向路径,请画出该指令序列执行的流水线时空图. 假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都可以命中 Cache,那么执行上述循环需要多少个时钟周期? (3)假设该 DLX 流水线有正常的定向路径,请对该循环中的指令进行调度.注意可以 重新组织指令的顺序,也可以修改指令的操作数,但是不能增加指令的条数.请 画出该指令序列执行的流水线时空图,并计算执行上述循环需要的时钟周期数? 解

(1)寄存器读写可以定向,无其他旁路硬件支持.排空流水线. m 1 后 答 13 14 15 WB M EX ID IF 课 WB M WB EX M WB miss miss IF ID EX M WB 第 i 次迭代(i=0..98)开始周期:1+(i×10) 总的时钟周期数:(98×10)+11=991 (3)有正常定向路径.单周期延迟分支. Loop

lw r1,0(r2) addi r2,r2,#4 addi r1,r1,#1 sub r4,r3,r2 bnz r4,loop 计算机体系结构 第一章 第17页 sw r1,-4(r2) 第 i 次迭代(i =0..98)开始周期:1+(i ×6 ) 总的时钟周期数:(98×6)+10=598 1 2 3 4 5 6 7 8 9 10 11 Instruction lw r1,0(r2) IF ID EX M WB addi r2,r2,#4 IF ID EX M WB addi r1,r1,#1 IF ID EX M WB sub r4,r3,r2 IF ID EX M WB bnz r4,loop IF ID EX M WB sw r1,-4(r2) IF ID EX M WB lw r1,0(r2) IF ID EX M WB 跳转和调用 5% 案 网 解:在不存在结构相关时,每条指令的平均执行时间是 1 个时钟周期,而存在上述条件 相关的情况下, 并假设条件分支预测成功, 那么无条件分支和成功的条件分支的等待时间都 是 1,而不成功地条件分支等待时间是 2 个周期;所以加速比就等于存在相关的每条指令的 平均执行时间和不存在相关的每条指令的执行时间 1 的比值: 加速比 = 1 + C = 1 + f × P分支 每条指令的平均等待时间: C = f条件分支 × P条件分支+f无条件分支 × P无条件分支 =20% × 60% × 2+20% × 40% × 1 + 5% × 1 =0.37 所以

加速比 = 1.37 3.14 CRAY-1 机器上,按照链接方式执行下述 4 条向量指令(括号中给出了相应功能部件 的时间),如果向量寄存器和功能部件之间数据传输需要 1 拍,试求此链接流水线的通 过时间是多少拍?如果向量长度为 64,则需要多少拍才能得到全部结果. V0←存储器 (从存储器中取数:7 拍) V2←V0+V1 (向量加:3 拍) V2←V2 < A3 (按(A3)左移:4 拍) V5←V3∧V4 (向量逻辑乘:2 拍) 解:通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是各功 课 后 答 ww w. kh 现有一深度为 4 地流水线(流水线有 4 段),无条件分支在第二个时钟周期结束时就被 解析出来, 而条件分支要到第三个时钟周期结束时才能被解析出来. 第一个流水段是完 全独立于指令类型的, 即所有的指令都必须经过第一个流水段的处理. 请问在没有任何 结构相关地情况下,该流水线相对于存在上述结构相关情况下地加速比是多少? P无条件分支=1stall P条件分支=2stall da w 计算机体系结构 第一章 第18页 .c o 条件分支 20%(其中 60%是成功的) m 3.13 假设各种分支所占指令数地百分比如下表所示: 能流水线由空到满的时间,具体过程如下图所示.要得到全部结果,在流水线充满之后, 向量中后继操作数继续以流水方式执行,直到整组向量执行完毕. 访存 存储器 V0 V1 V2 V3 V4 V5 向量加 左移 向量逻 辑乘 A3 T通过=(7+1)+(1+3+1)+(1+4+1)+(1+2+1)=23 (拍) T总共 = T通过+(64-1)=23+63=86 (拍) V0A 答 案 网 3.15 向量处理机有 16 个向量寄存器,其中 V0~V5 中分别存放有向量 A,B,C,D,E,F, 向量长度均为 8,向量各元素均为浮点数;处理部件采用两个单功能流水线,加法功能 部件时间为 2 拍,乘法功能部件时间为 3 拍.采用类似 CRAY-1 的链接技术,先计算 (A+B)*C,在流水线不停留的情况下,接着计算(D+E)*F. (1)求此链接流水线的通过时间为多少拍?(设寄存器入,出各需 1 拍) (2)假如每拍时间为 50ns,完成这些计算并把结果存进相应寄存器,此处理部件地实 际吞吐率为多少 MFLOPS? 解:(1)我们在这里假设 A+B 的中间结果放在 V6 中,(A+B)*C 地最后结果 放在 V7 中,D+E 地中间结果放在 V8 中,(D+E)*F 的最后结果放在 V9 中.具体实 现参考下图: V1B ww w. kh V6 da w V2C V5F .c o 向量乘 m V7 后 课 V3D V4E 向量加 V8 V9 通过时间应该为前者((A+B)*C)通过的时间

T 通过= (1+2+1)+(1+3+1) =9(拍) (2)在做完(A+B)*C 之后,作(C+D)*E 就不需要通过时间了. V6 = A + B; V7 = V6 C; V8 = D + E; V9 = V8 F; 计算机体系结构 第一章 第19页 T = T通过+(8-1) 8 = 24 + (拍) 1200(ns) = 32 TP = = 26.67MFLOPS T 第五章 存储层次 5.1 名词解释 1.存储层次——采用不同的技术实现的存储器, 处在离 CPU 不同距离的层次上, 目标是达 到离 CPU 最近的存储器的速度,最远的存储器的容量. 2.全相联映象——主存中的任一块可以被放置到 Cache 中任意一个地方. 3.直接映象——主存中的每一块只能被放置到 Cache 中唯一的一个地方. 4.组相联映象——主存中的每一块可以放置到 Cache 中唯一的一组中任何一个地方 (Cache 分成若干组,每组由若干块构成). 5.替换算法——由于主存中的块比 Cache 中的块多,所以当要从主存中调一个块到 Cache 中时,会出现该块所映象到的一组(或一个)Cache 块已全部被占用的情况.这时,需 要被迫腾出其中的某一块,以接纳新调入的块. 6.LRU——选择最近最少被访问的块作为被替换的块.实际实现都是选择最久没有被访问 的块作为被替换的块. 7.写直达法——在执行写操作时,不仅把信息写入 Cache 中相应的块,而且也写入下一级 存储器中相应的块. 8.写回法——只把信息写入 Cache 中相应块,该块只有被替换时,才被写回主存. 9.按写分配法——写失效时,先把所写单元所在的块调入 Cache,然后再进行写入. 10.不按写分配法——写失效时,直接写入下一级存储器中,而不把相应的块调入 Cache. 11.写合并——在往缓冲器写入地址和数据时, 如果缓冲器中存在被修改过的块, 就检查其 地址,看看本次写入数据的地址是否和缓冲器内某个有效块的地址匹配.如果匹配,就 将新数据与该块合并. 12.命中时间——访问 Cache 命中时所用的时间. 13.失效率——CPU 访存时,在一级存储器中找不到所需信息的概率. 14.失效开销——CPU 向二级存储器发出访问请求到把这个数据调入一级存储器所需的时 间. 15.强制性失效——当第一次访问一个块时, 该块不在 Cache 中, 需要从下一级存储器中调 入 Cache,这就是强制性失效. 16.容量失效——如果程序在执行时, 所需要的块不能全部调入 Cache 中, 则当某些块被替 换后又重新被访问,就会产生失效,这种失效就称作容量失效. 17.冲突失效——在组相联或直接映象 Cache 中,若太多的块映象到同一组(块)中,则会 出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的 情况. 18.2:1Cache 经验规则——大小为 N 的直接映象 Cache 的失效率约等于大小为 N /2 的两 路组相联 Cache 的实效率. 19.相联度——在组相联中,每组 Cache 中的块数. 20.Victim Cache——位于 Cache 和存储器之间的又一级 Cache,容量小,采用全相联策略. 用于存放由于失效而被丢弃(替换)的那些块.每当失效发生时,在访问下一级存储器 之前,先检查 Victim Cache 中是否含有所需块. 21.伪相联 Cache——一种既能获得多路组相联 Cache 的低失效率, 又能获得直接映象 Cache 课 后 答 案 网 ww w. kh da w 计算机体系结构 第一章 第20页 .c o m 存储层次 比较项目 目 的 存储管理实现 ww w. kh — Cache Cache— 5.2 简述"Cache—主存"和"主存—辅存"层次的区别. "Cache—主存"层次 da w "主存—辅存"层次 为了弥补主存容量的不足 主要由软件实现 几百比一 几百到几千个字节 均通过第一级 切换到其它进程 计算机体系结构 第一章 第21页 为了弥补主存速度的不足 全部由专用硬件实现 几比一 几十个字节 可直接访问 不切换 典型的块(页)大小 CPU 对第二级的访问方式 5.3 降低 Cache 失效率有哪几种方法?简述其基本思想. 常用的降低 Cache 失效率的方法有下面几种

(1)增加 Cache 块大小.增加块大小利用了程序的空间局部性. (2)提高相联度,降低冲突失效. (3)Victim Cache,降低冲突失效. (4)伪相联 Cache,降低冲突失效. (5)硬件预取技术,指令和数据都可以在处理器提出访问请求前进行预取. (6)由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据 被用到之前发出预取请求. (7)编译器优化,通过对软件的优化来降低失效率. 5.4 简述减小 Cache 失效的几种方法. 课 后 失效时 CPU 是否切换 答 案 网 访问速度的比值 (第一级比第二级) .c o 的命中速度的相联办法. 22.故障性预取——在预取时,若出现虚地址故障或违反保护权限,就会发生异常. 23.非故障性预取——在预取时,若出现虚地址故障或违反保护权限,不发生异常. 24.非阻塞 Cache——Cache 在等待预取数据返回时,还能继续提供指令和数据. 25.子块放置技术——把一个 Cache 块划分为若干小块,称为子块(sub-blocks),并为每 个子块赋予一位有效值,用于说明该子块中的数据是否有效.失效时,只需从下一级存 储器调入一个子块. 26.尽早重启动——在请求字没有到达时,CPU 处于等待状态.一旦请求字到达,就立即 发送给 CPU,让等待的 CPU 尽早重启动,继续执行. 27.请求字优先——调 块时,首先向存储器请求 CPU 所要的请求字.请求字一旦到达,就 立即送往 CPU,让 CPU 继续执行,同时从存储器调入该块的其余部分. 28.多级包容性——一级存储器(Cache)中的数据总位于下一级存储器中. 29.虚拟 Cache——地址使用虚地址的 Cache. 30.多体交叉技术——具有多个存储体,各体之间按字交叉的存储技术. 31.存储体冲突——多个请求要访问同一个体. 32.TLB——一个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内 容的一个副本. m (1)让读失效优先于写. (2)子块放置技术. (3)请求字处理技术. (4)非阻塞 Cache 技术. (5)采用两级 Cache, 5.7 组相联 Cache 比相同容量的之直接映象 Cache 的失效率低.由此是否可以得出结论:采 用组相联 Cache 一定能带来性能上的提高?为什么? 答:不一定.因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增 加多路选择开关. 5.8 写出三级 Cache 的平均访问时间 TA 的公式. 平均访存时间 = 命中时间+失效率×失效开销 只有第 I 层的失效时才会访问第 I+1 设三级 Cache 的命中率分别为 HL1, Hl2, HL3,失效率分别为 Ml1,Ml2,ML3,第 三级 Cache 的失效开销为 PL3. 平均访问时间 TA =HL1+Ml1{Hl2+Ml2(HL3+ML3×PL3)} 课 后 答 Cache Cache— 5.6 在"Cache—主存"层次中,主存的更新算法有哪几种??它们各有什么特点? (1) 写直达法 易于实现,而且下一级存储器中的数据总是最新的. (2) 写回法 速度块,"写"操作能以 Cache 存储器的速度进行.而且对于同一单元的多个写最 后只需一次写回下一级存储器,有些"写"只到达 Cache,不到达主存,因而所使用的 存储器频带较低. 案 网 ww w. kh da w 5.5 通过编译器对程序优化来改进 Cache 性能的方法有哪几种?简述其基本思想. (1)数组合并,通过提高空间局部性来减少失效次数.有些程序同时用相同的索引来 访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突失效,可以将这 些相互独立的数组合并成一个复合数组,使得一个 Cache 块中能包含全部所需元 素. (2)内外循环交换.循环嵌套时,程序没有按数据在存储器中的循序访问.只要简单 地交换内外循环,就能使程序按数据在存储器中的存储循序进行访问. (3)循环融合.有些程序含有几部分独立的程序断,它们用相同的循环访问同样的数 组, 对相同的数据作不同的运算. 通过将它们融合成一个单一循环, 能使读入 Cache 的数据被替换出去之前得到反复的使用. (4)分块.通过改进时间局部性来减少失效.分块不是对数组的整行或整列进行访问, 而是对子矩阵或块进行操作. 计算机体系结构 第一章 第22页 .c o m CPU time1way 直接映象 cache 的访问速度比两路组相联 cache 要快 1.04 倍, 而两路组相联 Cache 的平均性能比直接映象 cache 要高 1.003 倍.因此这里选择两路组相联. 5.10 假设一台计算机具有以下特性

(1) 95%的访存在 Cache 中命中; (2) 块大小为两个字,且失效时整个块被调入; (3) CPU 发出访存请求的速率为 109 字/秒; (4) 25%的访存为写访问; (5) 存储器的最大流量为 109 字/秒(包括读和写); (6) 主存每次只能读或写一个字; (7) 在任何时候,Cache 中 有 30%的块被修改过; (8) 写失效时,Cache 采用写分配法. 现欲给计算机增添一台外设,为此想先知道主存的频带已经使用了多少.试对于以下两 种情况计算主存频带的平均使用比例. (1)写直达 Cache; (2)写回法 Cache. 解:采用按写分配 (1)写直达 cache 访问命中,有两种情况

读命中,不访问主存; 写命中,更新 cache 和主存,访问主存一次. 访问失效,有两种情况

读失效,将主存中的块调入 cache 中,访问主存两次; 写失效,将要写的块调入 cache,访问主存两次,再将修改的数据写入 cache 课 后 答 案 网 ww w. kh 相对性能比: CPU time2way = 5.36/5.344=1.003 da w 5.9 给定以下的假设, 试计算直接映象 Cache 和两路组相联 Cache 的平均访问时间以及 CPU 的性能.由计算结果能得出什么结论? (1)理想 Cache 情况下的 CPI 为 2.0,时钟周期为 2ns,平均每条指令访存 1.2 次; (2)两者 Cache 容量均为 64KB,块大小都是 32 字节; (3)组相联 Cache 中的多路选择器使 CPU 的时钟周期增加了 10%; (4)这两种 Cache 的失效开销都是 80ns; (5)命中时间为 1 个时钟周期; (6)64KB 直接映象 Cache 的失效率为 1.4%,64KB 两路组相联 Cache 的失效率为 1.0 %. 解

平均访问时间=命中时间+失效率×失效开销 平均访问时间 1-路=2.0+1.4% *80=3.12ns 平均访问时间 2-路=2.0*(1+10%)+1.0% *80=3.0ns 两路组相联的平均访问时间比较低 CPUtime=(CPU 执行+存储等待周期)*时钟周期 CPU time=IC(CPI 执行+总失效次数/指令总数*失效开销) *时钟周期 = IC CPI 执行*时钟周期) (( +(每条指令的访存次数*失效率*失效开销*时钟周期 ) ) CPU time 1-way=IC(2.0*2+1.2*0.014*80)=5.344IC CPU time 2-way=IC(2.2*2+1.2*0.01*80)=5.36IC 计算机体系结构 第一章 第23页 .c o m 和主存,访问主存一次,共三次.上述分析如下表所示. 访问命中 Y Y N N 访问类型 读 写 读 写 频率 95%*75%=71.3% 95%*25%=23.8% 5%*75%=3.8% 5%*25%=1.3% 访存次数 0 1 2 3 访问命中 Y Y N N 块为脏 N Y N Y 频率 95%*70%=66.5% 95%*30%=28.5% 5%*70%=3.5% 5%*30%=1.5% da w 一次访存请求最后真正的平均访存次数=(71.3%*0)+(23.8%*1)+(3.8%*2)+(1.3%*3)=0.35 已用带宽=0.35×109/10 9 =35.0% (2)写回法 cache 访问命中,有两种情况

读命中,不访问主存; 写命中,不访问主存.采用写回法,只有当修改的 cache 块被换出时,才写 入主存; 访问失效,有一个块将被换出,这也有两种情况

如果被替换的块没有修改过,将主存中的块调入 cache 块中,访问主存两次; 如果被替换的块修改过,则首先将修改的块写入主存,需要访问主存两次;然后将 主存中的块调入 cache 块中,需要访问主存两次,共四次访问主存. ww w. kh 5.11 伪相联中,假设在直接映象位置没有发现匹配,而在另一个位置才找到数据(伪命中) 时,需要 1 个额外的周期,而且不交换两个 Cache 中的数据,失效开销为 50 个时钟周期. 试求

(1)推导出平均访存的时间公式. (2)利用(1)中得到的公式,对于 2KBCache 和 128KBCache,重新计算伪相联的平 均访存时间.请问哪一种伪相联更快? 假设 2KB 直接映象 Cache 的总失效率为 0.098,2 路相联的总失效率为 0.076; 128KB 直接映象 Cache 的总失效率为 0.010,2 路相联的总失效率为 0.007. 解

不管作了何种改进,失效开销相同.不管是否交换内容,在同一"伪相联"组中的两块 都是用同一个索引得到的,因此失效率相同,即:失效率伪相联=失效率 2 路. 伪相联 cache 的命中时间等于直接映象 cache 的命中时间加上伪相联查找过程中的命中 时间*该命中所需的额外开销. 命中时间伪相联=命中时间 1 路+伪命中率伪相联×1 计算机体系结构 第一章 第24页 课 后 答 所以

一次访存请求最后真正的平均访存次数=66.5%*0+28.5%*0+3.5%*2+1.5%*4=0.13 已用带宽=0.13×10 9/10 9=13% 案 网 .c o 0 0 2 4 访存次数 m 交换或不交换内容,伪相联的命中率都是由于在第一次失效时,将地址取反,再在第二 次查找带来的. 因此 伪命中率伪相联=命中率 2 路-命中率 1 路=(1-失效率 2 路)-(1-失效率 1 路) =失效率 1 路-失效率 2 路.交换内容需要增加伪相联的额外开销. 平均访存时间伪相联=命中时间 1 路+(失效率 1 路-失效率 2 路)×1 +失效率 2 路×失效开销 1 路 将题设中的数据带入计算,得到

平均访存时间2Kb=1+(0.098-0.076)*1+(0.076 *50 ) =4.822 平均访存时间 128Kb=1+(0.010-0.007)*1+(0.007 *50 ) =1.353 显然是 128KB 的伪相联 Cache 要快一些. 5.12 解: .对于理想 TLB,TLB 失效开销为 0.而对于统一 Cache, R 指令=R 数据 P 指令=主存延迟+传输一个块需要使用的时间=40+32/4=48(拍) 若为读失效,P 数据=主存延迟+传输一个块需要使用的时间=40+32/4=48(拍) 若为写失效,且块是干净的, P 数据=主存延迟+传输一个块需要使用的时间=40+32/4=48(拍) 若为写失效,且块是脏的, P 数据=主存延迟+传输两个块需要使用的时间=40+64/4=56(拍) CPI=1.5+[RP+(RP*20%)+0 ] 指令访存全是读,而数据传输指令 Load 或 Store 指令, f 数据*P 数据=读百分比*(f 数据*P 数据)+写百分比*(f 数据*P 干净数据*其对应的百分比 +f 数据*P 脏数据*其对应的百分比) =20%*(75%×48+25%*(50%*48+50%*(48+16)))=50(拍) 代入上述公式计算出结果为: 课 后 存储停顿周期数 取指令停顿 数据访问停顿+TLB停顿 = + 指令数 指令数 指令数 停顿周期数 存储访问 = × 失效率 × 失效开销 指令数 指令数 存储停顿周期数 TLB停顿 = (R 指令 P指令 )+(f 数据 R 数据 P数据)+ 指令数 指令数 答 案 网 ww w. kh CPI=CPI 执行+存储停顿周期数/指令数 存储停顿由下列原因引起

从主存中取指令 Lload 和 Store 指令访问数据 由 TLB 引起 da w 计算机体系结构 第一章 第25页 .c o 假设采用理想存储器系统时的基本 CPI 是 1.5, 试利用表 5.5 , 分别对于下述三种 Cache 计算 CPI

(1) 16KB 直接映象统一 Cache,采用写回法; (2) 16KB 两路组相联统一 Cache,采用写回法; (3) 32KB 直接映象统一 Cache,采用写回法. m 配置 16KB 直接统一映象 16KB 两路统一映象 32KB 直接统一映象 失效率 0.029 0.022 0.020 CPI 2.95 2.6 2.5 第六章 输入输出系统 6.1 假设一台计算机的 I/O 处理占 10%,当其 CPU 性能改进到原来的 100 倍时,而 I/O 性能 仅改进为原来的两倍时,系统总体性能会有什么改进? 解

加速比= 1 = 7.14 10% / 2 + 90% / 10 6.2 假设磁盘空闲,这样没有排队延迟;公布的平均寻道时间是 9ms,传输速度是 4MB/s, 转速是 5400r/min,控制器的开销是 1ms.问读或写一个 512 字节的扇区的平均时间是多 少? 解

平均磁盘访问时间 = 平均寻道时间 + 平均旋转延迟 + 传输时间 + 控制器开销 0.5 0.5KB + + 1ms = 9 + 5.6 + 0.125 + 1 = 15.725m 5400r/min 4.0MB/s s 假设实际测得的寻道时间是公布值的 33%,则答案是

9ms + 3ms + 4.2ms + 0.1ms + 1ms = 8.3ms 6.3 按表 6.2 中的数据,问用哪种磁盘最适合于建立 100GB 的镜像盘阵列(RAID1)存储子 系统?又问哪种磁盘最适合于建立 100GB 的镜像盘阵列(RAID5)存储子系统? 6.4 盘阵列有哪些分级?各有什么特点? RAID0 亦称数据分块,即把数据分布在多个盘上,实际上是非冗余阵列,无冗余信息. RAID1 亦称镜像盘,使用双备份磁盘.每当数据写入一个磁盘时,将该数据也写到另一 个冗余盘,这样形成信息的两份复制品.如果一个磁盘失效,系统可以到镜像盘中 获得所需要的信息.镜像是最昂贵的解决方法.特点是系统可靠性很高,但效率很 低. RAID2 位交叉式海明编码阵列.原理上比较优越,但冗余信息的开销太大,因此未被广 泛应用. RAID3 位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列.即数据以位或字节交叉的 方式存于各盘,冗余的奇偶校验信息存储在一台专用盘上. 计算机体系结构 第一章 第26页 课 后 答 案 网 ww w. kh da w .c o 本题再次反映了 Amdahl 定律, 要改进一个系统的性能要对各方面性能都进行改进, 不然系统中最慢的地方就成为新系统的瓶颈. m RAID4 专用奇偶校验独立存取盘阵列.即数据以块(块大小可变)交叉的方式存于各盘,冗 余的奇偶校验信息存在一台专用盘上. RAID5 块交叉分布式奇偶校验盘阵列,是旋转奇偶校验独立存取的阵列.即数据以块交 叉的方式存于各盘, 但无专用的校验盘, 而是把冗余的奇偶校验信息均匀地分布在 所有磁盘上. RAID6 双维奇偶校验独立存取盘阵列.即数据以块(块大小可变)交叉的方式存于各盘,冗 余的检,纠错信息均匀地分布在所有磁盘上.并且,每次写入数据都要访问一个数 据盘和两个校验盘,可容忍双盘出错. RAID7 是采用 Cache 和异步技术的 RAID6,使响应速度和传输速率有了较大提高. 6.5 磁带作为海量档案存储设备,平均每个磁带的读者很少.假设一个系统中,磁带读取速 率为 9MB/s,更换一个磁带需要 30s,请计算 10 个读者全部读完 6000 个磁带,需要多 长时间? 6.7 6.9 在有 Cache 的计算机系统中, 进行 I/O 操作时, 会产生哪些数据不一致问题?如何克服? (1)存储器中可能不是 CPU 产生的最新数据 , 所以 I/O 系统从存储器中取出来的是陈 旧数据. (2)I/O 系统与存储器交换数据之后,在 Cache 中,被 CPU 使用的可能就会是陈旧数 据. 第一个问题可以用写直达 Cache 解决. 第二个问题操作系统可以保证 I/O 操作的数据不在 cache 中.如果不能,就作废 Cache 中相应的数据. 6.10 假设在一个计算机系统中: 计算机体系结构 第一章 第27页 课 后 6.6 同步总线和异步总线各有什么优缺点?总线的主要参数有哪些?各是什么含义? 同步总线上所有设备通过统一的总线时钟进行同步.同步总线成本低,因为它不需 要设备之间相互确定时序的逻辑.但是同步总线也有缺点,总线操作必须以相同的速度 运行.由于各种设备都要精确地以公共时钟为定时参考,因此在时钟频率很高时容易产 生时钟相对漂移错误. 异步总线上的设备之间没有统一的时钟,设备自己内部定时.设备之间的信息传送 用总线发送器和接收器控制.异步总线容易适应更广泛的设备类型,扩充总线时不用担 心时钟时序和时钟同步问题.但在传输时,异步总线需要额外的同步开销. 总线常用的参数有 3 个

(1)Tp:总线信号传输延迟.即在总线上的每个设备都取到和识别一个信号需要的最 大时间. (2)Tsk:响应其它设备的最大时间,这个参数在同步总线中是一个重要的参数. (3)Top:设备的操作时间. 答 案 网 ww w. kh da w .c o m 每页为 32KB,Cache 块大小为 128 字节; 对应新页的地址不在 Cache 中,CPU 不访问新页中的数据; Cache 中 95%的被替换块将再次被读取,并引起一次失效; Cache 使用写回方法,平均 60%的块修改过; I/O 系统缓冲能够存储一个 Cache 完整的块 (这称为速度匹配缓冲区, 使存储器和 I/O 的速度得到匹配); (6) 访问或失效在所有的 Cache 中均匀分布; (7) 在 CPU 和 I/O 之间,没有其它访问 Cache 的干扰; (8) 无 I/O 时,每 100 万个时钟周期中,有 18000 次失效; (9) 失效开销是 40 个时钟周期.如果替换块被修改过,则再加上 30 个周期用于写回主 存; (10)假设机器平均每 200 万周期处理 1 页. 分析 I/O 对于性能的影响有多大? (1) (2) (3) (4) (5) 解:每个主存页有 32K/128=256 块. 因为是按块传输, 所以 I/O 传输本身并不引起 Cache 失效. 但是它可能要替换 Cache 中的有效块. 如果这些被替换块中有 60%是被修改过的, 将需要 (256×60% ) ×30=4608 个时钟周期将这些被修改过的块写回主存. 这些被替换出去的块中,有 95%的后继需要访问,从而产生 95%×256=244 次失 效,将再次发生替换.由于这次被替换的 244 块中数据是从 I/O 直接写入 Cache 的,因 此所有块都为被修改块,需要写回主存(因为 CPU 不会直接访问从 I/O 来的新页中的数 据,所以它们不会立即从主存中调入 Cache),需要时间是 244×(40+30)=17080 个 时钟周期. 没有 I/O 时,每一页平均使用 200 万个时钟周期,Cache 失效 36000 次,其中 60% 被修改过,所需的处理时间为

(36000×40%)×40+(36000×60%)×(40+30)=2088000(时钟周期) 时钟 I/O 造成的额外性能损失比例为 (4608+17080)÷(2000000+2088000)=0.53% 即大约产生 0.53%的性能损失. 课 后 答 案 网 ww w. kh da w 计算机体系结构 第一章 第28页 .c o m

第一篇:计算机系统结构

第一章 计算机系统结构概论 一、填空题 1 、实现程序移植的主要途径有统一高级语言、系列机、 ( 模拟 )和( 仿 真 ) 。

2、系统软件兼容必须做到向(后)兼容,尽可能争取向(上)兼容。

3、开发并行性是为了并行处理,并行性又包括有(同时性)和(并发性)二重含义。

4、 提高计算机系统并行性的主要技术途径有 ( 时间重叠 ) 资源重复和 、 ( 资源共享 ) 。

5、 数组多路通道宜于连接多台(高)速设备,通道“数据宽度”为(定长块 ) 。

6 、Cache 存储器采用组相联的映象规则是组间( 直接 )映象,组内各块间( 全相联 ) 映象。

7、自定义数据表示又分(带数据标志符 )数据表示和(数据描述符)数据表示。

二、选择题 1、汇编语言源程序变换成机器语言目标程序是经过(D)来实现的。

A 编译程序解释 B 汇编程序解释 C 编译程序翻译 D 汇编程序翻译 2、直接执行微指令的是 ( D ) A 汇编程序 B 编译程序 C 微指令程序 D 硬件 3、对机器语言程序员透明的是(B) A 中断字 B 主存地址寄存器 C 通用寄存器 D 条件码 4 、在系统结构设计中,提高软件功能实现的比例会( C ) A 提高解题速度 B 减少需要的存储容量 C 提高系统的灵活性 D 提高系统的性价比 5 、磁盘外部设备适合于连接

( B ) A 字节多路通道或选择通道 B 数组多路通道或选择通道 C 数组多路通道或字节多路通道 D 任意一种通道 6 、系列机软件应做到 ( A ) A 向后兼容,力争向上兼容 B 向前兼容,并向上兼容 C 向前兼容,并向下兼容 D 向后兼容,力争向下兼容 7、块冲突概率最高的 Cache 地址映象方式是

B ) ( A 段相联 B 直接 C 组相联 D 全相联 8、对系统程序员不透明的应当是

( C ) A Cache 存储器 B 系列机各档不同的数据通路宽度 C 虚拟存储器 D 指令缓冲寄存器 9、计算机系统结构不包括

(A) A 主存速度 B 机器工作状态 C 信息保护 D 数据表示 10、 组相联映象,LRU 替换的 Cache 存储器,不影响 Cache 命中率的是( D )

A 增加 Cache 中的块数 B 增大组的大小 C 增大块的大小 D 增大主存容量 11 、与全相联映象相比,组相联映象的优点是

( A ) A 目录表小 B 块冲突概率低 C 命中率高 D 主存利用率高 12、 流水机器对全局性相关的处理不包括

( A ) A 设置相关专用通路 B 提前形成条件码 -1- C 加快短循环程序的执行 D 猜测法 三、名词解释

1、 层次结构:由高到低分别为应用语言机器级、高级语言机器级、汇编语言机器级、操作 系统机器级、传统机器语言机器级和微程序机器级。

2、 计算机系统结构:它是软件和硬件/固件的交界面,是机器语言、汇编语言程序设计者, 或编译程序设计者看到的机器物理系统的抽象。所以,计算机系统结构研究的是软、硬 件之间的功能分配以及对传统机器级界面的确定,提供机器语言、汇编语言程序设计者 或编译程序生成系统为使其设计或生成的程序能在机器上正确运行应看到和遵循的计 算机属性。

3、 计算机实现:指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构。它 着眼于器件技术和微组装技术,其中,器件技术在实现技术中起着主导作用。

四、简答

1、 说明计算机系统结构、计算机组成与计算机实现之间的互相关系与影响。

计算机系统结构、组成与实现三者互不相同,但又相互影响。

相同结构的计算机,可以因速度不同而采用不同的组成;同样,一种组成可有多种不同 的实现方法,这取决于要求的性能价格比及器件技术情况;反过来,不同的组成也会影响结 构的设计。正因为如此,系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多 更好的支持,同时要考虑可能采用和准备采用的组成技术,这样结构才有生命力。

组成设计向上决定于结构,向下受限于实现技术,组成和实现的权衡取决于器件来源、 厂家技术特长和性能价格比能否优化。

应当在当时器件技术条件下, 保证价格不增或只增很 少的情况下尽可能地提高速度。

2、 开发计算机系统并行性的主要技术途径有那三个? 时间重叠、资源重复和资源共享。

、 时间重叠是在并行性概念中引入的时间因素,让多个处理过程在时间上相互错开,轮流 重叠地使用同一套硬件设备的各个部分,加快硬件周转来赢得速度。

资源重复是在并行性概念中引入空间因素,通过重复设置硬件资源来提高可靠性或性 能。

资源共享是用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高资源利 用率,相应地也就提高了系统的性能。

五、预测(选择或填空) 1、计算机系统的定量设计遵循的原理(哈夫曼压缩原理)(Amdahl 定律)和(程序访问的 、 局部性定律) 。

2、库克将计算机系统分成四类

单指令流单执行流——典型的单处理机系统; 单指令流多执行流——带多操作部件的处理机; 多指令流单执行流——带指令级多道程序的单处理机; 多指令流多执行流——典型的多处理机系统。

3、 如果多台计算机经总线或高速开关互联,共享主存,有较高的信息传输速率,可实现数 据集一级、任务级、作业级并行,则称此系统为(紧密耦合系统) 。 作文-2- 第二章 数据表示、 数据表示、寻址方式与指令系统 一、填空题 1、引入数据表示的两条原则是:一看系统效率是否提高,二看数据表示的(通用性)和(利 用性)是否提高。

2、浮点数尾数基值减少,可使数的可表示比(增大) 。

3、 寻址方式在指令中的两种指明方式是 (用操作码位指明) (地址部分设寻址方式指明) 和 。

4、数据宽度中的( 定长块宽度 ) 适合于磁盘等高速设备, 通道中的( 数组多路通道 ) 适合于连接多台像磁盘等高速设备。

5、 FIFO、OPT 和 LRU 算法中,属于堆栈型的替换算法是( OPT )和( LRU) 。

6 、同时解释相邻两条或多条指令,常用控制方式是( 重叠 )和( 流水 ) 。

7、 按静态使用频度改进机器指令系统着眼于( 缩短目标程序占用空间 )和( 减少目标 程序的执行时间 ) 。

8、 计算机系统的 3T 性能目标是 (1TFLOPS) 计算能力、 1TByte 的主存容量、( 1TByte /s) 的 I/O 带宽。

9、阵列机开发并行性的途径是(资源重复) ,是利用并行性中的(同时性) 。

10、从计算机执行程序的并行性看,从低到高的并行性等级可分为(指令内部) 、指令之间、 (任务或进程间)和作业或程序间四级。

二、选择题 1、 与流水线吞吐率高低有关的是

( C ) A 各个子过程的时间 B 最快子过程的时间 C 最慢子过程的时间 D 最后子过程的时间 2 、程序员编写程序使用地址是

( B ) A 主存地址 B 逻辑地址 C 物理地址 D 有效地址 3、外设打印机适合于连接到

( B ) A 数组多路通道 B 字节多路通道 C 选择通道 D 任意一种通道 4、 浮点数尾数的基值增大,不会出现下列哪个后果

C ) ( A 可表示数的范围增大 B 表示数的精度变小 C 可表示数的精度增加 D 运算速度提高 5、 对机器语言程序员透明的是

( B ) A 中断字 B 主存地址寄存器 C 通用寄存器 D 条件码 6、在计算机系统设计中,比较好的方法是

(D) A 从上向下设计 B 从下向上设计 C 从两头向中间设计 D 从中间开始向上、向下设计 7、多处理主要实现的是(B) 。

A 指令级并行 B 任务级并行 C 操作级并行 D 操作步骤的并行 8、流水机器对全局性相关的处理不包括

( D ) A 猜测法 B 提前形成条件码 C 加快短循环程序的执行 D 设置相关专用通路 9 、机器通路出错引起的中断是

( A ) A 机器校验中断 B 访管中断 C 外中断 D 程序性中断 10、在流水机器中,全局性相关是指

( D ) A 先写后读相关 B 先读后写相关 C 指令相关 D 由转移指令引起的相关 11、块冲突概率最高的 Cache 地址映像方式是 ( C ) -3- A 段相联 B 组相联 C 直接 D 全相联 12、 CRAY-1 机启动存储器、流水部件及寄存器打入各需 1 拍,“加”6 拍,“乘”7 拍, “访存”6 拍。现有向量指令串:V3<-存储器、V4<-V0+V1、V2<-V4*V3,向量长度均为 N, 则指令串最短的执行时间是 ( D ) A N+19 B N+18 C N+17 D N+16 13、在尾数下溢处理方法中,平均误差最大的是(A) 。

A 截断法 B 舍入法 C 恒置“1”法 D ROM 查表法 14、程序员编写程序时使用的地址是(B) 。

A 有效地址 B 逻辑地址 C 辅存实地址 D 主存地址 三、名词解释 1、数据表示:指的是能由机器硬件直接识别和引用的数据类型。

2、哈夫曼压缩:当各种事件发生的概率不均等时,采用优化技术,对发生概率最高的事件 用最短的位数(时间)来表示(处理) ,而对出现概率较低的事件允许用较长的位数(时间) 来表示(处理) ,就会使表示(处理)的平均位数(时间)缩短。

3、RISC(精简指令系统)

①设计风格着重于经典, 只向编程程序提供低级的原语操作, 编译器可以通过复合这些简单 的基本操作来代替复杂操作,简单的原语操作可设计在一个机器周期中完成。

②不是简单的把指令系统进行简化,而是通过简化指令的途径是计算机的结构更加简单合 理,以减少指令的周期数,从而提高运算速度。

4、CISC(复杂指令系统) :设计风格力图减少机器语言与高级语言的语义差距,使源程序长 度尽可能的短,以及尽可能少的访问存储器和执行尽可能少的指令,以求获得高性能。

四、课后题 2-2、 (只要第一问)标识符数据表示与描述符数据表示有何区别? 在标识符数据表示中,标识符是与每个数据相连的,并且合存在同一个存储单元中,用 于描述单个数据的类型等属性;在描述符数据表示中,数据描述符是与数据分开独立存放 的,主要是用于描述成块数据的类型属性、地址及其他信息。

2-12、书后有答案 2-17、设计 RISC 机器的一般原则及可采用的基本技术有哪些? 原则:精简指令的条数;简化指令的格式,让指令字等长,并让所有指令都在一个机器周期 执行完;扩大机器中通用寄存器的个数,只让存、取两类指令可以访存,其他的指令一律只 能对寄存器进行操作;指令的实现以组合电路硬联实现为主,少量指令可采用微程序解释; 精心设计高质量的编译程序来优化支持高级语言程序的实现。

技术:按设计 RISC 机器的一般原则来精选和优化设计指令系统;逻辑上采用硬联组合电路 为主,适当辅以微程序控制来实现;在 CPU 内设置大量的寄存器,并采用重叠寄存器组的窗 口;指令采用重叠和流水的方式解释,并采用延迟转移;采用高速缓冲存储器 Cache 缓冲指 令和数据。

五、预测 高级数据表示:自定义数据表示、向量数组数据表示、堆栈数据表示 -4- 存储、中断、 第三章 存储、中断、总线和 I/O 系统 一、填空选择(参考) 1,对存储系统的基本要求是:大容量 高速度 低价格 大容量、高速度 低价格。

大容量 高速度和低价格 2,CPU 中止正在执行的程序,转去处理随机提出的请求,待处理完毕后,再回到原先被打 断的程序继续恢复执行的过程称为中断 响应和处理各种中断的软、 中断。

硬件总体称为中断系统 中断系统。

中断 中断系统 3,机器校验 机器校验中断是告诉程序发生了设备故障。

机器校验 4,中断系统的软、硬件功能分配实质是中断处理程序软件 中断响应硬件的功能分配 中断处理程序软件和中断响应硬件的功能分配。

中断处理程序软件 中断响应硬件的功能分配 5,从发出中断请求到进入中断处理程序的中断响应时间是中断系统的重要性能指标,它主 要取决于交换 PSW 的时间 的时间。

交换 6,数据线根数决定同时传送的数据位数,即数据通路宽度 数据通路宽度。

数据通路宽度 系统级;总线按信息传送的方向来说,可以有 7,总线按在系统中的位置分芯片级、板级 系统级 芯片级、 芯片级 板级和系统级 单向传输和双向传输 双向传输两种(双向传输又有半双向和全双向的不同) ;总线按用法可分为专用 单向传输 双向传输 专用 和非专用 非专用两类。

非专用 8,总线的控制机构基本集中在一起,不论是在连接到总线的一个部件中,还是在单独的硬 件中,都称为集中控制 集中控制。而总线控制逻辑分散在连到总线的各个部件时,就称为分布式总线 集中控制 分布式总线 串行链接, 控制。优先次序的确定可以有串行链接,定时查询 独立请求 3 种不同的方式,也可以是 串行链接 定时查询和独立请求 它们的结合。

9,总线的通信技术基本分为同步通信 异步通信 同步通信和异步通信 同步通信 异步通信两种方式。

10,输入/输出系统包括输入/输出设备 设备控制器 输入/输出操作有关的 、硬件 输入/ 设备控制器与输入 硬件。

输入 输出设备、设备控制器 输入/ 11,输入/输出系统的发展经历了 3 个阶段,相应对应于 3 种方式,即程序控制 I/O 直接 程序控制 I/O、直接 存储器访问及 处理机方式。

存储器访问 I/O 处理机 二、名词解释 1,非专业总线 非专业总线:可以被多种功能或多个部件所分时共享,同一时间只有一对部件可使用总 非专业总线 线进行通信。

2,中断响应次序 中断响应次序:在同时发生多个不同中断类的中断请求时,中断响应硬件中的排队器所 中断响应次序 决定的响应次序。

3,数据宽度 数据宽度:I/O 设备取得 I/O 总线后所传送数据的总量。

数据宽度 4,通道流量 通道流量:通道在数据传送期内,单位时间内传送字节数。

通道流量 5,中断处理次序 中断处理次序:中断的处理要由中断处理程序来完成,而中断处理程序在执行前或执行 中断处理次序 中是可以被中断的。

一般在处理某级中的某个中断请求时, 与它同级的或比它低一级的中断 请求是不能中断它的处理的。

只有比它高一级的中断请求才能中断其处理, 等响应和处理完 后再继续处理原先的那个中断请求。

注意:中断响应次序和中断处理程序是重点 注意 中断响应次序和中断处理程序是重点还有可能考简答题,比如说二者异同点,这时 中断响应次序和中断处理程序是重点 候把两者概念搬上去就可以了,答完中断响应次序后,中间加一句话“中断处理次序不同于 中断响应次序” ,然后再答中断处理次序,嗯…… 三、应用题 课后 3-5 第一问。

建议

另外大题 3-6,3-14 看一下,书后有参考答案。 -5- 第四章 存储体系 一、填空选择 1、评价存储器性能的基本要求是(大容量)(高速度)和低价格。

、 2 、Cache 存储器采用组相联的映象规则是组间(直接)映象,组内各块间(全相联)映象。

3、块冲突概率最高的 Cache 地址映象方式是

B ) ( A 段相联 B 直接 C 组相联 D 全相联 4、对系统程序员不透明的应当是

C ) ( A Cache 存储器 B 系列机各档不同的数据通路宽度 C 虚拟存储器 D 指令缓冲寄存器 5、 组相联映象,LRU 替换的 Cache 存储器,不影响 Cache 命中率的是( D )

A 增加 Cache 中的块 数 B 增大组的大 C 增大块的大 D 增大主存容量 6 、与全相联映象相比,组相联映象的优点是

A ) ( A 目录表小 B 块冲突概率低 C 命中率高 D 主存利用率高 7、 FIFO、OPT 和 LRU 算法中,属于堆栈型的替换算法是( OPT )和( LRU) 。

8、块冲突概率最高的 Cache 地址映像方式是( C ) A 段相联 B 组相联 C 直接 D 全相联 二、名词解释 1.程序的局部性

它包括时间上的局部性和空间上的局部性。

前者指的是在最近的未来要用 到的信息很可能是现在正在使用的信息。

后者指的是在最近的未来要用到的信息很可能是与 现在正在使用的信息在程序空间上是邻近的。P102 2.段页式存储:段页式存储是把实存机械分成固定大小的页,程序按模块分段,每个段又分 成与主存页面大小相同的页。P108 3.组相联映像:组相联映像指的是各组之间是直接映像,而组内各块之间是全相联映像。

三、课后题 4-4 某虚拟存储器共有 8 个页面,每页为 1024 个字,实际主存为 4096 个字,采用页表法进 行地址映像。映像表内容如下: (1) 列出会发生页面失效的全部虚页号; 发生页面失效的全部虚页号就是页映像表中所有装入位为“0”所对应的虚页号的集 合:2,3,5,7。

(2) 按一下虚地址计算主存实地址:0,3728,1023,1024,2055,7800,4096,6800 -6- 4-14 有一个 Cache 存储器。贮存共分 8 个块(0~7) ,Cache 为 4 个块(0~3) ,采用组相联 映像,组内块数为 2 块,替换算法为近期最久未用过算法(LRU) 。

( 1 ) 画 出 主 存 、 Cache 地 址 的 各 字 段 对 应 关 系 ( 标 出 位 数 ) 图 ; (2)画出主存、Cache 空间块的映像的对应关系示意图; 主存的 0、1、4、5 块只可映像装入或替换掉物理 Cache 中的第 0、1 块内容。主存的第 -7- 2、3、6、7 块只可映像装入或替换物理 Cache 中的第 2、3 块内容。

(3) 对于如下主存块地址流:1,2,4,1,3,7,0,1,2,5,4,6,4, 7,2,如果 主存中内容一开始未装入 Cache 中,请列出 Cache 中各块随时间的使用情况; 程序运行时,由给出的主存块地址流可得到 Cache 中各块的使用情况,下表所示。

表中“*”的是候选替换块的块号。 (4) 对于(3) ,指出快失效又发生块争用的时刻; 6、7、9、10、11、12、14、15 (5) 对于(3) ,求出此期间 Cache 之命中率。

命中率 Hc=3/15=0.2 四、自己总结

1.基本的两级存储体系是虚拟存储器和 cache 存储器。P101 2.虚拟存储器的管理方式:段式、页式、段页式。P104 3.LRU 算法的全硬实现方法:堆栈法、比较对法。P132 4.三级存储层次:cache-主存-辅存。P139 -8- 第 5 章 流水和指令级高度并行的超级机 一、名词解释 超标量处理机:一个时钟周期内能够同时发送多条指令的流水机。

超标量处理机 超流水线处理机:一个时钟周期内能够多时发送多条指令的流水机。

超流水线处理机 二、简答 流水处理的主要技术途径是什么?静态流水线和动态流水线有哪些相同点和不同点? 流水处理的主要技术途径是什么?静态流水线和动态流水线有哪些相同点和不同点? 答:有向下扩展和向上扩展的思路。向下扩展指的是把子过程进一步细分,让每个子过程经 过的时间都同等程度地减少, 吞吐率就会进一步提高; 向上扩展可以理解为在多个处理机之 间流水。

静态流水线在某一时间内各段只能按一种功能连接流水, 只有等流水线全部流空后才能切换 成按另一种功能连接流水;动态流水线的各功能段在同一时间内可按不同运算或功能连接。

静态流水线是功能负担较多地加到软件上, 以简化硬件控制; 动态流水线则是把功能负担较 多地加到硬件控制上,以提高流水的效能。

为提高流水线效率可采用哪两种主要途径来克服速度瓶颈? 为提高流水线效率可采用哪两种主要途径来克服速度瓶颈? 答:消除瓶颈的一种方法是将瓶颈子过程再细分;另外可以通过重复设置多套瓶颈段并联, 让它们交叉并行。

三、课后题 5-1 设指令的解释分取指、分析与执行 3 步,每步的运行时间分别各为 t 取指,t 分析,t 执行,. t t (1)分别计算下列几种情况下,执行完 100 条指令所需要的一般关系式

1)顺序方式。

2)仅”执行 K”与”取指 K+1”重叠。

3)仅”执行 K”,”分析 K+1”与”取指 K+2”重叠. (2)分别在 t 取指=t 分析=2,t 执行=1 和取指,执行时间为 t t t 下,计算出上述的结果. 解

(1)执行 100 条指令的关系式

① 顺序方式

100*(t 取指+t 分析+t 执行) t t t ②仅”执行 K”与”取指 K+1”重叠: 取指=t 分析=5,t 执行=2 t t 两种情况 t 取指+100 t 分析+99*max{ t 取指,t 执行}+ t 执行 t ③仅”执行 K”,”分析 K+1”与”取指 K+2”重叠: t 取指+max{ t 分析,t 取指}+98*max{ t 取指,t 分析,t 执行}+max{ t 执行,t 分析}+ t 执 t t t t 行 (2)当 t 取指=t 分析=2,t 执行=1 时, t t 方式①工作时是 500,方式②工作时是 401,方式③工作时是 203 当 t 取指=t 分析=5,t 执行=2 时, t t 方式①工作时是 1200,方式②工作时是 705,方式③工作时是 510 5-3 有一个浮点乘流水线如图 a 所示, 其乘积可直接返回输入端或暂存于相应缓冲寄存器中, 画出实现 A×B×C×D 的时空图以及输入端的变化,并求出流水线的吞吐率和效率;当流 水线改为图 b 所示的形式实现同一计算时,求该流水线的效率及吞吐率。 -9- ⊿t 操作数 阶加 3⊿t 尾乘 图(a) 3⊿t ⊿t 规格化 积 ⊿t 阶加 尾乘1 3⊿t 尾乘2 3⊿t 尾乘3 图(b) ⊿t 规格化 积 解:按照图 a 组织的时空图: 吞吐率

Tp = 3 13 t 效率:η = 3× 5 t 5 = 3 × 13 t 13 流水线按图 b 组织的时空图: 吞吐率

Tp = 3 11 t 效率:η = 3× 5 t 3 = 5 × 11 t 11 5-12 求向量 D=A×(B+C) ,各向量元素个数均为 N,参照 CRAY-1 方式分解为 3 条向量指令: - 10 - ①V3←存储器{访存取 A 送入 V3 寄存器组} ②V2←V0+V1{B+C→K} ③V4←V2×V3{K×A→D} 当采用下列 3 种方式工作时,各需多少拍才能得到全部结果? (1)①、②和③串行执行; (2)①和②并行执行后,再执行③; (3)采用链接技术。

(1)①、②和③串行执行时间:7+N+7+N+8+N=22+3N(拍) (2)①和②并行与③串行

? ?7 + N ? ? + 8 + N = 15 + 2 N (拍) ?7 + N ? (3)链接技术

? ? 1 + 6+1 ? ? + 8 + N=16 + N(拍) ?1 + 6 + 1 ? 考试题型

考试题型

名词解释 填空题 选择 简答 应用题 3 分*5 个 1 分*10 个 1 分*10 个 5 分*5 个 10 分*2 个 - 11 -

计算机系统结构》出自:金链花美文网
链接地址:http://www.nongyeqq.com/content/kWOWONPTcfPVTZDk.html

网站地图 | 关于我们 | 联系我们 | 广告服务 | 免责声明 | 在线留言 | 友情链接 | RSS 订阅 | 热门搜索
版权所有 金链花美文网 www.nongyeqq.com

计算机系统结构