计算机系统结构试题A.docx
《计算机系统结构试题A.docx》由会员分享,可在线阅读,更多相关《计算机系统结构试题A.docx(13页珍藏版)》请在冰豆网上搜索。
计算机系统结构试题A
《计算机系统结构》试题(A)
(计02级本科2005年1月)
一、(20分)选择题:
C
B)计算机硬件的全部组成
D)计算机各部件的硬件实现
1、在计算机系统结构来看,机器语言程序员看到的机器属性是A)计算机软件所要完成的功能
C)编程要用到的硬件知识
A)。
B)浮点运算
D)存取操作数
2、对汇编语言程序员透明的是(
A)l/O方式中的DMA访问方式
C)程序性中断
3、用循环表示PM2-1的互连函数,应该是(A)。
A)(6420)(7531)B)(0246)(1357)
C)(01234567)D)(76543210)
4、在提高CPU性能的问题上,从系统结构角度,可以(C)。
P10
A)提高时钟频率B)减少程序指令条数
C)减少每条指令的时钟周期数D)减少程序指令条数和减少每条指令的时钟周期
数
5、能实现指令、程序、任务级并行的计算机系统属于(D)。
10、推出系列机的新机器,不能更改的是(A)o
14、在系统结构设计中,提高软件功能实现的比例会(C)。
A)提高解题速度B)减少需要的存储容量C)提高系统的灵活性D)提高系统的性能价格比
15、多处理机主要实现的是(B)。
P500
A)指令级并行B)任务级并行C)操作级并行D)操作步骤的并行16、虫蚀寻径以流水方式在各寻径器是顺序传送的是(C)。
A)消息B)包C)片D)字节
17、BSP计算机的并行处理机有16个处理单元,并行存储器的存储体个数为(D)。
P463
A)16B)1C)32D)17
20、ILLIACW是一种(C)。
A)流水线处理机B)指令重叠处理机C)阵列处理机D)多处理机
二、(10分)判断题:
1、对计算机系统中经常使用的基本单元功能,宜于用软件来实现,这样可降低系统的成本。
(F)
2、由于RISC简化了指令系统,因此,RISC上的目标程序比CISC上的目标程序要短一些,程序执行的时间就会少一些。
(F)
3、流水线调度是看如何调度各任务进入流水线的时间,使单功能线性流水线有高的吞吐率和效率。
(T)
4、无论采用什么方法,只要消除流水线的瓶颈段,就能提高流水线的吞吐率和效率。
(F)
5、在满足Cache与主存的一致性方面,写回比写直达法好。
(F)
6、在多处理机上,各个任务的执行时间不同时,在个处理机总的运行时间均衡的前提下,取不均匀分配,让各处理机所分配的任务数要么尽量的多,要么尽量的少,这样,才可使总的运行时间减少。
(F)
7、Cache组相联映象的块冲突概率比直接映象的高。
(F)
8、要使线性流水线的实际吞吐率接近于理想的最大吞吐率,应将子过程数分得越多越好。
(F)
9、在系列机内可以将单总线改为双总线,以减少公共总线的使用冲突。
(F)
10、0-15共16个处理单元用Cube2单级互连网络互连,第10号处理单元将连到第8号处理单元。
(F)三、(10分)如果某计算机系统有3个部件可以改进,则这三个部件经改进后的加速比分别为:
S仁30,S2=20,S3=10。
(1)如果部件1和部件2改进前的执行时间占整个系统执行时间的比例都为30%,那么,部件3改进前的执行时间占整个系统执行时间的比例为多少,才能使3个部件都改进后的整
6
(4)在多个部件同时改进的情况下,Amdahl定律应扩展为:
个系统的加速比Sn达到10?
(2)如果3个部件改进前执行时间占整个系统执行时间的比例分别为30%、30%和20%,
那么,3个部件都改进后系统的加速比是多少?
未改进部件执行时间在改进后的系统执行时间中占的比例是多少?
已知S4=3(hS2=2O,S3=10fSn=10sFe1=0.3,Fe2=0.3?
因此有:
10=1/[1-(0.3+0.3+Fe3)+(0.3/30-rt).3/20+Fe3/10)]
可得:
Fe3=0.36
已知S佃30,S2=20fS3=10»Fe1=0.3sFe2=0,3,Fe3=0.2,因此有:
Sn=1/[1-(03+0.3+0.2)+(03/30+0.3/2040.2/10)]
可得:
§n±4.1
未改进部分所占时间20%T0
改进后总时间ID=改进后改进部分所占时间十改进后未改进部分所占时间
=(To30%/3O+To30%/20+To20%/10)+20%T0=24,5%T0
所以,未改进部分的执行时间在整个系统的执行时间中所占的比例为:
20%T0/24.5%T0=82%
四、(10分)一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,
5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。
(1)要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。
(2)设计8字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址范围不小于土127。
请设计指令格式,并给出各字段的长度和操作码的编码。
解:
(1)要使得到的操作码长度最短,应采用Huffman
编码,构造Huffman树如下:
0.350.250.2010.1010.0510.030.02
1.00
由此可以得到7条指令的编码分别如下:
指令出现的频率
编码
1
35%
00
2
25%
01
3
20%
10
4
10%
110
5
5%
1110
6
3%
11110
7
2%
11111
这样,采用Hufman编码法得到的操作码的平均长度为:
H=2X(0.35+0.25+0.20)+3X0.10+4X0.05+5X(0.03+0.02)
=1.6+0.3+0.2+0.25
=2.35
(2)设计8位字长的寄存器-寄存器型变址寻址方式指令如下
,因为只有8个通用寄存器,所以寄存器地址需3位,操作码只
有两位,设计格式如下:
233
操作码0P源寄存器R1目的寄存器R2
三条指令的操作码分别为00,01,10
设计16位字长的寄存器-存储器型变址寻址方式指令如下:
4318
操作码0P
通用寄存器
变址寄存器
偏移地址
四条指令的操作码分别为1100,1101,1110,1111
题:
一个程序由5个虚页组成I采用LFU替快算法,在程序执冇过程中,依次访问的意味地址流如下:
4,5,3,2,5,1,3,2,3,5,1,3
1)可能的最髙页命中率是务少?
2)至少要分配给该程序多少个页面才能获得最高的命申率。
3)如栗在程序执行过程申每访问一个页面,平均要对该页面内的存储单元仙24次,求访问存储单元的命申率。
解蓉:
(1)由于在頁地址流中互不相同的页共有5页*因氏可能的最高页命申率
力M12—57
H———
~N^+Ni~12_12
(2)由于LFU算法为堆桟型替换算;4,即fit着分配给该程序的主存頁面数滅少,其命申車单调递减,Sih,可果用逐甬城少所分配的主存页数的方法进冇推算:
若分配N个页面时可获得最高命申車,但分配个页面时命申率却减少*这时我们可以得出分配給N个主存页面才能获得最高命中率的结论.
时间
1
2
3
4
5
6
7
8
9
10
11
12
页地址洗
4
5
3
2
5
1
3
2
3
5
1
3
LFU命申了次
4
4
4
4*
4*
1
1
1
1
1*
1
1
5
5
5
5
5
5
5*
5*
5
5
5
3
3
3*
3
3
[3
3
3
2
2
2
2*
2
2
2
2*
T
进
进
进
进
中
换
中
申
中
中
申
中
时间
1
2
3
4
5
6
7
8
9
10
11
12
页地址洗
4
5
3
2
5
1
3
2
3
5
1
3
LFU
命中3次
4
4
4*
2
2
2*
3
3
3
3
3*
3
5
5
5*
5
5
5*
2
2
2*
1
1
3
3
3*
1
1
V
1*
5
5
5*
讲讲丨进
换
申
换
换
换
申
I换
换
申
(3)访问存储单元的命申車为:
57.99959
1024x12-
H=“
1024x12
五、(10分)在页式虚拟存储器中,一个程序由P1〜P6共6个页面组成,系统分配给这
个程序的主存只有4个页面。
在程序开始执行之前,P1至P4已经装入主存。
程序执行过程
中依次访问到的页面如下:
P1,P2,P3,P4,P5,P3,P6,P5,P2,P1,P5,P2,P4,
P1。
采用LRU页面替换算法对这4页主存进行调度。
(1)画出主存页面替换和命中的情况表。
(2)计算两种页面替换算法的页命中率。
(3)假设每个数据平均被访问10次,采用LRU页面替换算法,为了使页面失效率小于10-5,
计算页面大小至少应该为多少?
六、(10分)有一个4段流水线,如下图所示:
其中,段S1和S3的执行时间均为200ns,段S2和S4的执行时间均为100ns。
(1)分别使用公式和时空图求连续流入4条指令的实际吞吐率和效率。
(2)若瓶颈段S1可使用细分方法改造,瓶颈段S3可使用并联方法改造,对改造后的流水
线,分别使用公式和时空图求连续流入4条指令的实际吞吐率和效率
解:
(1)使用公式计算如下:
n41
TP1===
EAtj+(n-1)Atj(200+100+200+100)+(4-1)X200300
nEAtJ4X(200+100+200+100)
E1===0.5
.■
k
政蠡前时空图:
TP1=4/(12At)=4/(12X100)=1/300E1=(8At+4At+8At+4At)/(4X12At)=0.5
k£Atj+(n-1)Atj4X[(200+100+200+100)+(4-1)X200]
(2)政造后的时空图(公式计算略):
Ji
S4
1
2
3
4
S32
2
2
4
4
S31
1
1
3
3
S2
pi-
2
3
4
S12
1
2
3
4
S11
1
2
3
4
可得:
TP2=4/(9At)=4/(9X100)=1/22.5
E2=(6X4At)/(6X9At)=0.44
七、(10分)设向量长度均为64,在CRAY-1机上所用浮点功能部件的执行时间分别为:
相加6拍,相乘7拍,求倒数近似值14拍;从存储器读数6拍,打入寄存器及启动功能部件各1拍,问下列各指令组,组内的哪些指令可以链接?
哪些指令不可链接?
不能链接的原因是什么:
分别计算出各指令组全部完成所需要的拍数。
(4)Vg存储器
V1—1/V0
⑴Vg存储器
(2)V2-V0*V1(3)V*存储器
V1—V2+V3V3—存储器VPV0*V1
解:
⑴第二乘启蚤聶令与第二条向量指令有源目向量相关,可以链接执行;第一条向量指令与第二、三条向量指令无关,町以与它们并行执行。
1
6
1
1
7
1
64-1
=
阳柏
启动访有
存V3
送淨如邦件
泮加
存W第
存V4其
件
厚乘
存加靜件
—分量
它分量
(2)三条向量指令都无关,所以,三条向量指令可以并行执行.
1
6
1
1
64-1
=
7246
启动访存送浮加部件送浮加部件谡浮棗部件送浮乘部件
访存
洋乘
存V0存V4浮兼
存W第一分量
存W其它分量
V4—V2+V3
V*V2+V0
V5—V3+V4
V3—V1*V2
V5—V3+V4
(3)第二条向量指令与第一臬向量指令有源目向量相关,可以链接执行;第三条向量指令与第二条向量指令有源向量冲突,故只能等到第二条向量指令执行完毕后,才能执行第三条向量指令。
1
6
1
1
7
1
64-1
1
6
1
64-1
=
451柏
启动访存
访存
存V0
送浮乘部件送浮乘部件
浮乘
存V2
送浮抑部件送澤损部件
浮
疔
V3
V4—V5*V6
注囂:
1)在分析向量指令的处理时,特别关注无关向量指令的并行执行,源目向量相关的向量指令的链接执行,除源目向量相关外其它发生向量寄存器冲突的向量指令的串行执行,功能部件冲突的向量指令的串行执行以及向量内部各分量流水处理之间的区别“
2)启动、输出延迟(各4拍〉
八、(10分)假定有128个处理器,采用PM2I多级网络互连,若网络中的i=2的1级损坏,拟用Cubei多级网络代替损坏的这一级,试说明最多需要几级Cubei网络?
5
[分析]:
已知PM2I和Cm用的互连函数分别为:
PM2ti(X)=X+2'modN其中,0<=X<=N-1,n=log2N?
0<=i<=n-1
由题<,WN=1285n=logzN=7?
PM2I多级网络匸2级实现的互连为:
PMZ^tXJsX+^X-Mmod1280<=X<=127
用二进制表示该级坷络的输入端和输出端的编号,实现的互连为:
PM2+2(x6x5x4x3x2x1)^)=xsx6x4x3x2x1x0+100mod128
若PM2I多级网络中,pivi^级损坏屛皿阴多级网络代替,即要求Cm加j多级网络能实现PM2^定的互连.
对于级网络的428个输入端中所有惫=0的输入端,有;
sCubejfXgXg^Xg^XTXo)
PM2+2(x6x5x2)x3x2x1x())=农嘉&焉惫论观+4°0mod128
则只需1级Gut黝阿络并实现Cube2M可以代替PM茲指定的连接.
对于Qtei多级网络的也8个输入端中所有2=仁冥沪0的输入端,有:
PM24^(x6x5x4x3x2x1x0)=XgXg^x^x^Q+lOOmod128
=x6x5x4x3x2x1x0
=Cube3(Cube^(x€x5x4x3x2x1Xo))
则只需2级Qy塢网络并实现Cub砌(Cub购就可以代替FWI茲指定的连接.
对于仙騎多级网络的也鈴输入端中所有X2=K冷=仁砌=0的输入端,有:
PM2^(Xgx5x4x3x2X^(=x0+100mod128
=xex5x4x3x2x1x0
=Cube4(Cube^(Cube2(XgX5x4xqx2x1x0)H则只需3圾Qu坡网络并实对于Cub$i多级网络的42环输入端申所有X2=X3=X^=1>Xe=O的输入端甫:
PM2^(Xgx5x4x3x2XtXq)=Xg^x^XaXgX^o+lOOmod123=岳壬去1观=Cube3(Cube4(Cube3(Cube2(x6x5x4x3x2x1x0))))则只需4级QyMi网络并宴现CubejCub陶(Cube^Cub如))就可以代替PWI2弋堵定的连接.
对于Gub唆i多级网络的428个输入端中所有X2=X3=X4=X5=1・花=0的输入端'W:
PM2+2(x6x5x4x3x2x1x())=XgXs^XgXjX^Q+lOOmod128=Xs^XgXjX^o=Cubee(Cube5(Cube4(Cube3(Cube2(xex5x4x3x2x1x0)))))则需5级CyJ^j网烙并实现Cube6(Cube5(Cube4(Cube3(Cube2))))M可以代替PM2^定的连接.
因此,最多需要5级Q山勒网络代替FIVI2吃指定的连接.
九、(10分)A和B都是元素为浮点表示的64X64的二维数组,一次浮点加法的计算过程可由取数、求阶差、对阶、尾数加、规格化和存数共6个段组成,若每个段的执行时间均为
△t,请分别求出在下列结构不同的处理机上完成C=A+B所需的时间及相对于顺序处理的加速比。
(1)顺序处理方式的处理机。
(2)具有浮点加法流水线的流水线处理机,且浮点加法流水线分为6个段,各段执行时间均为△10
(3)8X8的阵列处理机,且处理阵列上和每个处理器只能顺序处理浮点加运算。
(4)8X8的阵列处理机,且处理阵列上和每个处理器均能流水处理浮点加运算。
(5)64X64的阵列处理机,且处理阵列上和每个处理器均能流水处理浮点加运算。
解.
(4)顺序处理方式下,需要顺序执行的谆点加法次数为64X64=4096,每次薛点加运算所需时间为6At,则全部运算所需时间为:
T1=4096X6At=24576At
(2)需要流水执行的浮点加法次数为64X64=4096,则一个K=6段浮点加法流水线处理全部运算所需时间为:
T2=(k+n-1)At=(6+4096-1)At=4101At
加速比:
S2=T1/T2=5.9
(3)对于8X8的处理阵列,每个处理器需要处理64X64二维数组中的一个8X8子数组,因此,每个处理器需要执行的浮点加法次数为8X&每次浮点加法运算需要时间6At.每个处理器顺序执行64次浮点加法所需时间为64X6At=384Ato64个处理器并行处理,同时完成各自的64次浮点加运算,所以,全部运算所需时间为:
T3=384At
加速比:
S2=T1/T3=64
(4)对于8X8的处理阵列,每个处理器需要处理64X64二维数组中的一个8X8子数组,因此,每个处理器需要执行的浮点加法次数为8X&K=6段的浮点加法济水线处理64次浮点加运算需要时间(k4n-1)At=(6+64・1)At=67At.64个处理器并行处理,同时完成各自的64次浮点加运算,所以,全部运算所需时间为:
T4=67At
加速比:
S2=T1/T4=366.8
(5)对于64X64的处理阵列,每个处理器只需执行一次浮点加运算,所需时间为6At,所以,全部运算所需时间为:
T5=6At
加速比:
S2=T1/T5=4096