计算机组成原理综合练习题
一. 单选题(每题1 分,共15分)
1. 对于第一台电子数字计算机ENIAC,下列描述正确的是( )
A. 存储器采用了磁芯存储器 B. 中央处理器把运算器和控制器做在同一个芯片中
C. 基本元器件为体积很大的真空管 D. 采用了冯若依曼体系结构
2. 下列各叙述中符合“存储程序”思想的是( )
A. 把计算机的程序指令存放到存储器,而所需数据从输入设备获取。
B. 程序和数据必须分开存放,否则无法区分。
C. 计算机运行时执行预先存放的程序和数据代码。
D. 为了区分数据和程序需要在代码中使用标志信息。
3. 下列内容中不属于指令集体系结构ISA的是( )
A. 指令中操作码的长度和编码方法 B. 可编程寄存器的名称、变化和用途等
C. 主存储器的编址方式 D. 编译程序的实现
4. 在浮点运算中,“右规”操作是指( )。
A.尾数左移,阶码增大 B.尾数左移,阶码减小
C.尾数右移,阶码增大 D.尾数右移,阶码减小
5. IEEE754单精度浮点数表示中,指数移码的偏置常数是( )
A. 127 B. 128 C. 255 D.256
6. IEEE754标准的浮点数表示中( )
A.阶码和尾数都用补码表示 B.阶码和尾数都用原码表示
C.阶码用移码表示,尾数用补码表示 D.阶码用移码表示,尾数用原码表示
7. 下列说法不正确的是( )
A. 奇偶校验码能够发现奇数个错 B. 奇偶校验码能够发现偶数个错
C. 海明码能够发现两位同时出错 D. 海明码能够定位1位错的位置
8. 在IEEE754浮点数格式中,∞的表示是( )
A. 指数各位为0,尾数各位为0 B. 指数各位为0,尾数各位为1
C. 指数各位为1,尾数各位为0 D. 指数各位为1,尾数各位为1
9. 微程序存放在( )。
A. 堆栈中 B. 主存中 C. CPU中 D. 磁盘中
10. 单周期MIPS在一个时钟周期中不能完成( )
A. 从数据存储器读数据和向数据存储器写数据;
B. ALU运算和向寄存器堆写数据。
C. 更新PC内容和向数据存储器写数据
D. 寄存器堆读数据,ALU运算和数据存储器写数据
11. 动态存储器是( )
A..依靠MOS开关管存储信息 B. 依靠双稳态触发器存储信息
C. 依靠电容存储信息 D. 依靠寄存器存储信息
12. 磁盘存储器属于( )
A. 随机存取存储器 B. 顺序存取存储器 C. 直接存取存储器 D. 只读存储器
13. 中断响应过程中的保存断点是指( )
A. 将CPU中的各通用寄存器的内容压入堆栈 B. 将程序计数器PC的内容压入堆栈
C. 将CPU中的PSW寄存器的内容压入堆栈 D. 将寄存器SP的内容压入堆栈
14. CPU响应DMA请求是在( )。
A. 一个时钟周期结束时 B. 一个总线周期结束时
C. 一条指令结束时 D. 一段程序结束时
15. 下列总线中不属于I/O总线的是( )
A. FSB B. PCI-X C. ISA D. PCI
二. 填空题(每空1分,共14分)
1. 冯.若依曼结构计算机包括运算器、( )、( )、( )和( )五个基本部件。
2. IEEE754单精度浮点数表示中,阶码的位数为( ),尾数的位数为( )。
3. MIPS处理器中包含有( )个寄存器,每个寄存器长度为( )位,用来装常数零的寄存器号为( )。
4. 主存与Cache采用直接映射时,主存地址被划分为( )、( )和( )三个部分。
5. CPU对I/O设备的编址方式有( )和( )两种。
三. 名词解释(每小题3分,共12分)
1. 基准程序(benchmarks)
2. 对阶(浮点加减运算)
3. CISC
4. 向量中断
四. 简答题(每小题4分,共16分)
1. IEEE754单精度浮点数标准中非规格化数是如何定义的?尾数的隐藏位是多少?阶码的真值是多少?
2. 下列MIPS指令中分别包含哪些寻址方式?指令的功能是什么?
(1)beq $s1,$s2,addr
(2)lui $t1,100
(3)j 100
(4)lw $s3,20($t1)
3. DMA中常用的数据传送方式有哪三种?简述它们的传送方法。
4. 简述中断响应与中断处理的过程,并指出它们各自是由硬件还是软件实现的。
五. 计算与分析题(共7小题,共43分)
1. 一个高级语言编写的程序被两个不同的编译器编译生成两种不同的指令序列X1和X2,在时钟频率为2GHz的机器上运行,目标指令序列中用到的指令类型有A、B、C和D四类。四类指令在机器上的CPI和两个指令序列所用的各类指令条数如下表所示。
指令类型
A
B
C
D
各类指令的CPI
1
3
4
2
X1的指令条数
5
3
2
2
X2的指令条数
4
5
2
3
问:X1和X2各有多少条指令?所含的时钟周期数各为多少?CPI各为多少?执行时间各为多少?小数保留到小数点后1位。
2. 将十进制数-135.59375转换成IEEE754的32位标准浮点数格式,分别写出其二进制数表示和16进制数表示。
3. 若指令“ORI rt,rs,immediate”的编码格式如下:
[31:26]
[25:21]
[20:16]
[15:0]
OP
rs
rt
immediate
其中,OP为001101B,rs为8,rt为15,immediate为200。
将该指令分别按照小端方式和大端方式存储在2000号开始的四个字节存储单元中。要求用十六进制数表示,结果直接填入表中。
单元地址
2000
2001
2001
2003
小端方式
大端方式
4. 设有下图所示单周期MIPS数据通路,试分别指出下列指令在该数据通路中执行时,各控制信号的取值是什么?说明:单一信号取值为:有效为1,无效为0; ALUctr信号取值可为add,sub,addu,subu,or,and;无影响为x。
(1)andi $s1,$s2,100
(2)sub $8,$4,$5
(2)lw $t1,20($s2)
(3)beq $s1,$t1,200
指令
RegDst
ALUSrc
ALUctr
MemWr
ExtOP
RegWr
MemtoReg
Branch
Jump
andi
sub
lu
beq
5. 某半导体存储器容量为4K16,其中0000H~0BFFH为ROM区,0C00H~FFFH为RAM区,地址总线A11~A0(低)。ROM芯片有1KB/片和2KB/片两种,RAM芯片有1KB/片和2KB/片两种。
(1)计算该存储器的ROM区容量和RAM区容量
(2)计算所需各类芯片的数量。
(3)说明加到各芯片的地址范围值和地址线。
(4)写出各片选信号的逻辑式。
6. 设主存容量为32MB,Cache数据容量为32KB,主存与Cache交换数据单位为4KB。
(1)采用2路组相联映射方式,主存0x1234号单元所在主存块应装入的Cache组号是多少?主存0x123号块应装入的Cache组号是多少?
(2)计算该Cache的总容量(包含有效位V)。
7. 设某计算机有5级中断,中断响应优先级为1>2>3>4>5,而中断处理优先级为1>4>5>2>3。要求:
(1)设计各种中断处理程序的中断屏蔽位(假设1为屏蔽,0为开放);
(2)若在运行主程序时,同时出现第2、4级中断请求,而在处理第2级中断过程中,又同时出现1、3、5级中断请求,试画出此程序运行过程示意图。
计算机组成原理模拟试题参考答案
六. 单选题
CCDCA DBCCA CCBBA
七. 填空题
1. 答:控制器,存储器,输入设备,输出设备
2. 答:(1)8位 (2)23位
3. 答:32,32,0
4.答:主存群号,标记(或Cache行号),块内地址,或者主存组号,组内块号,块内地址
5.答:统一编址方式(内存映射方式),独立编址方式(使用专门的I/O指令方式)
八. 名词解释
1. 基准程序(benchmarks)
答:专门用来进行性能评价的一组程序,不同的机器运行相同的基准程序可比较它们的运行时间。
2. 对阶(浮点加减运算)
答:浮点数加减运算的对阶是使两数的阶码相等(小数点实际位置对齐,尾数对应位权值相同)。
3. CISC
答:即复杂指令集计算机,将复杂指令加入到指令系统中,以提高计算机的处理效率。
4. 向量中断
答:直接依靠硬件来获得中断服务程序的入口地址的这种中断称为向量中断。
九. 简答题
2. IEEE754单精度浮点数标准中非规格化数是如何定义的?尾数的隐藏位是多少?阶码的真值是多少?
答:非规格化数的阶码为全0,尾数为非0值。尾数的隐藏位为0,阶码的真值为-126.
2. 下列MIPS指令中分别包含哪些寻址方式?指令的功能是什么?
(1)beq $s1,$s2,addr
(2)lui $t1,100
(3)j 100
(4)lw $s3,20($t1)
答:(1)寄存器寻址,PC相对寻址。指令的功能是比较寄存器$s1和$s2,如果相等则转移。
(2)寄存器寻址,立即数寻址。将寄存器t1的高16位设置为100,低16位为0.
(3)伪直接寻址(或页面寻址)。跳转指令,跳转到PC指定的指令处,PC的形成是,高4位保持不变,将100左移两位(或乘以4)送入PC的低28位。
(4)寄存器寻址,基址寻址。从存储器中取一个字单元内容送入s3寄存器中,存储器地址为:将常数20加上寄存器t1的内容。
3. DMA中常用的数据传送方式有哪三种?简述它们的传送方法。
答:有CPU停止法(成组传送)、周期挪用(窃取)法(单字传送)和交替分时访问法。
CPU停止法:DMA传输时,CPU脱离总线,停止访问主存,直到DMA传完一块数据。
周期挪用法:DMA传输时,CPU让出一个总线事务周期,由DMA控制器控制总线来访问主存,传送完一个数据后立即释放总线。
交替分时访问法:将每个存储周期分成两个时间片,一个给CPU,一个给DMA,这样在每个存储周期内,CPU和DMA都可访问存储器。
4. 答:
中断响应是指主机发现外部中断请求,中止现行程序的执行,到调出中断服务程序这一过程。中断响应是又CPU硬件完成的,它完成工作包括关中断、保护断点和程序状态、识别中断源。
中断处理是指执行相应中断服务程序的过程。中断处理是由软件完成的,它就是执行相应的中断服务程序,不同的中断有不同的中断服务程序,大致包括准备阶段、具体的中断处理阶段和恢复阶段。
十. 计算与分析题
1. 一个高级语言编写的程序被两个不同的编译器编译生成两种不同的指令序列X1和X2,在时钟频率为2GHz的机器上运行,目标指令序列中用到的指令类型有A、B、C和D四类。四类指令在机器上的CPI和两个指令序列所用的各类指令条数如下表所示。
指令类型
A
B
C
D
各类指令的CPI
1
3
4
2
X1的指令条数
5
3
2
2
X2的指令条数
4
5
2
3
问:X1和X2各有多少条指令?所含的时钟周期数各为多少?CPI各为多少?执行时间各为多少?小数保留到小数点后1位。
解:X1有12条指令,所含的时钟周期数为51+33+24+22=26,CPI为 26/12=2.2,执行时间为26/2G = 13ns。
X2有14条指令,所含的时钟周期数为41+53+24+32=33,CPI为 33/14 =2.4,执行时间为33/2G = 16.5ns。
2. 将十进制数-135.59375转换成IEEE754 的32位标准浮点数格式,分别写出其二进制数表示和16进制数表示。
解:
135.59375=(10000111.10011)2
规格化尾数=1.000011110011,阶码e=7,E=7+127=134=(10000110)2
尾数符号S=1,尾数M=000011110011
32位二进制格式:1 10000110 00001111001 100000000000
16进制格式:C3079800
3. 若指令“ORI rt,rs,immediate”的编码格式如下:
[31:26]
[25:21]
[20:16]
[15:0]
OP
rs
rt
immediate
其中,OP为001101B,rs为8,rt为15,immediate为200。
将该指令分别按照小端方式和大端方式存储在2000号开始的四个字节存储单元中。要求用十六进制数表示,结果直接填入表中。
单元地址
2000
2001
2001
2003
小端方式
大端方式
解:指令码的二进制表示:001101 01000 01111 00000000 11001000
单元地址
2000
2001
2001
2003
小端方式
35
0F
C8
00
大端方式
35
0F
00
C8
4. 设有下图所示单周期MIPS数据通路,试分别指出下列指令在该数据通路中执行时,各控制信号的取值是什么?说明:有效为1;无效为0; ALUctr可为add,sub,addu,subu,or,and;无影响为x.
(1)andi $s1,$s2,100
(2)sub $8,$4,$5
(2)lw $t1,20($s2)
(3)beq $s1,$t1,200
指令
RegDst
ALUSrc
ALUctr
MemWr
ExtOP
RegWr
MemtoReg
Branch
Jump
andi
sub
lu
beq
答:
指令
RegDst
ALUSrc
ALUctr
MemWr
ExtOP
RegWr
MemtoReg
Branch
Jump
andi
0
1
And
0
0
1
0
0
0
sub
1
0
Sub
0
X
1
0
0
0
lu
0
1
Add
0
1
1
1
0
0
beq
X
0
Subu
0
X
0
x
1
0
5. 某半导体存储器容量为4K16,其中0000H~0BFFH为ROM区,0C00H~FFFH为RAM区,地址总线A11~A0(低)。ROM芯片有1KB/片和2KB/片两种,RAM芯片有1KB/片和2KB/片两种。
(1)计算该存储器的ROM区容量和RAM区容量
(2)计算所需各类芯片的数量。
(3)说明加到各芯片的地址范围值和地址线。
(4)写出各片选信号的逻辑式。
答:
(1)ROM区容量:BFFH+1=C00H=3k
RAM区容量:FFFH-C00H+1=400H=1k
(2)由于存储单元为16位,而芯片的每个单元为8位,故需要进行位扩展,即用2片拼成一个16位的存储器。
ROM区:第一组:需要2KB/片芯片2片,构成一组2K16容量
第二组:需要1KB/片芯片2片,构成一组1K16容量
RAM区需要1KB/片芯片2片,构成1K16容量
(3)ROM区分为:
第一组2片2KB/片组成2K16,地址范围0000H~07FFH,地址线A10~A0
第二组2片1KB/片组成1K16,地址范围0800H~0BFFH,地址线A9~A0
RAM区:
2片1KB/片组成1K16,地址范围0C00H~0FFFH,地址线A9~A0
(4)4K16容量存储器共需要12位地址A11~A0,除去组内芯片所需地址后就是片选所需地址。
ROM第一组:片选所需地址为A11,片选信号:CS0=A11
第二组:片选所需地址为A11和A10,片选信号CS1=A11A10
RAM :片选所需地址为A11和A10,片选信号CS2=A11A10
6. 设主存容量为32MB,Cache数据容量为32KB,主存与Cache交换数据单位为4KB。
(1)采用2路组相联映射方式,主存0x1234号单元所在主存块应装入的Cache组号是多少?主存0x123号块应装入的Cache组号是多少?
(2)计算该Cache的总容量(包含有效位V)。
解:32MB主存地址需要25位,4KB块内地址需要12位。Cache被分为32/4=8行。
(1)采用2路组相联时,Cache每组2行,8行共分为4组,则25位主存地址划分为:25-12-2=11位标记,2位组号,12位块内地址。每组群含4块,组内行号地址2位,主存地址0x1234= (00000000000 01 0010 0011 0100) ,其中表示组号的2位为01,因此,该地址单元应装入Cache的组号为1.
0x123号主存块对应的组内块号为:0x123mod 4=3,即应装入Cache的组号为3
(2)每行包含1位V,11位标记和1行数据4KB,故行的长度为:1+11+4K8=32780 (bit)
Cache总容量=327808=262240bit=32780B=32.01KB
7. 设某计算机有5级中断,中断响应优先级为1>2>3>4>5,而中断处理优先级为1>4>5>2>3。要求:
(1)设计各种中断处理程序的中断屏蔽位(假设1为屏蔽,0为开放);
(2)若在运行主程序时,同时出现第2、4级中断请求,而在处理第2级中断过程中,又同时出现1、3、5级中断请求,试画出此程序运行过程示意图。
解:各级中断处理程序的中断屏蔽字:
中断程序级别
中断屏蔽字
1级
2级
3级
4级
5级
第1级
1
1
1
1
1
第2级
0
1
1
0
0
第3级
0
0
1
0
0
第4级
0
1
1
1
1
第5级
0
1
1
0
1
程序运行过程又分成两种情况:
(1)假设第2级中断服务程序中开中断后第1条指令执行时未出现1、3、5级中断请求,即开始2级中断服务程序时排队队列中只有4级中断。4级中断处理结束后才发生1、3、5级中断请求。
(2)假设在第2级中断服务程序开中断前就出现1、3、5级中断请求,即2级中断服务程序中开中断后1、3、4和5级有中断请求。根据2级中断的屏蔽字,3级被屏蔽,优先级响应队列中有1、4、5,1级得到响应,在1级中断中屏蔽了所有的中断,1级中断处理完后回到2级,响应4级。在4级中根据其屏蔽字3级和5级被屏蔽,4级处理完后回到2级,响应5级,在5级中根据其屏蔽字3级被屏蔽,5级处理完后回到2级。2级处理完回到主程序,最后响应3级,3级处理完后回到主程序。
展开阅读全文