计算机体系结构第四章练习题参考解答文档格式.doc

上传人:wj 文档编号:6972920 上传时间:2023-05-07 格式:DOC 页数:6 大小:120KB
下载 相关 举报
计算机体系结构第四章练习题参考解答文档格式.doc_第1页
第1页 / 共6页
计算机体系结构第四章练习题参考解答文档格式.doc_第2页
第2页 / 共6页
计算机体系结构第四章练习题参考解答文档格式.doc_第3页
第3页 / 共6页
计算机体系结构第四章练习题参考解答文档格式.doc_第4页
第4页 / 共6页
计算机体系结构第四章练习题参考解答文档格式.doc_第5页
第5页 / 共6页
计算机体系结构第四章练习题参考解答文档格式.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机体系结构第四章练习题参考解答文档格式.doc

《计算机体系结构第四章练习题参考解答文档格式.doc》由会员分享,可在线阅读,更多相关《计算机体系结构第四章练习题参考解答文档格式.doc(6页珍藏版)》请在冰点文库上搜索。

计算机体系结构第四章练习题参考解答文档格式.doc

p+q+2=24+7+2=33。

实际浮点数总字长应为8的倍数,故取浮点数总字长为40位。

多出的7位可以加到尾数字长p中用于提高浮点数的表数精度,也可以加到阶码字长q中来扩大浮点数的表数范围。

暂且让p增加6位,q增加1位,即p=30,q=8。

如图4-8所示是设计出来的浮点数格式。

长度1p=301q=8

位序39389870

尾符S尾数M阶符F阶码E

图4-8例4.2浮点数的设计格式

4.58用于文字处理的某专用机,每个文字符用4位十进制数字(0~9)编码表示,空格用︼表示。

在对传送的文字符和空格进行统计后,得出它们的使用频度如下:

︼:

0.200:

0.171:

0.062:

0.083:

0.114:

0.08

5:

0.056:

0.087:

0.138:

0.039:

0.01

(1)若对数字0~9和空格采用二进制编码,试设计编码平均长度最短的编码。

(2)若传送106个文字符号,且每个文字符号后均自动跟一个空格,按最短的编码,共需传送多少个二进制位?

若传送波特率为9600bPS,共需传送多少时间?

(3)若对数字0~9和空格采用4位定长码编码,重新计算问题

(2)。

解:

(1)∵操作码编码的平均长度最短为Huffman编码,生成的Huffman树,如图所示,相应的Huffman编码如表所示。

l=×

li=3.23(位)。

(2)根据题意,每个字符的二进制码的平均长度为:

3.23×

(4+1)=16.15(位)。

若要传输106个字符,则要传输二进制位数为:

106×

16.15=1.615×

107(位)

若波特率为56Kb/s,则传输时间为:

1.615×

107/(56×

103)=288(s)。

1.00

0.04

0.09

0.20

0.40

0.03

0.05

0.11

0.06

0.14

0.27

0.60

0.16

0.13

0.33

0.17

(3)当采用四位定长编码时,则需要传输二进制位数为:

4(4+1)=2×

107(位),传输时间为:

103)=357(s)。

10

1010

101010

370

51642

Ii

Pi

Huffman编码

Li

0.20

10

2

0.17

000

3

7

0.13

010

0.11

110

0.08

0010

4

0011

6

0110

1

0.06

0111

5

0.05

1110

8

0.03

11110

9

0.01

11111

98

4.60一台模型机共有7条指令,各指令的使用频度分别为:

35%,25%,20%,10%,5%,3%,2%,有8个通用数据寄存器,2个变址寄存器。

(1)要求操作码的平均长度最短,请设计操作码的编码,并计算操作码编码的平均长度。

(2)设计8位字长的寄存器—寄存器型指令3条,16位字长的寄存器一存储器型变址寻址方式指令4条,变址范围不小于正、负127。

请设计指令格式,并给出指令各字段的长度和操作码的编码。

(1)∵操作码编码的平均长度最短为Huffman编码,生成的Huffman树如图所示,相应的Huffman编码如表所示。

li=2.35(位)

0.02

0.10

0.25

0.35

2-4编码(3/4)

I1

0.35

00

I2

0.25

01

I3

I4

0.10

1100

I5

1101

I6

I7

0.02

1111

(2)由于通用寄存器有8个,则指令中通用寄存器字段应为3位;

操作码字段2位可有4个码点,用三个码点表示三条指令,另一个码点则作为扩展标志。

所以3条8位长的寄存器—寄存器型指令格式如下:

操作码(2位)寄存器1(3位)寄存器2(3位)

由于变址寄存器有2个,则指令中变址寄存器字段应为1位;

变址范围-127~+127,则指令中相对位移字段应为8位;

操作码字段前2位可有4个码点,用三个码点表示三条指令,另一个码点则作为扩展标志。

扩展2位正好可表示四条指令,操作码字段则为4位。

所以4条16位长的寄存器—存储器型指令格式如下:

操作码(4位)寄存器(3位)变址寄存器(1位)相对位移(8位)

特别地,当采用3/4扩展编码时,使用频度高的用短码表示,使用频度低的用长码表示,其相应的编码如表所示。

4.65某模型机9条指令使用频度为:

ADD(加)30%SUB(减)24%JOM(按负转移)6%STO(存)7%

JMP(转移)7%SHR(右移)2%CIL(循环左移)3%CLA(清除)20%

STP(停机)1%

要求有两种指令字长,都按双操作数指令格式编排,采用扩展操作码,并限制只能有两种操作码码长。

设该机有若干通用寄存器,主存为16位宽,按字节编址,采用按整数边界存储,任何指令都在一个主存周期中取得,短指令为寄存器--寄存器型,长指令为寄存器--主存型,主存地址应能变址寻址。

(1)仅根据使用频度,不考虑其它要求,设计出全Huffman操作码,计算其平均码长;

(2)考虑题目全部要求,设计优化实用的操作码形式,并计算其操作码的平均码长;

(3)该机允许使用多少可编址的通用寄存器?

(4)画出该机两种指令字格式,标出各字段之位数;

(5)指出访存操作数地址寻址的最大相对位移量为多少个字节?

(1)根据给出的使用频度,在构造Huffman树的过程中,有两个结点可供合并,因此可生成不同的Huffman树,其中给出一棵如图所示,相应的Huffman编码如表所示。

∴Huffman编码的平均长度为:

li

l=0.3×

2+0.24×

2+0.2×

2+0.07×

4+0.07×

4+0.06×

4+0.03×

5+0.02×

6+0.01×

6=2.61(位)

0.56

0.12

0.26

0.07

0.44

0.24

0.30

ADDCLASUB

J0MJMPSTO

CIL

指令

2-5编码(3/6)

ADD

0.30

SUB

0.24

11

CLA

STO

0.07

11001

JMP

11010

JOM

0001

11011

CIL

00001

11100

SHR

I8

000001

11101

STP

I9

000000

STPSHR

(2)任何指令都在一个主存周期中取得,那么短指令字长为8位,长指令字长为16位。

又指令都是二地址指令,所以短指令寄存器--寄存器型的格式为:

长指令为寄存器--主存型的格式为:

操作码(5位)寄存器(3位)变址寄存器(3位)相对位移(5位)

由题意可知:

指令操作码采用扩展编码,且只能有两种码长。

从指令使用频度来看,ADD、SUB和CLA三条指令的使用频度与其它指令的使用频度相差较大,所以用两位操作码的三个码点来表示三条指令,一个码点作为扩展码点,且扩展三位来表示六条指令,即采用2--4扩展编码构成3/6编码,2--4扩展编码如表所示。

∴2--4扩展编码(3/6)的平均长度为:

li=2.78

(3)(4)由短指令寄存器--寄存器型的格式可知,寄存器号字段长度为3位,寄存器个数为8个。

则各字段长度如图格式所标识。

而对于长指令寄存器--主存型,一般变址寄存器是某通用寄存器,则变址寄存器号的字段长度为3位,则各字段长度如图格式所标识。

(5)由于相对位移字段长度为5位,因此访存地址寻址的最大相对位移量为25=32字节。

4.79下面是一段数据块搬家程序。

在RISC处理机中,为了提高指令流水线的执行效率,通常要采用指令取消技术。

START:

MOVE AS,R1 ;

把源数组的起始地址送入变址寄存器R1

MOVE NUM,R2 ;

把传送的数据个数送入R2

LOOP:

MOVE (R1),AD-AS(R1);

AD-AS为地址偏移量,在汇编过程中计算

INC R1 ;

增量变址寄存器

DEC R2 ;

剩余数据个数减1

BGT LOOP ;

测试N个数据是否传送完成

HALT ;

停机

NUM:

N ;

需要传送的数据总数

(1)如果一条指令的执行过程分解为“取指令”和“分析”两个阶段,并采用两级流水线。

为了采用指令取消技术,请修改上面的程序。

(2)如果N=100,采用指令取消技术后,在程序执行过程中,能够节省多少个指令周期?

(3)如果把一条指令的执行过程分解为“取指令”、“分析”(包括译码和取操作数等)和“执行”(包括运算和写回结果等)三个阶段,并采用三级流水线。

仍然要采用指令取消技术,请修改上面的程序。

解:

(1)START:

MOVE AS,R1

MOVE NUM,R2

MOVE (R1),AD-AS(R1)

INC R1

DEC R2

BGT LOOP

HALT

N

(2)解决转移指令引起的流水线断流可插入一条无效的空操作指令(NOP)。

空操作指令也要占用一个机器周期,又不执行任何实际的操作。

当N=100时,则要浪费100个机器周期(50个指令周期)。

采用指令取消技术后,仅在转移不成功时取消指令,浪费1个机器周期(0.5个指令周期)。

因此可节省49.5个指令周期。

(3)START:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2