2021年成都理工大学计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2021年成都理工大学计算机科学与技术专业《计算机组成原理》科目
期末试卷A(有答案)
一、选择题
1、假设相对寻址的转移指令占两个字节,第一个字节为操作码,第二个字节为位移量
(用补码表示),每当CPU从存储器取出一个字节时,即自动完成(PC)+l-PC。

若当
前指令地址是3008H,要求转移到300FH,则该转移指令第二个字节的内容应为();
若当前指令地址为300FH,要求转移到3004H,则该转移指令第二字节的内容为()。

A.05H,F2H
B.07H,F3 H
C.05H,F3H
D.07H,F2H
2、执行操作的数据不可能来()。

A.寄存器
B.指令本身
C.控制存储器
D.存储器
3、组成一个运算器需要多个部件,但下面所列()不是组成运算器的部件。

A.通用寄存器组
B.数据总线
C.ALU
D.地址寄存器
4、当定点运算发生溢出时,应()。

A.向左规格化
B.向右规格化
C.舍入处理
D.发出出错信息
5、在补码一位乘中,若判断位Y n Y n+1=01,则应执行的操作为()。

A.原部分积加[-x]补,然后右移一位
B.原部分积加[x]补,然后右移一位
C.原部分积加[-x] 补,然后左移一位
D.原部分积加[x]补,然后左移一位
6、有如下C语言程序段:
for(k=0;k<1000;k++)
a[k]=a[k]+32;
若数组a及变量k均为int型,int型数据占4B,数据Cache采用直接映射方式、数据区大小为1KB,块大小位16B,该程序段执行前Cache为空,则该程序段执行过程中访问数组a的Cache缺失率约为()。

A.1.25%
B.2.5%
C.12.5%
D.25%
7、若单译码方式的地址输入线为6,则译码输出线有()根,那么双译码方式有输出线()根。

A.64,16
B.64,32
C.32,16
D.16,64
8、下列关于计算机操作的单位时间的关系中,正确的是()。

A.时钟周期>指令周期>CPU周期
B.指令周期CPU周期>时钟周期
C.CPU周期>指令周期>时钟周期
D.CPU周期>时钟周期>指令周期
9、将高级语言源程序转换为机器目标代码文件的程序是()。

A.汇编程序
B.链接程序
C.编译程序
D.解释程序
10、总线的通信控制主要解决()问题。

A.由哪个主设备占用总线
B.通信双方如何获知传输开始和结束
C.通信过程中双方如何协调配合
D.B和C
11、某总线共有88根信号线,其中数据总线为32根,地址总线为20根,控制总线36根,总线工作频率为66MHz、则总线宽度为(),传输速率为()
A.32bit 264MB/s
B.20bit 254MB/s
C.20bit 264MB/s
D.32bit 254MB/s
12、某CPU主频为1.03GHz,采用4级指令流水线,每个流水段的执行需要1个时钟周期。

假定CPU执行了100条指令,在其执行过程中,没有发生任何流水,线阻塞,此时流水线的吞吐率为()。

A.0.25x109条指令/秒
B.0.97x109条指令/秒
C.1.0x109条指令/秒
D.1.03x109条指令/秒
13、在CPU的状态字寄存器中,若符号标志位SF为“1",表示运算结果是()。

A.正数
B.负数
C.非正数
D.不能确定
14、下列选项中,用于设备和设备控制器(I/O接口)之间互连的接口标准是()。

A.PCI
B
C.AGP
D.PCI-Express
15、传输一幅分辨率为640像素×480像素、65 536色的图片(采用无压缩方式),假设采用数据传输速度为56kbit/s,大约需要的时间是()。

A.34.82s
B.42.86s
C.85.71s
D.87.77s
二、填空题
16、RISC机器一定是_______CPU,但后者不一定是RISC机器,奔腾机属于_______机器
17、多媒体CPU是带有________技术的处理器。

它是一种________技术,特别适合于图像
数据处理。

18、闪速存储器能提供高性能、低功耗、高可靠性以及_______能力,因此作为_______用
于便携式电脑中。

19、流水CPU中的主要问题是________相关、________相关和________相关,为此需要采
用相应的技术对策,才能保证流水畅通而不断流。

20、移码表示法主要用于表示浮点数的_______码,以利于比较两个_______数的大小和进
行操作。

21、主存储器容量通常以MB表示,其中M=______,B=______硬盘容量通常以GB表示,其中G =______.
22、为了运算器的高速性,采用了________进位,________乘除法,________等并行技术措施。

23、按IEEE754标准,一个浮点数的阶码E的值等于指数的_________加上一个固定的
_________
24、从操作数的物理位置来说,可将指令归结为三种类型:存储器-存储器型,_______
25、RISC的中文含义是______,CISC的中文含义是______
三、名词解释题
26、多体交叉存储器:
27、复合传输:
28、存储器:
29、音频合成:
四、简答题
30、在计算机中,CPU管理外围设备有几种方式?
31、什么是中断?请说明它的特点和适用场合。

32、I/0设备有哪些编址方式,各有何特点?
33、请说明SRAM的组成结构,与SRAM相比,DRAM在电路组成上有什么不同之处?
五、计算题
34、某计算机采用5级指令流水线,如果每级执行时间是2ns,求理想情况下该流
水线的加速比和吞吐率。

35、假设机器字长为16位,其中阶码6位(包含两位阶符),尾数10位(包含。

(其结果用二进
两位数符)。

已知十进制数x=125,y=-18.125,试计算[x-y]

制真值表示,舍入时采用0舍l入法)。

36、一个Cache-主存系统,采用50MHz的时钟,存储器以每一个时钟周期传输一个字的速率连续传输8个字,以支持块长为8个字的Cache,且每个字长为32位。

假设读操作所花费的时间:1个周期接收地址,3个周期延迟,8个周期传输8个字;
写操作所花费的时间:1个周期接收地址,2个周期延迟,8个周期传输8个字,3个周期恢复和写入纠错码。

求下述几种情况下的存储器的带宽。

1)全部访问为读操作。

2)全部访问为写操作。

3)65%的访问为读操作,35%的访问为写操作。

六、综合题
37、一个程序员在一台字长为32位的计算机上,写出下面的代码,从计算机计算能力是否充分利用的角度来看,该代码是否高效,如果高效请说明原因,如果还有缺点请指出,并提出解决方法并附上改进后的代码。

(char为8位存储空间,int为32位存储空间)
int compare(char*A,char*B)
if(A==B)
return strlen(A);
int len,i;
if(strlen(A)>strlen(B))
1en=strlen(A);
else
1en=strlen(B);
for(i=0;i<len&&A[i]=B[i];i++);return i;
38、设某机器共能完成120种操作,CPU共有8个通用寄存器,且寄存器都为12位。

主存容量为16K字(机器采用按字寻址),采用寄存器-存储器型指令。

1)欲使指令可直接访问主存的任意地址,指令字长应取多少位?
2)若在上述设计的指令字中设置一寻址特征位X,且X=0表示某个寄存器作为基
址寄存器,试画出指令格式。

试问采用基址寻址可否访问主存的任意单元?为什么?如不能,提出一种方案,使得指令可访问主存的任意位置。

3)若存储字长等于指令字长,且主存容量扩大到64K字,在不改变硬件结构的前
提下,可采用什么方法使得指令可访问存储器的任意位置。

39、现有4级流水线,分别完成取指、指令译码并取数、运算、回写4步操作,假设完成各部操作的时间依次为100ns,100ns,80ns,50ns。

试问:
1)流水线的操作周期应设计为多少?
2)试给出相邻两条指令发生数据相关的例子(假设在硬件上不采取措施),试分析第2条指令要推迟多少时间进行才不会出错?
3)如果在硬件设计上加以改进,至少需要推迟多少时间?
参考答案
一、选择题
1、C
2、C
3、D
4、D
5、B
6、C
7、A
8、B
9、C
10、D
11、A
12、C
13、D
14、B
15、D
二、填空题
16、流水 CISC
17、MMX 多媒体扩展结构
18、瞬时启动固态盘
19、资源数据控制
20、阶码指对阶
21、220 8位(1个字节) 230
22、先行阵列流水线
23、真值偏移量
24、寄存器一寄存器型寄存器一存储器型
25、精简指令系统计算机复杂指令系统计算机
三、名词解释题
26、多体交叉存储器:
由多个相互独立、容量相同的存储体构成的存储器,每个存储体独立工作,读写操作重叠进行。

27、复合传输:
又称总线复用的传输方式,它使不同的信号在同一条信号线上传输,不同的信号在不同的时间片中轮流地身总线的同一条信号线上发出。

(它与并串传输的区别在于分时地传输同一数据源的不同信息。


28、存储器:
计算机中存储程序和数据的部件,分为内存和外存。

29、音频合成:
使计算机能够朗读文本或者演奏出音乐的过程,如将文字信息转化成语音信息,或者将MIDI数据文件转化成音乐信号。

四、简答题
30、答:CPU管理外围设备有五种方式:(1)程序查询方式(2)程序中断方式(3)直接内存访问(DMA)方式(4)通道方式(5)外围处理机方式
31、答:在计算机的运行过程中,cpu接到跟紧急的服务请求而暂停执行的现行程序转而去执行终端服务程序,已处理随机事件,执行完毕后又恢复源程序的执行;主要特点:随
机性,通过执行程序处理随机事件;使用于中低速的NO管理,已处理随机事件;
32、答:统一编址和独立编址。

统一编址是在主存地址中划出一定的范围作为I/0地址,
这样通过访存指令即可实现对1/0的访问。

但主存的容量相应减少了。

独立编址,I/0地
址和主存是分开的,I/0地址不占主存空间,但访存需专门的I/0指令。

33、答:SRAM存储器由存储体、读写电路、地址译码电路、控制电路组成,DRAM还
需要有动态刷新电路。

五、计算题
34、44.解析:流水线的加速比指采用流水线技术时指令的执行速度与等效的不采
用流水线技术的指令执行速度之比,理想情况加速比等于流水线的级数。

吞吐率指每秒钟能处理的指令数量。

本题中计算机采用5级指令流水线,所以理想情况下加
速比等于5。

现在每完成一条指令的时间是2ns,则最大吞吐率等于1/2ns=5×108。

35、64.解析:首先将x和y转换成浮点数
x=125=0.11111010×2011
y=-18.125=-0.10010001×20101
由于j x=00,0111,因此[j x]补=00,0111,同理[-j y]补=11,1011故
[j x]补=00,0111;00.11111010
[-j y]补=00,0101;11.01101111
下面可以按照5个步骤来做:
1)对阶。

求阶差:
[∆j]补=[j x]补-[j x]补=[j x]补+[-j y]补。

=000111+111011=000010
所以y的阶码要低2,故应该y向x对齐,y尾数需要右移两位,阶码加2,如下:[y]补=000111,11.110110112)
2)尾数求差。

00.11111010
+00.00100101(这里加的是y尾数的负数补码)
01.00011111
即[x-y]补=00,0111;01.00011111。

3)规格化。

尾数出现01.×××…x,说明需要右规一次即可,阶码加1,最后
可得
[x-y]补=00,1000;00.100011111(加了下画线的1为右规丢弃的1)
4)舍入处理。

山于右规低位丢1,因此尾数末位加1,即尾数变为
00.10010000。

5)溢出判断。

最后阶符为00,没有溢出,最后应将[x-y]补=001000,
00.10010000转换为二进制真值,即500
x-y=0.10010000×2001000=0.10010000×28=10010000
36、解析:由于存储系统采用50MHz的时钟,因此每·个时钟周期为1/(50MHz)=20ns。

1)当全部访问为读操作时,一次读操作所花费的时间为
T r=(1+3+8)×20ns=240ns
故存储器的带宽为
B r=8/T r=8/(240×10-9)=33.3×106字/s=133.2MB/s
2)当全部访问为写操作时,一次写操作所花费的时间为
T r =(1+2+8+3)×20ns=280ns
故存储器的带宽为
B w=8/T w=8/(280×10-9)=28.6×106字/s=114.4MB/s
3)读/写操作合在一起的加权时间为
T=240ns×0.65+280ns×0.35=254ns
故存储器的带宽为
B=8/T=8/(254×10-9)=31.5×106字/s=126MB/S
六、综合题
37、解析:
本函数最主要的操作就是A[]=B],但由于A]和B]都是char类型的,故每次用32位的运算器来进行char变量的比较,都是将char变量转换为int类型后进行比较的。

这其实浪费了运算器3/4的运算能力。

所以改进方法就是,一次比较连续的4个char变量,代码如
int compare(char*a,char*B)
if(A==B)
return strlen(A);
int*a,*b;
char*al,*b1;
a=(int*)A;
b=(int*)B;
while(*a++==*b++);
a1=(char*)--a;
b1=(char*)--b;
while(*al++==*b1++);
--b1;
return b1-B;
}
38、解析:
1)首先,操作码可以确定为7位;8个通用寄存器需要3位来表示;访问16K字的主存也需要14位,故指令字长需要7+3+14=24位,指令格式如下:
2)由于增加了一位寻址特征位,且基址寄存器使用了通用寄存器,因此除了加一位寻址方式X,还得空一个字段(基址寄存器编号R1)来表示使用哪一个通用寄存器作为基址寄存器,故指令格式为
另外,由于覆盖主存的16K字需要14位的地址,而寄存器只有12位,因此采用基址寻址不可以访问主存的任意单元,但可以将通用寄存器的内容向左移动两位,低位补0,这样就可以形成14位的基地址,然后与形式地址相加,得到的有效地址就可以访问16K字存储器的任意单元。

3)首先,由于不能改变硬件结构,因此把寄存器的位数加长是不可行的。

其次,因为指令字长为24位,而存储字长等于指令字长,所以恰好使用一次间接寻址就
能达到16M字的寻址范围,完全可以满足题目所要求的寻址范围,而且还超额完成任务。

39、解析:
1)流水线操作的时钟周期T应按4步操作中所需时问最长的一个步骤来考虑,所以T=100ns.
2)两条指令发生数据相关冲突的例子如下:
ADD R1,R2,R3(R2)+(R3)→R1
(将寄存器R2和R3的内容相加存储到寄存器RI)
SUB R4,R1,R5(R1)-(R5)→R4
(将寄存器R1的内容减去寄存器R5的内容,并将相减的结果存储到寄存器R4)
分析如下:首先这两条指令发生写后读(RAW)相关。

两条指令在流水线中的执行情况见表。

ADD指令在时钟4时将结果写入寄存器堆(R1),但SUB指令在时钟3时读寄存器堆
(R1)。

本来ADD指令应先写入R1,SUB指令后读R1,结果变成SUB指令先读R1.ADD指令后写R1,因而发生数据冲突。

如果硬件上不采取措施,则第2条指令SUB至少应该推迟两个时钟周期(2×100ns),即SUB指令中的指令译码并取数周期应该在ADD指令的写回周期之后才能保证不会出错,见表。

3)如果硬件上加以改进,则只延迟一个时钟周期即可(100ns)。

因为在ADD指令中,运算周期就已经将结果得到了,可以通过数据旁路技术在运算结果得到的时候将结果快速地送入寄存器RI,而不需要等到写回周期完成,见表。

相关文档
最新文档