《计算机组成原理》试题集
一、选择题
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
1.反映计算机基本功能的是( )
A)操作系统 B)系统软件 C)指令系统 D)数据库系统
2.若二进制数为1111.101,则相应的十进制数为( )
A)15.625 B)15.5 C)14.625 D) 14.5
3.若十进制数为132.75,则相应的十六进制数为( )
A)21.3 B)84.C C)24.6 D)84.6
4.若十六进制数为A3.5,则相应的十进制数为( )
A)172.5 B)179.3125 C)163.3125 D)188.5
5.若十六进制数为B5.4,则相应的十进制数为( )
A)176.5 B)176.25 C)181.25 D)181.5
6.设有二进制数x=-1101101,若采用8位二进制数表示,则[x]补=( )
A)11101101 B)10010011 C)00010011 D)10010010
7.若[X]补=1.1011,则真值X是( )
A)-0.1011 B)-0.0101 C)0.1011 D)0.0101
8.若x=1011,则[x]补=( )
A)01011 B)1011 C)0101 D)10101
9.若[X]补=0.1011,则真值X=( )
A)0.1011 B)0.0101 C)1.1011 D)1.0101
10.某机字长8位,含一位数符,采用原码表示,则定点小数所能表示的非零最小正数为( )
A)2-9 B)2-8 C)1-2-7 D)2-7
11.一个n+1位整数原码的数值范围是( )
A)-1n+1B>C>D,中断程序的屏蔽位设置如下表(其中“0”为允许,“1”为屏蔽,CPU状态时屏蔽码为0000)。
(1)中断处理次序为什么?
(2)设A、B、C、D同时请求中断,画出CPU执行程序的轨迹。
13. 某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如图。图中所有的控制信号为1时表示有效,0为无效。如控制信号MDRinE=1表示允许数据从DB打入MDR,MDRin=1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD (R1),R0”的功能为:(R0)+((R1))à((R1)),即将R0中的数据与R1内容所指主存单元的内容相加,结果写入R1内容所指的主存单元。
下表给出了上述指令的取指和译码阶段的每个节拍(时钟周期)的功能和有效控制信号。请按表中描述的方式,用表格列出指令执行阶段每个节拍的功能和有效控制信号。
时钟
功能
有效控制信号
C1
MARß(PC)
PCout, MARin
C2
MDRßM(MAR)
PCß(PC)+1
MemR, MDRinE
PC+1
C3
IRß(MDR)
MDRout, IRin
C4
指令译码
无
14、一个有32位程序地址空间,页面容量为1KB,主存的容量为8MB的存储系统,问:
(1) 虚页号字段有多少位?页表将有多少行?
(2) 页表的每一行有多少位?页表的容量有多少字节?
15、假设在一个采用组相联映像方式的Cache中,主存有B0~B7共8块组成,Cache有C0~C3共4块,组内块数为2块。每块的大小为32个字节,采用FIFO块替换算法。在一个程序执行过程中依次访问块地址流如下:
B1,B4,B6,B3,B0,B4,B6,B2,B4,B5
(1) 写出主存地址的格式,并标出各字段的长度
(2) 写出Cache地址的格式,并标出各字段的长度
(3) 画出主存与Cache之间各个块的映像对应关系
(4) 列出程序执行过程中Cache的块地址流分布情况。并计算Cache的块命中率
16. 设主存容量为 1MB , Cache 容量为 16KB ,每字块有 16 个字,每字 32 位。
(1)若Cache采用直接相联映像,求出主存地址字段中各段的位数。
(2)若Cache采用四路组相联映像,求出主存地址字段中各段的位数。
17、有一主存——Cache层次的存储器,其主存容量1MB,Cache容量64KB,每块8KB,若采用直接映象方式,
求:①主存的地址格式?②主存地址为25301H,问它在主存的哪一块?
18、(10分)已知某8位机的主存采用半导体存储器,内存容量为32KB,若使用4K×4位RAM芯片组成该机存储器,请计算需要的RAM芯片的数量,并画出这些芯片与CPU连接示意图。
19、 某16位机所使用指令格式和寻址方式如下所示。该机有两个20位基值寄存器,四个16位变址寄存器,十六个16位通用寄存器。指令格式中的 S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的编码方式如下图所示,其中操作码定义为:
MOV (OP)=(A)H, MOV是传送指令
STA (OP)=(1B)H, STA为写存储器指令
LDA (OP)=(3C)H, LDA为加载指令
请完成以下分析:
(1)分析CPU完成哪一种操作所花时间最短?哪一种操作花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?
(2)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?
① (F0F1)H (3CD2)H ② (61C2)H
20、一个8位的单总线计算机系统,其中寄存器定义为:指令寄存器(IR),程序计数器(PC),数据寄存器(MDR),地址寄存器(MAR),状态寄存器(SR),4个通用寄存器(R0-R3),用户不可见暂存器(Z和Y)。假定系统中只有16条指令,其中减法指令SUB(SUB R0,R1)为单字节指令表示寄存器R1与R0相减,结果存放到R0中;SUBI为双字节指令(SUBI R0,R1,I),功能为R1与立即数I之差,结果存放到寄存器R0中;双字节指令Load(LOAD R0,R1,I),是将内存单元地址(R1+I)中的内容加载到寄存器R0中。(I为8位立即送)
请写出以上3条指令执行的微操作序列,要求包含取指令过程。