2021年德州学院计算机应用技术专业《计算机组成原理》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021年德州学院计算机应用技术专业《计算机组成原理》科目期末试
卷A(有答案)
一、选择题
1、某计算机使用4体交叉编址存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,则可能发生访存冲突的地址对是()。
A.8004和8008
B.8002和8007
C.8001和8008
D.8000和8004
2、某机器的主存储器共32KB,由16片16K×l位(内部采用128×128存储阵列)的DRAM芯片字和位同时扩展构成。
若采用集中式刷新方式,且刷新周期为2ms,那么所有存储单元刷新一遍需要()个存储周期。
A.128
B.256
C.1024
D.16384
3、在C语言程序中,以下程序段最终的f值为()。
Float f=2.5+1e10;f=f-1e10;
A.2.5
B.250
C.0
D.3.5
4、下列关于定点数原码一位乘算法的描述正确的是()。
I.符号位不参加运算,根据数值位的乘法运算结果确定结果的符号位
II.在原码一位乘算法过程中,所有移位均是算术移位操作
Ⅲ.假设两个n位数进行原码一位乘,部分积至少需要使用n位奇存器
A.II,III C.只有III
B.只有Ⅲ D.全错
5、串行运算器结构简单,其运算规律是()。
A.由低位到高位先行进行进位运算
B.由低位到高位先行进行借位运算
C.由低位到高位逐位运算
D.由高位到低位逐位运算
6、某机器I/O设备采用异步串行传送方式传送字符信息,字符信息格式为1位起始位、8位数据位、1位校验位和1位停止位。
若要求每秒传送640个字符,那么该设备的有效数据传输率应为()。
A.640b/s
B.640B/s
C.6400B/s
D.6400b/s
7、关于总线的叙述,下列说法正确的是()。
I.总线忙信号由总线控制器建立
II.计数器定时查询方式不需要总线同意信号
III.链式查询、计数器查询、独立请求方式所需控制线路由少到多排序是:链式查询、独立请求方式、计数器查询
A.仅I、III
B.仅II,III
C.仅III
D.仅II
8、冯·诺依曼型计算机的设计思想主要有()。
1.存储程序Ⅱ.二进制表示Ⅲ.微程序方式Ⅳ.局部性原理
A. I,Ⅲ
B.Ⅱ,Ⅲ
C.IⅡ,IⅣ
D.I,IⅡ
9、某计算机主频为1.2GHz,其指令分为4类,它们在基准程序中所占比例及CPI如下表所示。
该机的
MIPS数是()。
A.100
B.200
C.400
D.600
10、指令译码器进行译码的是()
A.整条指令
B.指令的操作码字段
C.指令的地址
D.指令的操作数字段
11、已知一台时钟频率为2GHz的计算机的CPI为1.2。
某程序P在该计算机上的指令条数为4×10-6。
若在该计算机上,程序P从开始启动到执行结束所经历的时间是4s,则运
行P所用CPU时间占整个CPU时间的百分比大约是()。
A.40%
B.60%
C.80%
D.100%
12、某计算机主存空间为4GB,字长为32位,按字节编址,采用32位定长指令字格式。
若指令按字边界对齐存放,则程序计数器(PC)和指令寄存器(IR)的位数至少分别是()。
A.30,30
B.30,32
C.32,30
D.32,32
13、四地址指令OPA1A2A3A4的功能为(A1)OP(A2)一A3,且A4给出下一条指令地址,假设A1,A2,A3,A4都为主存储器地址,则完成上述指令需要访存()次。
A.2
B.3
C.4
D.5
14、流水线中有3类数据相关冲突:写后读相关、读后写相关、写后写相关。
那么下列3组指令中存在读后写相关的是()。
A.I1,SUB R1,R2,R3;(R2)-(R3)→R1
I2,ADD R4,R5,R1;(R5)+(R1)→R4
B. I1,STA M,R2;(R2)→M,M为主存单元
I2,ADD R2,R4,R5;(R4)+(R5)→R2
C.I1,MULR3,R2,R1;(R2)×(R3)→R3
I2,SUB R3,R4,R5;(R5)-(R4)→R3
D.以上都不是
15、在DMA方式中,周期窃取是窃取总线占用权一个或者多个()。
A.存取周期
B.指令周期
C.CPU周期
D.总线周期
二、填空题
16、软磁盘和硬磁盘的_______记录方式基本相同,但在_______和_______上存在较大差别。
17、主存储器容量通常以KB表示,其中K=______;硬盘容量通常以GB表示,其中
G=______
18、运算器的两个主要功能是:_______,_______
19、主存储器容量通常以MB表示,其中M=______,B=______硬盘容量通常以GB表示,其中G =______.
20、相联存储器是按_________访问的存储器,在cache中用来存放_________,在虚拟存
储器中用来存放_________.
21、流水CPU中的主要问题是________相关、________相关和________相关,为此需要采
用相应的技术对策,才能保证流水畅通而不断流。
22、当今的CPU芯片除了包括定点运算器和控制器外,还包括_______、_______运算器和_______管理等部件。
23、形成指令寻址的方式,称为指令寻址方式,有顺序寻址和_______寻址两种,使用_______来跟踪。
24、RISC的中文含义是________,CISC的中文含义是________。
25、DMA控制器访采用以下三种方法:________、________、________
三、名词解释题
26、字节:
27、并行传输:
28、段表:
29、通道命令:
四、简答题
30、在寄存器一寄存器型,寄存器一存储器型和存储器一存储器型三类指令中,哪类指令的执行时间最长?哪类指令的执行时间最短?为什么?
31、计算机CPU中有哪些类型的寄存器?这些寄存器有什么功能?
32、在定点机和浮点机中分别如何判断溢出?
33、什么是RISC?RISC指令系统的特点是什么?
五、计算题
34、某计算机采用5级指令流水线,如果每级执行时间是2ns,求理想情况下该流水线的加速比和吞吐率。
35、一台8位微机的地址总线为l6条,其RAM存储器容量为32KB,首地址为4000H,且地址是连续的,可用的最高地址是多少?
36、假设某字长为8位的计算机中,带符号整数采用补码表示,x=-68,y=-80,x 和y分别存放在寄存器A和B中。
请回答下列问题(要求最终用十六进制表示二进制序列):
1)寄存器A和B中的内容分别是什么?
2)若x和y相加后的结果存放在寄存器C中,则寄存器C中的内容是什么?运算结果是否正确?此时,溢出标志(OF)、符号标志(SF)和零标志(ZF)各是什么?加法器最高位的进位C。
是什么?
3)若x和y相减后的结果存放在寄存器D中,则寄存器D中的内容是什么?运算结果是否正确?此时,溢出标志(OF)、符号标志(SF)和零标志(ZF)各是什么?加法器最高位的进位C n是什么?
4)若将加法器最高位的进位Cn作为进位标志(CF),则能否直接根据CF的值对两个带符号整数的大小进行比较?
六、综合题
37、某机采用微程序控制方式,微指令字长为24位,采用水平型字段直接编码控制方式和断定方式。
共有微命令30个,构成4个互斥类,各包含5个、8个、14个和3个微命令,外部条件共3个。
1)控制存储器的容量应为多少?
2)设计出微指令的具体格式。
38、假定在一个8位字长的计算机中运行如下类C程序段:
unsigned int x=134;
unsigned int y=246;
int m=x;
int n=y;
unsigned int z1=x-y;
unsigned int z2=x+y;
int k l=m-n;
int k2=m+n;
若编译器编译时将8个8位寄存器R1~R8分别分配至变量x、y、m、n、z l、z2、k l和k2,则回答下列问题(提示:带符号整数用补码表示):
1)执行上述程序段后,寄存器R1,R5和R6的内容分别是什么(用十六进制
表示)?
2)执行上述程序段后,变量m和k1的值分别是多少(用十进制表示)?
3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这4种运算能
否利用同一个加法器及辅助电路实现?简述理由。
4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程
序段中,哪些带符号整数运算语句的执行结果会发生溢出?
39、设某机器共能完成120种操作,CPU共有8个通用寄存器,且寄存器都为12位。
主存容量为16K字(机器采用按字寻址),采用寄存器-存储器型指令。
1)欲使指令可直接访问主存的任意地址,指令字长应取多少位?
2)若在上述设计的指令字中设置一寻址特征位X,且X=0表示某个寄存器作为基
址寄存器,试画出指令格式。
试问采用基址寻址可否访问主存的任意单元?为什么?如不能,提出一种方案,使得指令可访问主存的任意位置。
3)若存储字长等于指令字长,且主存容量扩大到64K字,在不改变硬件结构的前提下,可采用什么方法使得指令可访问存储器的任意位置。
参考答案
一、选择题
1、D
2、A
3、C
4、D
5、C
6、B
7、D
8、D
9、C
10、B
11、B
12、B
13、C
14、B
15、A
二、填空题
16、存储原理结构性能
17、210 230
18、算术运算逻辑运算
19、220 8位(1个字节) 230
20、内容行地址表段表、页表和快表
21、资源数据控制
22、cache 浮点存储
23、跳跃程序计数器
24、精简指令系统计算机复杂指令系统计算机
25、停止CPU访问周期挪用 DMA和CPU交替访内
三、名词解释题
26、字节:
衡量数据量以及存储容量的基本单位。
1字节等于8位二进制信息,
27、并行传输:
每个数据位都需要单独一条传输线,所有的数据位同时进行传输。
(在采用并行传输方式的总线中,除了有传输数据的线路外,还可以具有传输地址和控制信号的线路,地址线用于选择存储单元和设备,控制线用于传递操作信号)
28、段表:
段式虚拟存储器管理用的地址映象表,其中包括每个段的基地址、段长、装入位和访问方式等。
29、通道命令:
通道自己专门用来处理输入输出事务的指令
四、简答题
30、答:寄存器-寄存器型执行速度最快,存储器-存储器型执行速度最慢。
因为前者操作数在寄存器中,后者操作数在存储器中,而访问一次存储器所需的时间一般比访问一次寄
存器所需时间长。
31、答:在计算机的运行过程中,cpu接到跟紧急的服务请求而暂停执行的现行程序转而去执行终端服务程序,已处理随机事件,执行完毕后又恢复源程序的执行;
32、解析:
(1)定点机
定点机中可分别采用单符号位和双符号位判断补码加/减运算是否溢出,其中单符号位又
分为两种方法:
1)若参加运算的两个操作数符号相同,结果的符号位又与操作数的符号不同,则为溢出。
2)若求和时最高进位与次高位进位“异或”结果为1,则为溢出。
双符号位判别方法:
当最后的运算结果两位符号位为10或者01时,溢出,10表示负溢出,01表示正溢出。
(2)浮点机
浮点机中的溢出根据阶码来判断。
当阶码大于最大正阶码时,即为浮点数溢出:当阶码小
于最小负阶码时,按机器零处理。
33、答:RISC是精简指令系统计算机,它有以下特点:(1)选取使用频率最高的一些简单指令,以及很有用但不复杂的指令。
(2)指令长度固定,指令格式种类少,寻址方式
种类少。
(3)只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行。
(4)大部分指令在一个机器周期内完成。
(5)CPU中通用寄存器数量相当多。
(6)以
硬布线控制为主,不用或少用微指令码控制。
一般用高级语言编程,特别重视编译优化工作,以减少程序执行时间.
五、计算题
34、44.解析:流水线的加速比指采用流水线技术时指令的执行速度与等效的不采
用流水线技术的指令执行速度之比,理想情况加速比等于流水线的级数。
吞吐率指每秒钟能处理的指令数量。
本题中计算机采用5级指令流水线,所以理想情况下加
速比等于5。
现在每完成一条指令的时间是2ns,则最大吞吐率等于1/2ns=5×108。
35、解析:32KB存储空间共占用15条地址线,若32KB的存储地址起始单元为0000H,其范围应为0000H~7FFFH,但现在的首地址为4000H,即首地址后移了,因此最高地址也应该相应后移,故最高地址=4000H+7FFFH=BFFFH。
归纳总结:32KB的存储空间是连续的,由于首地址发生变化,因此术地址也会跟
着发生变化。
36、解析:
1)[-68]补=[-1000100B]补=10111100B=BCH。
[-80]补=[-1010000B]补=10110000B=B0H。
所以,寄存器A和寄存器B中的内容分别是BCH和BOH。
2)①[x+y]补=[x]补+[y]补=10111100B+10110000B=(1)0110100B=6CH,最高位前面的一位1被丢弃,因此,寄存器C中的内容为6CH。
2②寄存器C中的内容为6CH,对应的真值为+108,而x+y的正确结果应是-68+(-80)-148,故结果不正确。
③溢出标志位(OF)可采用以下任意一条规则判断得到。
规则1:若两个加数的符号位相同,但与结果的符号位相异,则溢出。
规则2:若最高位上的进位和次高位上的进位不同,则溢出。
通过这两个规则都能判断出结果溢出,即溢出标志位(OF)为1,说明寄存器C中
的内容不是正确的结果。
结果的第一位0为符号标志(SF),表示结果为整数。
因
为结果不为0,所以零标志ZF=0。
综上,溢出标志(OF)为1,符号标志(SF)为0,零标志(ZF)为0。
④加法器最高位向前的进位C n为l。
3)①[x-y]=[x]补+[-y]补=10111100B+01010000B=(1)
00001100B=OCH,最高位前面的一位1被丢弃,因此,寄存器D中的内容为CH。
②对应的真值为+12,结果正确。
③两个加数的符号位相异一定不会溢出,因此溢出标志(OF)为0,说明寄
存器D中的内容是真正的结果:结果的第一位0为符号标志(SF),表示结果为正数:因为结果不为0,所以零标志ZF=0。
综上,溢出标志(OF)为0,符号标志(SF)为0,零标志(ZF)为0。
④加法器最高位向前的进位Ca为1。
4)从2)和3)的例子就可得出,带符号整数-68和-80时,C。
为1,而带符号数-68和80时,Cn一样为1,所以若将加法器最高位的进位Ca作为进位标志(CF).无法直接根据CF的值判断两个带符号整数的大小。
六、综合题
37、解析:微指令字长为24位,操作控制字段被分为4组,第1组3位(表示5个微命令).第2组4位,(表示8个微命令),第3组4位(表示14个微命令),第4组2
位(表示3个微命令);判断测试条件字段2位,下地址字段9位。
1)因为下地址字段有9位,所以控制存储器的容量为29×24位。
2)微指令的具体格式如图所示。
38、解析:
1)寄存器R1存储的是134,转换成二进制为10000110B,即86H。
寄存器R5存储的是x-y的内容,x-y=-112,转换成二进制为10010000B,即90H。
寄存器R6存储的是x+y的内容,x+y=380,转换成
二进制为101111100B(前面的进位含弃),即7CH。
由于计算机字长为8位,因此无符号整数能表示
的范围为0~255,而x+y=380,故溢出。
2)m二进制表示为10000110B,由于m是int型,因此最高位为符号位,可以得出m的原码为11111010(对10000110除符号位取反加1),即-122。
同理,n的二进制表示为11110110B,故n的
原码为10001010,转成十进制为-10。
因此,k1=-122-(-10)=-112。
3)参考答案:可以利用同一个加法器及辅助电路实现。
因为无符号整数和有符号整数都是以补码
形式存储,所以运算规则都是一样的。
但有一点需要考虑,由于无符号整数和有符号整数的表示范围是
不一样的,因此需要设置不一样的溢出电路。
4)至于内部如何判断溢出,可参考前面的总结。
带符号整数只有k2会发生溢出。
分析:8位带符
号整数的补码取值范围为-128~+127,而k2-m+n=-122-10--132,超出范围。
而kl=-112,在范围-128~+127之内。
39、解析:
1)首先,操作码可以确定为7位;8个通用寄存器需要3位来表示;访问16K字的
主存也需要14位,故指令字长需要7+3+14=24位,指令格式如下:
2)由于增加了一位寻址特征位,且基址寄存器使用了通用寄存器,因此除了加一位寻址方式X,还得空一个字段(基址寄存器编号R1)来表示使用哪一个通用寄存器作为基址寄存器,故指令格式为
另外,由于覆盖主存的16K字需要14位的地址,而寄存器只有12位,因此采用基址寻址不可以访问主存的任意单元,但可以将通用寄存器的内容向左移动两位,低位补0,这样就可以形成14位的基地址,然后与形式地址相加,得到的有效地址就可以访问16K字存储器的任意单元。
3)首先,由于不能改变硬件结构,因此把寄存器的位数加长是不可行的。
其次,因为指令字长为24位,而存储字长等于指令字长,所以恰好使用一次间接寻址就能达到16M字的寻址范围,完全可以满足题目所要求的寻址范围,而且还超额完成任务。