计算机系统结构第二章习题解答.docx
- 文档编号:10432243
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:12
- 大小:76.70KB
计算机系统结构第二章习题解答.docx
《计算机系统结构第二章习题解答.docx》由会员分享,可在线阅读,更多相关《计算机系统结构第二章习题解答.docx(12页珍藏版)》请在冰豆网上搜索。
计算机系统结构第二章习题解答
1.数据类型、数据表示和数据结构之间是什么关系在设计一个计算机系统时,确定数据表示的原则主要有哪几个
答:
略
2.假设有A和B两种不同类型的处理机,A处理机中的数据不带标志位,其指令字长和数据字长均为32位。
B处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。
如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于一个由1000条指令组成的程序,分别计算这个程序在A处理机和B处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发
答:
我们可以计算出数据的总数量:
∵程序有1000条指令组成,且每条指令平均要访问两个操作数
∴ 程序访问的数据总数为:
1000×2=2000个
∵每个数据平均访问8次
@
∴ 程序访问的不同数据个数为:
2000÷8=250
对于A处理机,所用的存储空间的大小为:
对于B处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:
由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。
3.对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。
假设存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。
⑴计算这种存储器的存储空间利用率。
⑵给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法的存储空间利用率。
-
答:
⑴
由于全是独立数据,有20%浪费56位(7/8);30%浪费48位(6/8);20%浪费32位(4/8);30%浪费0位(0/8)。
总共浪费:
×7/8+×6/8+×4/8+×0/8=
即:
存储器的存储空间利用率为50%,浪费率为50%。
⑵
方案为:
数据从地址整数倍位置开始存储,即,双字地址000结尾,单字地址00结尾,半字地址0结尾,字节地址结尾任意。
可能出现的各种情况如下:
组合
存储空间分配
—
利用率
1-2-1-2
字节
半字
字节
半字
*3/8*2/7*3/8*6B/8B
,
1-2-1-4
字节
半字
字节
*3/8*2/7*2/8*4B/8B
单字
1-2-1-8
字节
,
半字
字节
*3/8*2/7*3/8*4B/8B
双字
1-2-4
字节
半字
单字
*3/8*2/7*7B/8B
1-2-8
)
字节
半字
*3/8*3/7*3B/8B
^
双字
1-4
字节
单字
*2/8*5B/8B
@
1-8
字节
>
*3/8*1B/8B
双字
2-1-2-1
半字
字节
、
半字
字节
*2/7*3/8*2/7*6B/8B
2-1-2-4
半字
字节
半字
-
*2/7*3/8*2/7*5B/8B
单字
2-1-2-8
半字
字节
半字
*2/7*3/8*3/7*5B/8B
。
双字
2-1-4
半字
字节
单字
]
*2/7*2/8*7B/8B
2-1-8
半字
字节
;
*2/7*3/8*3B/8B
双字
2-4
半字
:
单字
*2/7*6B/8B
2-8
半字
;
*3/7*2B/8B
双字
4-1-2
单字
字节
@
半字
*2/8*3/8*7B/8B
4-1-4
单字
字节
[
*2/8*2/8*5B/8B
单字
'
4-1-8
单字
字节
*2/8*3/8*5B/8B
双字
4-2-1
单字
半字
字节
*3/8*2/7*7B/8B
4-2-4
<
单字
半字
*3/8*2/7*6B/8B
单字
'
4-2-8
单字
半字
*3/8*3/7*6B/8B
、
双字
4-8
单字
|
*3/8*4B/8B
双字
8
双字
*8B/8B
—
合计
4.一个处理机共有10条指令,各指令在程序中出现的概率如下表:
(1)采用最优Huffman编码法(信息熵)计算这10条指令的操作码最短平均长度。
(2)采用Huffman编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法(信息熵)相比的操作码信息冗余量。
将得到的操作码编码和计算的结果填入上面的表中。
(3)采用2/8扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。
把得到的操作码编码和计算的结果填入上面的表中。
(4)采用3/7扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。
把得到的操作码编码和计算的结果填入上面的表中。
|
答:
采用最优Huffman编码法(信息熵)的操作码最短平均长度为:
)
指令序号
出现的概率
Huffman编码法
2/8扩展编码法
3/7扩展编码法
I1
00
00
!
00
I2
10
01
01
I3
010
1000
{
10
I4
110
1001
11000
I5
0110
1010
%
11001
I6
1110
1011
11010
I7
1111
1100
"
11011
I8
01110
1101
11100
I9
011110
1110
"
11101
I10
011111
1111
11110
操作码的平均长度
—
操作码的信息冗余量
%
%
%
5.一台模型机共有7条指令,各指令的使用频度分别是35%、25%、20%、10%、5%、3%、2%,有8个通用数据寄存器,2个变址寄存器。
(1)要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。
(2)设计8位字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址范围不小于正、负127。
请设计指令格式,并给出各字段的长度和操作码的编码。
答:
⑴
$
要使得到的操作码长度最短,应采用Huffman编码,Huffman树构造如下:
由此可以得到7条指令的编码分别如下:
指令号
出现的频率
编码
(
1
35%
00
2
25%
01
3
20%
10
4
|
10%
110
5
5%
1110
6
3%
11110
7
2%
}
11111
这样,Huffman编码法得到的操作码的平均长度为:
l=2×+++3×+4×+5×+
=+++=
⑵
设计8位字长的寄存器-寄存器型指令如下:
因为只有8个通用寄存器,所以寄存器地址需3位,操作码只有两位,设计格式如下:
233
操作码OP
源寄存器R1
目的寄存器R2
三条指令的操作码分别为00、01、10。
设计16位字长的寄存器-存储器型变址寻址方式指令如下:
4318
操作码OP
通用寄存器
变址寄存器
偏移地址
四条指令的操作码分别为1100、1101、1110、1111。
6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。
(1)如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条并且为这三类指令分配操作码。
(2)如果要求三类指令的比例大致为1:
9:
9,问双地址指令、单地址指令和零地址指令各有多少条并且为这三类指令分配操作码。
答:
⑴
双地址指令格式为:
466
操作码
地址码1
地址码2
单地址指令格式为:
106
操作码
地址码
零地址指令格式为:
16
操作码
双地址指令15条,需要4位操作码来区分;单地址指令可以使用10-4=6位操作码来区分;零地址指令可以使用16-10=6位操作码来区分。
这样,各类型指令的条数为:
双地址指令15条,操作码为:
0000~1110;
单地址指令26-1=63条,操作码为:
1111000000~1111111110
零地址指令26=64条,操作码为:
1111111111000000~1111111111111111
⑵
假设双地址指令x条,则单地址、零地址分别为9x条:
解之即得:
x=14
∴双地址指令14条,操作码为:
0000~1101;留出两个编码用于扩展。
单地址指令(26-1)×2=126条,操作码为:
1110000000~1110111110,1111000000~1111111110
零地址指令126条,操作码为:
1110111111000000~1110111111111110,1111111111000000~1111111111111110…
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 第二 习题 解答