计算机体系结构期末试题湖南城市学院Word文档格式.docx
《计算机体系结构期末试题湖南城市学院Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机体系结构期末试题湖南城市学院Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
21、某处理机的指令字长为16位,有二地址指令、单地址指令和零地址指令3类,每个地址指令的长度均为6位。
(1)如果二地址指令有15条,单地址指令和零地址指令的条数基本相等,那么,单地址指令和零地址指令各是多少条?
为3类指令分配操作码
(2)如果指令系统要求这3类指令条数的比例为1:
9:
9,那么,这3类指令各有多少条?
为3类指令分配操作码
(1)双地址指令:
0000~111015条
(2)单地址指令:
1111000000~111111111063条
(3)零地址指令:
1111111111000000~111111111111111064条
问答:
2.1指令集结构设计所涉及的内容有哪些?
指令集功能设计
主要有RISC和CISC两种技术发展方向
寻址方式的设计
设置寻址方式可以通过对基准程序进行测试设计,查看各种寻址方式的使用频率,根据使用频率设置必要地寻址方式
寻址方式的表示
可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的字段来表示
操作数表示和操作数类型
可选择浮点型数据类型、整型数据类型、字符型、十进制数据类型等
指令格式的设计
有变长编码格式、定长编码格式和混合编码格式3种
23.何谓指令格式的优化?
简要列举包括操作码和地址码两部分的指令格式优化可采用的各种途径和思路。
指令格式的优化指如何用最短位数表示指令的操作信息和地址信息,使程序中指令的平均字长最短。
①操作码的优化
采用Huffman编码和扩展操作码编码。
②对地址码的优化:
采用多种寻址方式;
采用0、1、2、3等多种地址制;
在同种地址制内再采用多种地址形式,如寄存器-寄存器型、寄存器-主存型、主存-主存型等;
在维持指令字在存储器内按整数边界存储的前提下,使用多种不同的指令字长度。
18.CISC的中文意义是复杂指令计算机,RISC的中文意义是精简指令计算机。
19、GCC的–g编译参数有什么含义
生成调试信息。
GNU调试器可利用该信息。
20、objdump的–S参数有什么含义;
尽可能反汇编源代码
21、程序中的条件语句编译为了哪些机器指令;
程序中的循环语句编译为了哪些机器指令;
22、GDB的file,run,next,break,print,list,disassemble命令各有什么含义。
file:
加载文件
run:
运行程序
next命令(缩写l)可以加载下一条代码
list命令(缩写l)可以列出代码
break命令来设置断点,
在调试程序时,当程序被停住时,可以使用print命令(缩写为p),或是同义命令inspect来查看当前程序的运行数据
disassemble命令用于反汇编,它可被用来查看当前执行时的源代码的机器码,其实际上只是把目前内存中的指令dump出来
23.简要比较CISC机器和RISC机器各自的结构特点,它们分别存在哪些不足和问题?
为什么说今后的发展应是CISC和RISC的结合?
CISC结构特点:
机器指令系统庞大复杂。
RISC结构特点:
机器指令系统简单,规模小,复杂度低。
CISC的问题:
(1)指令系统庞大,一般200条以上;
(2)指令操作繁杂,执行速度很低;
(3)难以优化生成高效机器语言程序,编译也太长,太复杂;
(4)由于指令系统庞大,指令的使用频度不高,降低系统性能价格比,增加设计人员负担。
RISC的问题;
(1)由于指令少,在原CISC上一条指令完成的功能现在需多条RISC指令才能完成,加重汇编语言程序设计负担,增加了机器语言程序长度,加大指令信息流量。
(2)对浮点运算和虚拟存储支持不很强。
(3)RISC编译程序比CISC难写。
由于RISC和CISC各有优缺点,在设计时,应向着两者结合,取长补短方向发展。
8.看下述程序段:
(C)
k:
R5=R2
k+1:
R0=R1×
R4
k+2:
R2=R5+1
k+3:
R4=R0×
R3
k+4:
R3=R4-1
K+5:
……
k和k+2之间发生的是什么数据相关
I.先写后读相关
II.写-写相关
III.先读后写相关
A.只有IB.只有I、II
C.只有I、IIID.以上都不对
1.开发并行的途径有(
D),资源重复和资源共享。
A、多计算机系统
B、多道分时
C、分布式处理系统
D、时间重叠
18.“一次重叠”解释时,第K+1条指令需等K条指令执行后才能形成,称此时发生了“指令相关”。
若第K条指令的结果数地址与第K+1条指令的源数地址一样时,称发生了“先写后读相关”。
24.为提高流水线效率可采用哪两种主要途径来克服速度瓶颈?
为提高流水线效率可采用瓶颈段再细分(2分)和瓶颈段并联(3分)两种主要途径来克服速度瓶颈。
21.简要解释提高计算机系统并行性的三个技术途径。
(1)时间重叠:
引入时间因素,是让多个处理过程在时间上相互错开,轮流使用同一套设备的各个部分,以加快硬件周转来赢得速度。
(2)资源重复,是引入空间因素,通过重复设置硬件资源来提高性能。
(3)资源共享,是用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高其利用率,相应也就提高了系统的性能。
10.在计算机系统设计中,比较好的方法是(D
)。
A、从上向下设计
B、从下向上设计
C、从两头向中间设计
D、从中间开始向上、向下设计
22.假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?
Sp=To/Tn=1/((1-Fe)+Fe/Se)=1/(0.6+0.4/10)=1.5625
26、如有一浮点乘法流水线如图(a)所示,其乘积可直接返回输入端或暂存于缓冲寄存器中,画出实现A*B*C*D的时空图及输入端的变化,并求出该流水线的吞吐率和效率;
当流水线改为图(b)形式时,求其实现同一计算时该流水线的吞吐率及效率。
流27、假设一台模型计算机共有7种不同的操作码,如果采用固定长操作码需要3位。
已知各种操作码在程序中出现的概率如下表,计算采用全Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量。
若将全Huffman编码改为2-4等长扩展编码法,求操作码最短平均长度和信息冗余量
指令序号
I1
I2
I3
I4
I5
I6
I7
出现概率
0.45
0.3
0.15
0.05
0.03
0.01
固定长操作码:
哈夫曼树:
等长扩展编码:
28、用一条5个功能段的浮点加法器流水线计算F=
每个功能段的延迟时间均相等,流水线的输出端和输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。
要求用尽可能短的时间完成计算,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。
直接执行微指令的是(C)
汇编程序b.编译程序c.硬件d.微指令程序
软件和硬件在(B)意义上是等效的。
A.系统结构B.功能
C.性能D.价格
实现汇编语言源程序变换成机器语言目标程序是由(D)
A.编译程序解释B.编译程序翻译
C.汇编程序解释D.汇编程序翻译
3.按照计算机系统层次结构,算术运算、逻辑运算和移位等指令应属于(A)级机器语言。
A.传统机器语言机器B.操作系统机器
C.汇编语言机器D.高级语言机器
4.对汇编语言程序员,下列(A)不是透明的。
A.中断字寄存器B.乘法器
C.移位器D.指令缓冲器
将计算机系统中某一功能的处理速度提高到原来的20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少?
假设该处理原来所需时间为T,由于该功能的处理使用时间占整个系统运行时间的40%,所以,其他的处理时间为1.5T。
该功能的处理速度被提高到20倍后,则其所需时间为0.05T,因此,系统的性能大致提高到(T+1.5T)/(0.05T+1.5T)=2.5T/1.55T=1.61倍。
例如:
400Mhz的处理器运行一个包含200万条指令的程序,该程序由四中指令组成:
1、算术和逻辑指令,CPI=1,指令百分比0.6
2、cache命中的取数/存数CPI=2,百分比0.18
3、分支,CPI=4,百分比0.12
4、cache失效的存储器访问CPI=8,百分比0.1
当由单一处理器执行该程序时,其平均CPI=0.6+(2×
0.18)+(4×
0.12)+(8×
0.1)=2.24,相应的MIPS速度=f/(CPI*10^6)=(400×
10^6)/(2.24×
10^6)≈178。
6.在采用基准测试程序来测试评价机器的性能时,下列方法按照评价准确性递增的顺序排列是(D)。
(1)实际的应用程序方法
(2)核心程序方法
(3)玩具基准测试程序(小测试程序)
(4)综合基准测试程序
A.
(1)
(2)(3)(4)
B.
(2)(3)(4)
(1)
C.(3)(4)
(1)
(2)
D.(4)(3)
(2)
(1)
1、假设各种分支指令数占所有指令数的百分比如下
条件分支20%(其中60%是分支成功的)
跳转和调用5%
现有一条段数为4的流水线,无条件分在在第2个时钟周期结束时就被解析出来,而条件分支要到第3个时钟周期结束时就被解析出来。
第1个流水段是完全独立于指令类型的,即所有类型的指令都必须经过第一段流水段的处理。
请问在没有任何控制相关的情况下,该流水线相对于存在上述控制相关情况下得加速比是多少?
解:
没有控制相关时流水线的平均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
2、MIPS流水线上运行如下代码序列:
LOOP:
LWR1,0(R2)
DADDIUR1,R1,#1
SWR1,0(R2)
DADDIUR2,R2,#4
DSUBR4,R3,R2
BNEZR4,LOOP
已知,在整个代码序列的执行过程中,所有的存储器访问都是命中的,并且在1个时钟周期中对同一寄存器的写操作和读操作可以通过分别把它们安排在前半个周期和后半个周期来实现
(1)在没有任何其他定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图
(2)假设该流水线有正常的定向路径,假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都命中Cache。
请画出该指令序列执行的流水线时空图
(3)假设该流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指令进行调度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数。
请画出该指令序列执行的流水线时空图
3、有A、B、、C、D4个存储器操作数,要求完成(A*B)+(C+D)的运算,原来的程序如下:
LOADR1,M(A)
LOADR2,M(B)
MULR5,R1,R2
LOADR3,M(C)
LOADR4,M(D)
ADDR2,R3,R4
ADDR2,R2,R5
现采用静态指令调度方法,写出该程序调度后的指令序列
I1LOADR1,M(A)
I2LOADR2,M(B)
I3LOADR3,M(C)
I4LOADR4,M(D)
I5MULR5,R1,R2
I6ADDR2,R3,R4
I7ADDR2,R2,R5
4、假设想用100个处理器达到80的加速比,求原计算程序中串行部分最多可占多大的比例?
5、现有16个处理器,编号分别为0,1,。
。
,15,用一个N=16的互连网络互连。
处理器i的输出通道连接互连网络的输入端i,处理器i的输入通道互连互连网络的输出端i。
当该互连网络实现的互连函数分别为:
Cube3,PM2+3,PM2-0,均匀洗牌时,分别给出与第13号机器所连接的处理器号。
6、云计算的基本原理是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。
这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。
7、当今互联网用户的需求是什么?
----------------------------------题二---------------------------------
名词解释:
1、SIMD与MIMD
SIMD:
单指令多数据流计算机
MIMD:
多指令多数据流计算机
2、RISC与CISC
CISC:
复杂指令系统计算机,它是指按照进一步增强原有指令的功能以及设置更为复杂的新指令取代原先有软件子程序完成的功能,实现软件功能的硬化途径设计成CPU的计算机。
RISC:
精简指令系统计算机,它是指通过减少指令总数和简化指令功能来降低硬件设计的复杂度,来提高指令执行速度的途径设计成CPU的计算机
3、从以下有关RISC的描述中,选择正确的描述(D)
A、为了实现兼容,各公司新设计的RISC计算机,是从原来的CISC系统的指令系统中挑选一部分实现的。
B、早期的计算机比较简单,采用RISC技术后,计算机的体系结构又恢复了早期的情况
C、RISC的主要目标是减少指令数,因此允许以增加每条指令的功能的方法来减少指令系统所包含的指令数
D、以上说法都不对
4、Linux系统命令time给出的用户时间,系统时间,实际时间分别是什么含义;
user表示time后的命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和。
sys表示time后的命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。
real表示time后的命令实际使用时间(realtime),即是从command命令开始执行到运行终止的消耗的总时间。
5、clock()和gettimeofday()函数获取的CPU时间和总时间是什么含义;
gettimeofday:
有点类似于time,获取当前相对于Epoch所经过的秒数+微秒数。
clock:
返回当前进程消耗的CPU时间。
6、实验中各种方法获得的计时相关数值分别是什么精度,相互之间有什么关系?
4、简要比较CISC和RISC机器各自的结构特点,它们分别存在哪些不足和问题,为什么说今后的发展应该是CISC和RISC的结合?
结构特性
CISC
RISC
指令系统规模与指令格式
指令系统庞大,指令格式可变
指令系统小,指令格式固定,大部分以寄存器为基础
寻址方式
12-24种
限制在3-5种
通用寄存器与高速缓存设计
通用寄存器8-24个,基本上使用合一的指令与数据高速缓存
基本上使用分开的数据与指令高速缓存,通用寄存器个数多(32-192)
时钟频率与CPI
钟频较低,CPI一般为2-15
钟频较高,CPI<
1.5
CPU控制
大多数使用控制存储器(ROM)实现微指令控制,但现在也有使用硬连线控制
大多数不用控制存储器而用硬连线控制
通过上表可以看出,CISC具有指令数量多,单条指令执行周期长等缺点;
而RISC则具有不便于用户程序的开发等缺点,因此二者结合才是未来的发展方向。
1、在下列常用术语后面,写出相应的中文名称
VLSI(VeryLargeScaleIntegration)超大规模集成电路
MPP大规模并行处理器
RISC精简指令系统计算机
DMA直接存储器访问
2、下列体系结构中,最适合多个任务并行执行的体系结构是(D)
A、流水线的向量机结构
B、堆栈处理结构
C、共享存储多处理机结构
D、分布存储多计算机结构
6、名词解释
(1)WAR相关
即WriteAfterRead(读后写),写入数据一方试图在读数据一方读出数据之前,就进行写入,这样就可能造成读数据方读出的值是写入数据一方新写入的值(实际要读出的是原来的值),从而发生错误。
(4)MIPS
每秒执行百万条指令数,是用来描述计算机整体性能的。
3、从用户的观点看,评价计算机系统性能的综合参数是:
(B)
A、指令系统
B、吞吐率
C、主存容量
D、主频率
7、主频为16MHZ的微处理机,平均每条指令的执行时间为两个机器周期,每个机器周期由两个时钟脉冲组成,则存储器“零等待”时,机器运行速度为(4)MIPS。
MIPS=f/(CPI*10^6)=16/(2*2)=4
若两个机器周期有一个访问存储周期,需要插入两个时钟的等待时间,则机器运行速度为(2.67)MIPS。
8、假如我们有一个需要运行100秒的标准程序,其中有90秒是CPU时间,剩下的是I/O占用的时间。
如果在以后的5年中,CPU速度每年可以提高50%且I/O时间保持不变,那么5年后我们的程序需要耗费多少时间。
9、如果采用如下图所示的双输入端的加-乘双功能的静态流水线,其每个功能段的经过时间均为一拍Δt,在加法时按1→2→3→5连接,乘法时按1→4→5连接,流水线的输出可以直接送到其输入端或存入缓冲器,不计其间的传送延迟,操作数可以连续提供。
对向量A=(a1,a2,a3,a4),B=(b1,b2,b3,b4),采用上述流水线完成点积A·
B=
则完成任务所需要的最小拍数是多少?
并画出此时的流水线的时空图,计算此流水线的吞吐率,加速比和效率。
1、设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期均为△t,采
用常规标量单流水线处理机。
若连续执行10条指令,则共需时间(C)△t。
(3)A.8B.10C.12D.14
(K+(n-1))△t=3+9
2、某计算机的时钟频率为400MHz,测试该计算机的程序使用4种类型的指令。
每种
指令的数量及所需指令时钟数(CPI)如下表所示,则该计算机的指令平均时钟数为(1.93);
该计算机的运算速度约为(207.3)MIPS。
指令类型指令数目(条)每条指令需时钟数
11600001
2300002
3240004
4160008
6、系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。
对于一个持续处理
业务的系统而言,(B),表明其性能越好。
A.响应时间越短,作业吞吐量越小B.响应时间越短,作业吞吐量越大
C.响应时间越长,作业吞吐量越大D.响应时间不会影响作业吞吐量
7、若每一条指令都可以分解为取指、分析和执行三步。
已知取指时间t取指=4△t,分
析时间t分析=3△t,执行时间t执行=5△t。
如果按串行方式执行完100条指令需要(C)△
t。
如果按照流水线方式执行,执行完100条指令需要(B)△t。
(4)A.1190B.1195C.1200D.1205
(5)A.504B.507C.508D.510
(4△t+3△t+5△t)+(n-1)5△t
11、假定我们正在考虑两种条件转移指令的设计方法,这两种方法如下:
CPUA——先道过一条比较指令设置条件码A,再用一条分支指令检测条件码;
CPUB——比较操作包含在分支指令中。
在两种CPU中,条件转移指令都需要两个时钟周期,所有其他指令都需要一个时钟周期。
在CP