2022年辽宁工程技术大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年辽宁工程技术大学软件工程专业《计算机组成原理》科目期末
试卷A(有答案)
一、选择题
1、采用指令Cache与数据Cache分离的主要目的是()。
A.降低Cache的缺失损失
B.提高Cache的命中率
C.降低CPU平均访存时间
D.减少指令流水线资源冲突
2、某存储器容量为64KB,按字节编址,地址4000H~5FFFH为ROM区,其余为RAM 区。
若采用8K×4位的SRAM芯片进行设计,则需要该芯片的数量是()。
A.7
B.8
C.14
D.16
3、计算机硬件能够直接执行的是()。
1.机器语言程序IⅡ.汇编语言程序Ⅲ.硬件描述语言程序入
A.仅I
B.仅I、Ⅱ
C.仅I、Ⅲ
D. I、Ⅱ 、Ⅲ
4、在计算机系统中,作为硬件与应用软件之间的界面是()。
A.操作系统
B.编译程序
C.指令系统
D.以上都不是
5、假定编译器对高级语言的某条语句可以编译生成两种不同的指令序列,A、B和C三类指令的CPl和执行两种不同序列所含的三类指令条数见下表。
则以下结论错误的是()。
I.序列一比序列二少l条指令
Ⅱ.序列一比序列二的执行速度快
Ⅲ.序列一的总时钟周期数比序列二多1个
Ⅳ.序列一的CPI比序列二的CPI大
A.I、ll
B.1、Ⅲ
C. ll、1V
D.Ⅱ
6、在下面描述的PCI总线的基本概念中,不正确的表述是()。
A.PCI总线支持即插即用
B.PCI总线可对传输信息进行奇偶校验
C.系统中允许有多条PCI总线
D.PCI设备一定是主设备
7、某机器I/O设备采用异步串行传送方式传送字符信息,字符信息格式为1位起始位、8位数据位、1位校验位和1位停止位。
若要求每秒传送640个字符,那么该设备的有效数据传输率应为()。
A.640b/s
B.640B/s
C.6400B/s
D.6400b/s
8、下列部件中不属于执行部件的是()。
A.控制器
B.存储器
C.运算器
D.外部设备
9、下列说法中,正确的是()。
A.加法指令的执行周期一定要访存
B.加法指令的执行周期一定不要访存
C.指令的地址码给出存储器地址的加法指令,在执行周期一定要访存
D.指令的地址码给出存储器地址的加法指令,在执行周期一定不需要访存
10、下列操作中,不属于“中断隐指令”所完成的是()。
I.关中断
II.开中断
III.保护现场
IV.保存断点
V.将中断服务程序首地址送PC
A. I,II
B.II,III,V
C.II,III
D.III,V
11、在采用中断I/0方式控制打印输出的情况下,CPU和打印控制接口中的I/O端口之间交换的信息不可能是()。
A.打印字符
B.主存地址
C.设备状态
D.控制命令
12、假定有4个整数用8位补码分别表示:rl=FEH,r2=F2H,r3=90H,r4=F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是()。
A.rlxr4
B.r2xr3
C.rlxr4
D.r2xr4
13、串行运算器结构简单,其运算规律是()。
A.由低位到高位先行进行进位运算
B.由低位到高位先行进行借位运算
C.由低位到高位逐位运算
D.由高位到低位逐位运算
14、某指令系统有200条指令,对操作码采用固定长度二进制编码时,最少需要用()
A.4
B.8
C.16
D.32
15、执行操作的数据不可能来()。
A.寄存器
B.指令本身
C.控制存储器
D.存储器
二、填空题
16、并行I/O接口_______和串行I/O接口_______是两个目前最具权威性和发展前景的标
准接
17、存储________并按________顺序执行,这是冯诺依曼型计算机的工作原理。
18、堆栈是一种特殊的数据寻址方式,它采用________原理。
按结构不同,分为________
堆栈和________堆栈。
19、广泛使用的_______和_______都是半导体随机读写存储器,它们共同的缺点是_______
20、计算机软件一般分为两大类:一类叫______,另一类叫______操作系统属于_______类。
21、条件转移、无条件转移、转子程序、返主程序、中断返回指令都属于_______类指令,这类指令在指令格式中所表示的地址不是_______的地址,而是_______的地址。
22、不同的CRT显示标准所支持的最大________和________数目是不同的。
23、指令格式是指令用_______表示的结构形式,通常格式中由操作码字段和_______字段
组成。
24、流水CPU中的主要问题是_________相关,_________相关和_________相关;为此需要
采用相应的技术对策,才能保证流水畅通而不断流。
25、计算机系统中,根据应用条件和硬件资源不同,数据传输方式可采用______传送、
______传送、______传送。
三、名词解释题
26、气泡式喷墨打印机:
27、四边沿协议(全互锁):
28、存储器:
29、访问周期时间:
四、简答题
30、将指令按功能分类,一般可分为哪几类?按操作数个数分类,又可将指令分为哪几
31、I/0设备与主机交换信息时,共有哪几种控制方式。
简述他们的特点。
32、Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处?
33、简述微程序控制方式的基本思想。
它有什么优点和缺点?
五、计算题
34、已知计算机的字长为32位,存储器的容量为1MR.如果按字节、半字、字、双字寻址,寻址范围各是多少?
35、设有主频24MHz的CPU,平均每条指令的执行时间为两个机器周期,每个机器周期由两个时钟周期组成,试求:
1)机器的工作速度。
2)假如每个指令周期中有一个是访存周期,需插入两个时钟周期的等待时间,求机器的工作速度。
解:
36、假定硬盘传输数据以32位的字为单位,传输速率为IMB/s。
CPU的时钟频率
为50MHz
1)采用程序查询的输入/输出方式,假设查询操作需要100个时钟周期,求CPU为I/O查询所花费的时间比率,假定进行足够的查询以避免数据丢失。
2)采用中断方法进行控制,每次传输的开销(包括中断处理)为100个时钟周期。
求CPU为传输硬盘数据花费的时间比重。
3)采用DMA控制器进行输入/输出操作,假定DMA的启动操作需要1000个时钟
周期,DMA完成时处理中断需要500个时钟周期。
如果平均传输的数据长度为
4KB,问在硬盘工作时处理器将用多少时间比重进行输入/输出操作,忽略DMA申请使用总线的影响。
六、综合题
37、现有4级流水线,分别完成取指、指令译码并取数、运算、回写4步操作,假设完成各部操作的时间依次为100ns,100ns,80ns,50ns。
试问:
1)流水线的操作周期应设计为多少?
2)试给出相邻两条指令发生数据相关的例子(假设在硬件上不采取措施),试分析第2条指令要推迟多少时间进行才不会出错?
3)如果在硬件设计上加以改进,至少需要推迟多少时间?
38、图是从实时角度观察到的中断嵌段。
试问:这个中断系统可实现几重中断?请分析图中的中断过程。
39、一个程序员在一台字长为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;
参考答案
一、选择题
1、D
2、C
3、A
4、A
5、D
6、D
7、B
8、A
9、C
10、C
11、B
12、B
13、C
14、B
15、C
二、填空题
16、SCSI IEEE1394
17、程序地址
18、先进后出寄存器存储器
19、SRAM DRAM 断电后不能保存信息
20、系统软件应用软件系统软件
21、程序控制类操作数下一条指令
22、分辨率颜色
23、二进制代码地址码
24、资源数据控制
25、并行串行复用
三、名词解释题
26、气泡式喷墨打印机:
一种非击打式打印设备,喷头通过电加热,使墨水在蒸气的作用下从喷头射到纸上。
27、四边沿协议(全互锁):
全互锁的总线通信异步方式,就绪信号和应答信号的上升边沿和下降边沿都是触发边沿。
28、存储器:
计算机中存储程序和数据的部件,分为内存和外存。
29、访问周期时间:
从一次访问存储的操作到操作完成后可启动下一次操作的时间。
四、简答题
30、解析:条件相对转移指令,指令中给出操作码和相对转移偏移值,条件转移要依据转移判断条件。
指令的执行步骤如下:
1)程序计数器(PC)的内容送地址寄存器。
2)读内存,读出内容送指令寄存器(IR),PC内容自增1。
3)执行条件转移指令时要判别指定的条件,若为真,则执行:尚未修改的PC(自增1之前的值)内容送ALU,相对转移偏移值送ALU,ALU执行加操作,结果送入PC.否则顺序地进入下一条指令的执行过程。
31、答:五种:1.程序查询方式是由CPU通过程序不断查询I/0设备是否已做好准备,从而控制I/0设备与主机交换信息。
2.程序中断方式倘若CPU在启动I/0设备后,不查询设备是否已准备就绪,继续执行自身程序,只是当I/0设备准备就绪并向CPU发出中断请求后予以响应,这将大大提高CPU的工作效率。
3.直接存储器存取方式(DMA)主存与I/0设备之间有一条数据通路,主存与I/0设备交换信息时,无需调用中断服务程序4.I/0通道方式、5.I/0处理机方式
32、答:Cache做在CPU芯片内主要有下面几个好处:
1)可提高外部总线的利用率。
因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线。
2)Cache不占用外部总线就意味着外部总线可更多地支持I/0设备与主存的信息传输,增强了系统的整体效率。
3)可提高存取速度。
因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高。
将指令Cache和数据Cache分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。
2)指令Cache可用ROM实现,以提高指令存取的可靠性。
3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。
33、答:(1)微操作命令以为微编码形式变成指令,并固化在rom中(2)讲一条指令
的操作分为若干个微指令序列,用微指令程序对应的解释执行;(3)易于维护,和修改,通用性强,但速度慢;
五、计算题
34、解:首先1MB=8Mhit(为了在后面的计算中单位统一)按字节寻址时,寻址范围为:
8Mbit/8bit=lMB。
按半字寻址时,寻址范围为:8Mbit/16bit=512KB。
按字寻址时,寻址范围为:
8Mbit/32bit=256KB。
按双字寻址时,寻址范围为:8Mbit/64bit=128KB。
35、1)主频为24MHz的意思是每秒中包含24M个时钟周期,又因为执行一条指令需要4
个时钟周期,故机器每秒可以执行的指令数为24M/4=6M条(600万条)。
2)插入两个时钟周期,即执行每条指令需要6个时钟周期,故机器每秒可以执行的指令数为24M/6=4M条,即400万条。
36、解析:本题考查计算机的性能指标和I/O方式。
先计算每次传输过程的平均时间,然后根据程序查询、中断和DMA方式的特点计算外设I/O的时间占整个CPU
时间的百分比。
1)采用程序查询的输入/输出方式,硬盘查询的速率为1MB/4B=250k(每秒查询次数)。
查询的时钟周期数为250k×100=25 000k.
占用的CPU时间比率为25 000k/50M=50%。
2)采用中断方法进行控制,每传送一个字需要的时问为(32bit/8)
÷1MB/s=4μs.
CPU 时钟周期为1/50MHz=0.02μs.
得到时间比重为100×0.02/4=50%。
3)采用DMA控制器进行输入/输出操作,平均传输的数据长度为4KB.传送的时间为4KB÷1MB/s=4ms在DMA传输的过程中,CPU不需要进行操作,所以CPU为传输硬盘数据花费的时间比重为0.02×1500/(4000+0.02×1 500)=0.74%.
六、综合题
37、解析:
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,而不需要等到写回周期完成,见表。
38、解析:该中断系统可以实现5重中断。
中断优先级的顺序是,优先权1最高,
而现行程序运行于最低优先权(不妨设优先权为6)。
图7-21中出现了4重中断,
其中断过程如下:现行程序运行到T1时刻,响应优先权4的中断源的中断请求并进
行中断服务。
到T3时刻,优先权4的中断服务还未结束,但又出现了优先权3的中
断源的中断请求,暂停优先权4的中断服务,而响应优先权3的中断。
到T4时刻,
又被优先权2的中断源所中断,直至T6时刻,返回优先权3的中断服务。
到T7时刻,优先权1的中断源发出中断请求并被响应,到T8时刻优先权1中断服务完毕,返回
优先权3的服务程序。
到T10时刻优先权3中断服务结束,返回优先权4的中断服务。
到T11时刻优先权4的中断服务结束,最后返回现行程序。
在图中,优先权3的中断服务程序被中断2次,而优先权5的中断请求没有发生。
39、解析:
本函数最主要的操作就是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;
}。