《计算机组成原理》课后习题答案文档格式.docx
《《计算机组成原理》课后习题答案文档格式.docx》由会员分享,可在线阅读,更多相关《《计算机组成原理》课后习题答案文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
4,5,7
1.一个容量为16K×
32位的存储器,其地址线和数据线的总和是多少?
用下列存储芯片时,各需要多少片?
1K×
4位,2K×
8位,4K×
4位,16K×
l位,4K×
8位,8K×
8位
2.现有1024×
l的存储芯片,若用它组成容量为16K×
8的存储器。
(1)实现该存储器所需的芯片数量?
(2)若将这些芯片分装在若干块板上,每块板的容量为4K×
8,该存储器所需的地址线总数是多少?
几位用于选片?
几位用作片内地址?
(3)画出各芯片的连接逻辑图。
3.设某机主存容量为4MB,Cache容量为16KB,每块包含8个字,每字32位,设计一个4路组相联映射(即Cache每组内共有4个块)的Cache组织,要求:
(1)画出主存地址字段中各段的位数。
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?
第六章
I/O端口的编址方式
中断处理的步骤
第七章
MAR,MBR,PC,IR
指令周期的概念,完整的周期包括哪些
Pentium处理器中的标志寄存器
第八章
操作码和地址码
扩展操作码技术
大端和小端
寻址技术
中缀和后缀表达式
RISC和CISC的比较
MMX指令,回绕运算和饱和运算
习题1,2,4,5,6
1、有可能设计出一种12位长的指令格式对下列指令进行编码吗?
其中每个寄存器需要3位编码。
a.4条3寄存器指令
b.255条单寄存器指令
c.16条0寄存器指令
2、某机指令字长16位,每个操作数的地址码为6位,指令分为零地址、一地址、二地址三种格式。
若两地址指令有K种,零地址指令有L种,则一地址指令最多有几种?
4、一台处理机具有如下指令格式:
2位 6位 3位 3位
X
OP
源寄存器
目的寄存器
地址
格式表明有8位通用寄存器(长度16位),X指定寻址模式,主存实际容量为256k字。
1)假设不用通用寄存器也能直接访问主存中的每一个单元,请问地址码域应分配多少位?
指令字长度应有多少位?
2)假设X=11时,指定的那个通用寄存器用做基值寄存器,请提出一个硬件设计规划,使得被指定的通用寄存器能访问1M主存空间中的每一个单元。
5、请将下面的中缀表达式转换成逆波兰表达式。
a.A+B+C+D-E
b.(A-B)×
(C+D)+E
c.(A×
B)+(C×
D)+E
d.(A-B)×
(((C-D×
E)/F)/G)×
H
6、请将下面的逆波兰表达式转换成中缀表达式。
a.AB-C+D×
b.AB/CD/+
c.ABCDE+×
×
/
d.ABCDE×
F/+G-H/×
+
第九章
控制器的功能
控制器的组成部件
微操作命令分析
输入控制信号和输出控制信号
硬布线控制器的结构
微程序控制器的组成部件
固件的概念
微指令的格式
习题3
1.假定某控制存储器是24位宽。
微指令格式的控制部分分成两个字段。
一个13位的微操作字段用来指定将要完成的微操作,一个地址选择字段用来指明能引起微指令转移的8种条件。
1)地址选择字段有多少位?
2)地址字段有多少位?
3)控制存储器容量有多大?
第十章
同时性和并发性
并行计算机体系结构的分类
流水线及其性能指标
UMA的主要特点
题型:
填空(10*2)选择(10*1)简答(4*5)综合(5*10)
第2章课后习题解答
第二章习题
2.设机器字长为8位(含一位字符位在内),写出对应下列各真值的原码、反码和补码:
-1011010B,-87,168
解:
-1011010B
-87
168
原码
1,1011010
1,1010111
-
反码
1,0100101
1,0101000
补码
1,0100110
1,0101001
原码:
最高位为符号位,数值部分是真值的绝对值。
反码:
正数的反码与原码相同;
负数的反码符号位不变,数值部分各位取反。
补码:
负数的补码符号位不变,数值部分各位取反后再加1。
由于8位有符号的数表示范围:
-128~127,所以168溢出。
4.已知X=-66,Y=99。
设机器字长为8位,用补码运算规则计算X+Y和X-Y。
[X]原=1,1000010[X]补=1,0111110
[Y]原=0,1100011[Y]补=0,1100011[-Y]补=1,0011101
[X+Y]补=[X]补+[Y]补=1,0111110+0,1100011=00,0100001
[X-Y]补=[X]补+[-Y]补=1,0111110+1,0011101=10,1011011(溢出)
5.已知X=19,Y=35,用布思算法计算X
Y和X
无符号数乘法的规则:
Q0=1:
A<
-A+M,然后C,A,Q右移
Q0=0:
C,A,Q直接右移
其中,C为进位标识符;
辅助寄存器A的初始值为0;
乘积的高n位存放在辅助寄存器A中,乘积的低n位存放在寄存器Q中;
移位时C标识符用0扩展。
[X]原=010011
[Y]原=100011
Y=010011
100011的运算过程和结果:
C
A
Q
M
Qn-1~Q1
Q0
初值
000000
10001
1
010011
①
-(A+M)
C,A,Q右移
001001
11000
②
011100
001110
01100
③
000111
00110
④
000011
10011
⑤
000001
11001
⑥
010100
001010
结果为:
001010011001B=665
有符号数乘法的规则:
Q0Q-1=01:
-A+M,A,Q,Q-1算术右移
Q0Q-1=10:
-A-M,A,Q,Q-1算术右移
Q0Q-1=00或11:
A,Q,Q-1算术右移
其中,辅助寄存器A,Q-1的初始值为0;
移位使用算术移位,高位采用符合扩展。
[X]补=0,010011
[-X]补=1,101101
[-Y]补=1,011101
(-Y)=0010011
1011101的运算过程和结果:
Q-1
0000000
1011101
0010011
-(A-M)
1101101
A,Q,Q-1右移
1110110
1101110
0001001
0000100
1110111
1110001
1111000
1111011
1111100
0111101
1111110
0011110
0010001
0001000
1001111
⑦
1110101
1111010
1100111
11,110101100111B=-665
6.使用IEEE754标准格式表示浮点数:
-5,-1.5,1/16,-6,384,1/32。
最高位表示尾符;
后续k位表示阶码,在原数基础上加偏移值2k-1-1;
尾数为纯小数表示时,小数点后面的值。
-5=-101B=-1.01
210
尾符1位
阶码8位
尾数23位
10000001
01……
-1.5=-1.1B=-1.1
20
01111111
10……
1/16=2-4=1.0
2-100
01111011
00……
-6=-110B=-1.1
384=110000000=1.1
21000
10000111
1/32=2-5=-1.0
2-101
01111010
7.已知X=-0.1000101*2-111,Y=0.0001010*2-100。
试计算X+Y,X-Y,X*Y,X/Y。
对阶操作:
阶差为-100-(-111)=011,将X的尾数右移3位,得X=-0.0001000*2-100
将X和Y的尾数相加得:
0.0000010
所以,X+Y=0.0000010*2-100=0.1*2-1001
将X和Y的尾数相减得-0.0010010
所以,X-Y=-0.0010010*2-100=-0.1001*2-110
X=-0.1000101*2-111,Y=0.1010000*2-111
阶码相加得:
-111+(-111)=-1110
.010*********
所以,X*Y=-0.0101011*2-1110=-0.101011*2-1111
阶码相减得:
-111-(-111)=0
尾数相除:
-0.1000101/0.1010000=-0.1101110
所以,X/Y=-0.110111*20
10.求有效信息位为01101110的汉明码校验码。
海明码Ci排放在第2i位,数据位依次从低到高的顺序填在剩余的空格里。
其中,H3,H5,H7,H9,H11二进制编码的最低位都包含1,可以确定C1;
H3,H6,H7,H10,H11二进制编码的倒数第2位都包含1,可以确定C2;
其余类推。
排列位置H
H12
H11
H10
H9
H8
H7
H6
H5
H4
H3
H2
H1
数据位D
D8
D7
D6
D5
D4
D3
D2
D1
海明码C
C4
C3
C2
C1
C1=H1=H3
H11=0
1=1
C2=H2=H3
1=0
C3=H4=H5
H12=1
0=1
C4=H8=H9
H12=0
0=0
汉明码为:
0101
第三章习题
5.解释下列概念:
PROM,EPROM,E2PROM,FlashMemory,FPGA,SRAM和DRAM
PROM可编程只读存储器
EPROM可擦除可编程只读存储器
E2PROM电可擦除可编程只读存储器
FlashMemory快闪存储器
FPGA现场可编程逻辑阵列
SRAM静态随机存取存储器
DRAM动态随机存取存储器
第四章习题
2.什么是总线仲裁?
常见的总线仲裁方式有哪些?
系统中多个设备或模块可能同时申请对总线的使用权,为避免产生总线冲突,需由总线仲裁机构合理地控制和管理系统中需要占用总线的申请者,在多个申请者同时提出总线请求时,以一定的优先算法仲裁哪个应获得对总线的使用权。
总线判优控制按照仲裁控制机构的设置可分为集中控制和分散控制两种。
其中就集中控制而言,常用的总线仲裁方式有:
菊花链仲裁、二维仲裁、同步通信方式、异步通信方式和半同步通信方式。
3.试比较同步通信和异步通信。
异步通信和同步通信的比较
(1)异步通信简单,双方时钟可允许一定误差。
同步通信较复杂,双方时钟的允许误差较小。
(2)异步通信只适用于点<
-->
点,同步通信可用于点<
多。
(3)通信效率:
异步通信低,同步通信高。
第五章习题
4.一个容量为16K
32位的存储器,其地址线和数据线的总和是多少?
用下列存储芯片时,各需要多少片?
1K
4位,2K
8位,4K
4位,16K
1位,4K
8位,8K
由于214=16K,地址线为14位;
32位的字宽需要32根数据线。
所以地址线和数据线的总和为46位。
组成16K
32位的存储器需要以下芯片:
4位的片数:
=128
2K
8位的片数:
=32
4K
=32
16K
1位的片数:
=16
8K
=8
5.现有1024
1的存储芯片,若用它组成容量为16K
8的存储器,则
(1)实现该存储器所需的芯片数量多少?
(2)若将这些芯片分装在若干块板上,每块板的容量为4K
8,该存储器所需的地址线总数是多少?
几位用于片选?
几位用作片内地址?
(3)画出各芯片的连接逻辑图。
(1)所需的芯片数:
(2)由于214=16K,地址线为14位;
存储器所需的块板数
=4,需要2位用于片选,14-2=12位用于片内地址。
(3)
7.设某主机主存容量为4MB,Cache容量为16KB,每块包含8个字,每字32位,设计一个4路组相连映射(即Cache每组内共有4个块)的Cache组织,要求:
(1)画出主存地址字段中各段的位数。
(2)设Cache的初态为空,CPU依次从主存第0,1,2,…99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?
(1)每块的大小:
8字
32位/8位=32B,所以页内地址用5位表示;
Cache中每组有四个块,需要2位表示;
Cache的块数为16KB/32B=512块,每组包含4块,所以总共有128组,需7位表示;
主存的页数:
4MB=222,内存地址为22位,剩余的8位。
前三位段用于主存页的标记;
后三个位段表示Cache的地址。
(2)第一次访问时,100个字都不能命中;
由于它们能同时存放在Cache中,以后的7次访问都能命中。
命中率为:
7
100/8
100=87.5%
(3)设访问Cache的时间为t,则访问主存的时间为6t。
无Cache时,访问的时间为800
6t=4800t
有Cache时,访问的时间为100
6t+700
t=1300t
速度提高的倍数为:
4800t/1300t=3.69
第八章习题
1.有可能涉及出一种12位长的指令格式对下列指令进行编码吗?
其中每一个寄存器需要3位编码。
(1)4条3寄存器指令
(2)255条单寄存器指令
(3)16条0寄存器指令
3条寄存器指令:
可从212-3*3=8种编码中选4种,剩4个编码
单寄存器指令:
可扩展出4*26=256种编码中选255种,剩1个编码
0寄存器指令:
剩下一个编码与3位地址只能扩展出1*23=8种编码
所以,不能设计出一种12位长的指令格式以上指令进行编码。
2.某机指令字长16位,每个操作数的地址为6位,指令分为零地址,一地址,二地址3种格式。
扩展操作码技术:
使操作码的长度随着地址数的减小而增加,不同地址数的指令可以具有不同长度的操作码。
二地址指令:
若设计K种二地址指令,还有24-K种可用于扩展。
一地址指令:
可用于扩展(24-K)
26种一地址指令,若设计X种一地址指令,还有(24-K)
26-X可用于扩展为零地址指令。
零地址指令:
可设计的零地址指令数为:
((24-K)
26-X)
26=L
解方程得一地址指令最多有X=(24-K)
26-
种。
3.画出先变址再间址及先间址再变址的寻址过程示意图。
4.一台处理机具有如下指令格式:
2位6位3位3位
格式表明有8位通用寄存器(长度16位),X指定寻址模式,主存实际容量为156K字。
(1)假设不用通用寄存器也能直接访问主存中得每一个单元,请问地址码域应分配多少位?
(2)假设X=11,时,指定的那个通过通用寄存器用做基址寄存器,请提出一个硬件设计规则,使得被指定的通用寄存器能访问1M主存空间的每一个单元。
(1)因为256K=218
所以地址码域=18位
因为操作码域op=6位
所以指令长度=18+3+3+6+2=32位
(2)此时指定的通用寄存器用作基址寄存器(16位)
但16位长度不足以覆盖1M字地址空间
所以将通用寄存器左移,4位低位补0形成20位基地址
然后与指令字形式地址相加得有效地址,可访问主存1M地址空间中任何单元
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)