系统结构复习汇总.docx
- 文档编号:8459529
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:25
- 大小:195.67KB
系统结构复习汇总.docx
《系统结构复习汇总.docx》由会员分享,可在线阅读,更多相关《系统结构复习汇总.docx(25页珍藏版)》请在冰豆网上搜索。
系统结构复习汇总
总复习
第一章
1.计算机系统结构、组成、实现的基本概念和包含的内容;系统结构与软硬件功能划分的关系;计算机系统的多级层次结构;判断某项内容属于结构、组成、实现的哪一类;判断某项内容针对不同程序员的透明性。
2.促进系统结构发展的因素(软件、应用、器件)。
软件:
实现软件可移植性的方法;系列机的概念;软件兼容的概念(向前、向后、向上、向下兼容);模拟与仿真技术的概念;
应用:
应用对系统结构的要求。
器件:
系统结构下移的概念。
3.计算机系统的分型与分类的概念。
Flynn分类法
4.系统结构设计的定量原理(Amdahl定理);加速比的计算方法;
5.程序访问的局部性原理(时间局部性、空间局部性);判断系统结构中局部性原理的应用。
6.系统评价的指标(响应时间、CPU时间、MIPS、MFLOPS);运用CPU性能公式、平均CPI比较系统性能。
7.并行性的概念;并行性的等级、粒度;并行性的开发策略(时间重叠、资源重复、资源共享);
8.计算机系统的主要设计方法
部分习题参考答案:
1.6解:
(1)CPI=(45000×1+75000×2+8000×4+1500×2)/129500=1.776
(2)MIPS速率=f/CPI=400/1.776=225.225MIPS
(3)程序执行时间=(45000×1+75000×2+8000×4+1500×2)/400×106
=5.75×10-4s=0.575ms=575μs
1.8解:
(1)在多个部件可改进情况下,Amdahl定理的扩展:
已知re1=30,re2=20,re3=10,Sp=10,fe1=0.3,fe2=0.3,得:
得fe3=0.36,即部件3的可改进比例为36%。
(2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:
(0.3+0.3+0.2)T=0.8T,不可改进部分的执行时间为0.2T。
已知3个部件改进后的加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后的执行时间为:
改进后整个系统的执行时间为:
Tn=0.045T+0.2T=0.245T
那么系统中不可改进部分的执行时间在总执行时间中占的比例是:
=82%
1.9解:
(1)改进后,各类操作的加速比re分别是:
操作类型
各类操作的加速比re
操作1
2/1=2
操作2
20/15=1.33
操作3
10/3=3.33
操作4
4/1=4
(2)∵改进前系统总执行时间:
10×2+30×20+35×10+15×4=1030
∴改进前各类操作时间在所有操作时间中所占的比例fe:
操作类型
改进前各类操作的执行时间
在总的执行时间中所占的比例
操作1
10×2/1030=0.0194=1.94%
操作2
30×20/1030=0.5825=58.3%
操作3
35×10/1030=0.3398=34%
操作4
15×4/1030=0.0583=5.83%
根据Amdahl定律
可得
各类操作单独改进后,程序获得的加速比分别是:
操作类型
改进前各类操作的执行时间
在总的执行时间中所占的比例
各类操作单独改进后,
程序获得的加速比
操作1
1.94%
1.01
操作2
58.3%
1.17
操作3
34%
1.31
操作4
5.83%
1.05
(3)在多个部件可改进情况下,Amdahl定理的扩展:
4类操作均改进后,整个程序的加速比是:
1/(1.94%/2+58.3%/1.33+34%/3.33+5.83%/4)≈1.78
补充题
1.确定下列内容各属于哪方面的问题。
(1)机器字长为32位。
A. B. C.
(2)存储器最大容量为64MB。
A. B. C.
(3)存储器采用31路交叉存储方式。
A. B. C.
(4)采用4M×4位的DRAM存储器芯片,组装在一块印刷电路板。
A. B. C.
(5)存储器字长为32位,逻辑地址空间为4GB。
A. B. C.
(6)主存储器的存储周期设计为200ns。
A. B. C.
答案中的符号的含义:
A:
系统结构 B:
计算机组成 C:
计算机实现
答:
AABCAB
2.判断下列哪些内容对机器语言(含汇编语言)程序员是透明的。
1)指令寄存器 2)程序计数器
3)数据通路的宽度 4)浮点数据表示
5)行波进位加法器 6)Cache
7)控制存储器 8)中断屏蔽触发器
9)通用寄存器 10)硬盘
11)只读存储器使用EPROM芯片 12)微地址寄存器
答:
1、3、5、6、7、11、12
第二章
1.指令系统的设计要求(完备性、有效性、兼容性、规整性、对称性、可扩充性、正交性、有利于编译)。
2.指令系统的分类(堆栈型、累加器型、通用寄存器型);通用寄存器型指令的特点(R-R型、R-M型、M-M型)。
3.操作数访问方式(按地址访问、按内容访问);
按地址访问的编址问题:
字编址、字节编址、位编址;按字节编址时的大端排序与小端排序。
编址规定中的访存越界问题及其解决方法。
按内容访问:
联想存储器的工作过程。
4.指令格式的设计准则;操作码的优化方法(霍夫曼编码、扩展霍夫曼编码)。
5.指令系统的两种设计风格CISC和RISC。
CISC风格的特点;RISC风格的特点。
RISC风格指令系统的实现技术:
窗口寄存器重叠技术、优化转移技术。
6.数据类型、数据表示、数据结构的概念和关系;引入数据表示的原则(减少程序执行时间和存储容量、较好的通用性和较高的效率);数据表示与系统结构的关系。
7.向量数据表示的形式;采用向量数据表示时,向量指令中应给出的内容。
8.自定义数据表示:
带标志符数据表示、数据描述符表示。
部分习题参考答案:
补充题
一、某模型机的9条指令在程序中的使用频度经统计如下表所示。
指令Ii
使用频度pi
ADD
43%
SUB
13%
JMP
7%
JOM
6%
STO
5%
SHR
1%
CIL
2%
CLA
22%
STP
1%
写出这9条指令操作码的Huffman编码、3-4扩展编码、2-7扩展编码,并计算这3种编码的平均码长。
答:
两种Huffman编码方案
指令Ii
使用频度pi
Huffman编码1
Huffman
编码2
3-4编码
2-7
编码
ADD
43%
0
0
000
00
CLA
22%
10
100
001
01
SUB
13%
110
101
010
10
JMP
7%
11100
1100
0110
1100000
JOM
6%
11101
1101
0111
1100001
STO
5%
11110
1110
1000
1100010
CIL
2%
111110
11110
1001
1100011
SHR
1%
1111110
111110
1010
1100100
STP
1%
1111111
111111
1110
1100101
平均码长
2.42
2.42
3.22
3.1
Huffman编码1的平均码长:
H=0.43×1+0.22×2+0.13×3+(0.07+0.06+0.05)×5+0.02×6+(0.01+0.01)×7=2.42
Huffman编码2的平均码长:
H=0.43×1+(0.22+0.13)×3+(0.07+0.06+0.05)×4+0.02×5+(0.01+0.01)×6=2.42
3-4编码的平均码长:
H=(0.43+0.22+0.13)×3+(0.07+0.06+0.05+0.02+0.01+0.01)×4=3.22
2-7编码的平均码长:
H=(0.43+0.22+0.13)×2+(0.07+0.06+0.05+0.02+0.01+0.01)×7=3.1
二、某处理机的指令系统的指令字长为12位,每个地址码的长度为3位,现要求该指令系统中有:
三地址指令4条、单地址指令255条、零地址指令16条。
问能否用扩展编码的方式为其操作码编码?
如果要求单地址指令为254条,能否对其操作码用扩展编码?
说明理由。
答:
三地址指令格式:
3位
3位
3位
3位
操作码
地址码1
地址码2
地址码3
(1)3位操作码,可以表示8条三地址指令,现只需4条,剩余4个码点。
设没有二地址指令,则单地址指令可以使用6位地址码作为扩展操作码,共可有4×64=256条指令,但要求有16条零地址指令,需要单地址指令留出2个码点,256-2=254,不能满足单地址指令的需要,所以不能用扩展编码的方式为该方案的操作码编码。
(2)如果要求单地址指令为254条,则可以满足单地址指令的需要,可以用扩展编码的方式为该方案的操作码编码。
第三章
1.标量流水的基本概念和分类;先行控制的概念。
会计算采用顺序方式和不同的重叠方式执行指令时的指令执行时间。
2.利用时空图进行标量流水线的性能分析(吞吐率、加速比、效率)
3.非线性流水线的调度方法(基本调度方法和优化调度方法)。
4.掌握流水线操作中全局相关(转移指令引起的相关)和局部相关(数据读写引起的相关)问题的解决方法。
几种解决全局相关的预测算法的原理及实现。
5.向量流水线的特点。
向量处理方式(横向、纵向、纵横向加工)。
6.增强向量处理性能的方法(并行处理技术、链接技术)的应用及向量程序的时间计算。
7.向量编队的方法,根据向量编队计算性能参数的方法。
8.向量访问步长,解决向量机的访存冲突的方法。
9.向量处理性能的评估参数(Tvp、R∞、n1/2、nv等)的定义。
部分习题参考答案:
3.9列举出下面循环中的所有相关,包括输出相关、反相关、真相关。
for(i=2;i<100;i=i+1)
a[i]=b[i]+a[i];/*s1*/
c[i+1]=a[i]+d[i];/*s2*/
a[i-1]=2*b[i];/*s3*/
b[i+1]=2*b[i];/*s4*/
解:
展开循环两次:
a[i]=b[i]+a[i];/*s1*/
c[i+1]=a[i]+d[i];/*s2*/
a[i-1]=2*b[i];/*s3*/
b[i+1]=2*b[i];/*s4*/
a[i+1]=b[i+1]+a[i+1];/*s1'*/
c[i+2]=a[i+1]+d[i+1];/*s2'*/
a[i]=2*b[i+1];/*s3'*/
b[i+2]=2*b[i+1];/*s4'*/
在一次循环中:
输出相关:
无;反相关:
无;
S1&S2:
a[i]真相关a[i]=b[i]+a[i]与c[i+1]=a[i]+d[i]
展开循环后可见,由于循环引入的相关:
S4&S4’b[i+1]:
真相关;b[i+1]=2*b[i]与b[i+2]=2*b[i+1]
S4&S1’b[i+1]:
真相关;b[i+1]=2*b[i]与a[i+1]=b[i+1]+a[i+1]
S4&S3’b[i+1]:
真相关;b[i+1]=2*b[i]与a[i]=2*b[i+1]
S1&S3’a[i]:
输出相关:
a[i]=b[i]+a[i]与a[i]=2*b[i+1]
反相关:
a[i]=b[i]+a[i]与a[i]=2*b[i+1]
S2&S3’a[i]:
反相关:
c[i+1]=a[i]+d[i]与a[i]=2*b[i+1]
3.14解:
适合于流水线工作的算法:
先计算A1+B1、A2+B2、A3+B3和A4+B4;再计算(A1+B1)×(A2+B2)和(A3+B3)×(A4+B4);最后求总的结果。
完成该计算的时空图,图中阴影部分表示该段在工作。
由图可见,完成7个运算用了18个△t,吞吐率为:
如果不用流水线,由于一次求积需3△t,一次求和需5△t,则产生上述7个结果共需(4×5+3×3)△t=29△t。
所以加速比为:
该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得:
3.17解:
没有控制相关时流水线的平均CPI=1
存在控制相关时:
由于无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第3个时钟周期结束时才能被解析出来。
所以:
(1)若使用排空流水线的策略,则对于条件分支,有两个额外的stall,对无条件分支,有一个额外的stall:
CPI=1+20%*2+5%*1=1.45
加速比S=CPI/1=1.45
(2)若使用预测分支成功策略,则对于不成功的条件分支,有两个额外的stall,对无条件分支和成功的条件分支,有一个额外的stall1:
CPI=1+20%*(60%*1+40%*2)+5%*1=1.33
加速比S=CPI/1=1.33
(3)若使用预测分支失败策略,则对于成功的条件分支,有两个额外的stall;对无条件分支,有一个额外的stall;对不成功的条件分支,其目标地址已经由PC值给出,不必等待,所以无延迟:
CPI=1+20%*(60%*2+40%*0)+5%*1=1.29
加速比S=CPI/1=1.29
补充题1
已知有一个5段的流水线,其预约表如下:
时间
功能段
T1
T2
T3
T4
T5
T6
T7
S1
∨
∨
S2
∨
∨
S3
∨
∨
S4
∨
∨
S5
∨
∨
1、试列出流水线的禁止表及原始冲突向量,画出流水线的状态图,并选择最佳的无冲突调度方案。
2、按所选择的调度方案,连续输入6个任务,画出流水线的时空图并求出流水线的最大吞吐率、实际吞吐率、加速比和效率。
3、如果采用非计算延迟功能段,按最小启动距离进行调度,请画出采用了预留非计算延迟功能段的预约表,并判断此时该流水线的最大吞吐率是多少?
在按最小启动距离进行调度时,连续输入6个任务,画出流水线的时空图并求出流水线的最大吞吐率、实际吞吐率、加速比和效率。
答:
1、禁止表F={1,3,6},原始冲突向量C=(100101)
流水线状态图
调度方案
平均延迟时间
2,5
3.5
2,2,5
3
4,5
4.5
4
4
5
5
最佳的无冲突调度方案为2,2,5,
2、
S5
1
1
2
2
3
3
4
4
5
5
6
6
S4
1
2
1
3
2
3
4
5
4
6
5
6
S3
1
1
2
2
3
3
4
4
5
5
6
6
S2
1
2
1
3
2
3
4
5
4
6
5
6
S1
1
2
3
1
2
4
3
5
6
4
5
6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
设每个功能段的时间为△t
流水线的最大吞吐率Tpmax=1/3△t
流水线的实际吞吐率Tp=6/20△t≈0.3/△t
流水线的加速比:
Sp=6×7△t/20△t≈2.1
流水线的效率:
E=6×10/5*20=3/5=0.6=60%
3、最小启动距离为2,插入非计算延迟线D
时间
功能段
T1
T2
T3
T4
T5
T6
T7
T8
S1
∨
∨
∨
S2
∨
∨
S3
∨
∨
S4
∨
∨
S5
∨
∨
D
∨
D
1
2
3
4
5
6
S5
1
1
2
2
3
3
4
4
5
5
6
6
S4
1
2
1
3
2
4
3
5
4
6
5
6
S3
1
1
2
2
3
3
4
4
5
5
6
6
S2
1
2
1
3
2
4
3
5
4
6
5
6
S1
1
2
3
4
1
5
2
6
3
4
5
6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
按最小启动距离进行调度时,
流水线的最大吞吐率Tpmax=1/2△t
流水线的实际吞吐率Tp=6/18△t=1/3△t≈0.333/△t
流水线的加速比:
Sp=6×7△t/18△t=7/3≈2.33
流水线的效率:
E=6×10/5×18=2/3≈66.7%
3.19解:
(1)设A+B的中间结果放在V6中,(A+B)×C的最后结果放在V7中,D+E的中间结果放在V8中,(D+E)×F的最后结果放在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
第四章
1.指令级并行的基本概念。
2.开发指令级并行常用的方法
3.超标量、超流水、超长指令字的概念。
4.超长指令字的实现
5.循环展开和指令调度的基本方法
部分习题参考答案:
4.3分析:
产生结果指令
使用结果指令
延迟时钟周期数
浮点计算
另外的浮点计算
3
浮点计算
浮点数据存操作(SD)
2
浮点数据取操作(LD)
浮点计算
1
浮点数据取操作(LD)
浮点数据存操作(SD)
0
指令在流水线中执行时需要的延迟:
LOOP:
L.DF0,0(R1)
(空转)
MUL.DF0,F0,F2
L.DF4,0(R2)
(空转)
(空转)
ADD.DF0,F0,F4
(空转)
(空转)
S.DF0,0(R2)
DSUBIR1,R1,#8
DSUBIR2,R2,#8
BNEZR1,LOOP
(空转)
解:
将循环展开两次,进行指令调度,即可以消除延迟,其中增加寄存器F10、F14,对应一次循环中的F0和F4.
代码如下:
LOOP:
L.DF0,0(R1)
L.DF10,-8(R1)
MUL.DF0,F0,F2
MUL.DF10,F10,F2
L.DF4,0(R2)
L.DF14,-8(R2)
ADD.DF0,F0,F4
ADD.DF10,F10,F14
DSUBIR1,R1,#16
S.DF0,0(R2)
DSUBIR2,R2,#16
BNEZR1,LOOP
S.DF10,8(R2)
4.9解:
标量流水处理机的时空图:
执行完12条指令需T1=14△t。
超标量流水处理机与超长指令字处理机的时空图:
超标量流水处理机中,每一个时钟周期同时启动4条指令。
执行完12条指令需T2=5△t,相对于标量流水处理机的加速比为:
超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。
执行完12条指令需T3=5△t,相对于标量流水处理机的加速比为:
超流水处理机的时空图:
超流水处理机中,每1/4个时钟周期启动一条指令。
执行完12条指令需T4=5.75△t,相对于标量流水处理机的加速比为:
补充题
设系统中有多个加法器,不存在加法器的资源冲突,有3条连续指令构成的程序代码段:
ADDR1,R2,R4
ADDR2,R1,1
SUBR1,R4,R5
请回答:
(1)分析代码段中的存在的数据相关;
(2)采用何种硬件技术可以解决这些数据相关?
要求加以说明。
答:
I1ADDR1,R2,R4
I2ADDR2,R1,1
I3SUBR1,R4,R5
真数据相关RAW:
I1与I2(R1)先写后读
名相关WAW:
I1与I3(R1)先写后写
反相关WAR:
I1与I2(R2);I2与I3(R1)先读后写
解决方法:
(1)I1与I2关于R1的RAW相关,可以用定向技术解决。
(2)I1与I3关于R1的WAW相关,I1与I2(R2);I2与I3(R1)的WAR,可以用寄存器换名技术解决。
将R2,R1换名为R2′,R1′.
解决结果:
I1ADDR1,R2,R4
I2ADDR2′,R1,1
I3SUBR1′,R4,R5
第五章
1.存储器层次结构的概念;采用存储器层次结构的目的;程序局部性在存储器层次结构中的应用。
2.设置Cache—主存层次、主存—辅存层次的目的;Cache—主存层次、主存—辅存层次实现手段的不同之处。
3.命中率(失效率)、平均访问时间的概念和计算方法;如何利用速度、容量、价格的关系设计存储器层次结构各级的参数。
4.Cache的基本概念;主存—Cache的三种地址映象方式及实现方法。
能够根据给定条件分析设计不同地址映象方式下,主存、Cache的地址和块的映像关系。
5.各种替换算法的特点和实现方法;Cache的取算法和更新策略;Cache写不命中时的调块策略。
6.程序的执行时间与Cache的性能的关系
7.Cache的性能分析,失效率与块大小、相联度、容量之间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 结构 复习 汇总