计算机系统结构习题集2

该篇博客探讨了计算机系统结构中的指令编码问题,包括不同地址指令的数量分配、操作码的计算方法。同时,文章详细分析了浮点加法流水线的时空图,计算了吞吐率、加速比和效率。此外,还讨论了动态多功能流水线的处理过程,涉及乘法和加法流水线的组合使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。
(1) 如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。
(2) 如果要求三类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。

解:

1) 单地址指令条数为63

   零地址指令条数64

   操作码分别为:

   双址:    0000 ~1110

   单地址:1111  000000

                  。。。。

                1111  111110

   零地址:1111  111111  000000

                      。。。。。。

                 1111  111111  111111

2)    首先,从题意可得:(16-x) :63x = 1 :9

所以,x = 2

   操作码分别为:

   双址:  0000-1101(共14条)

   单地址:1110  0000000

                     ……..

                1110  1111110

                1111  0000000

                      ……..

                 1111  1111110

              (共126条)

   零地址:1110 111111  000000

                        。。。。。。

                   1110 111111  111111

                   1111 111111  000000

                       。。。。

                   1111 111111  111111

 (共128条)

2.一个处理机共有10条指令,各指令在程序中出现的概率如下表:

(1) 计算这10条指令的操作码最短长度。
(2) 采用Huffman编码法编写这10条指令的操作码,并计算操作码的平均长度及信息冗余量,把得到的操作码编码和计算的结果填入上面的表中。
(3) 采用2/8扩展编码法编写这10条指令的操作码,并计算操作码的平均长度和信息冗余量,把得到的操作码编码和计算的结果填入上面的表中。
(4) 采用3/7扩展编码法编写这10条指令的操作码,并计算操作码的平均长度和信息冗余量,把得到的操作码编码和计算的结果填入上面的表中。

指令

序号

出现

的概率

Huffman

编码法

2/8扩展

编码法

3/7扩展

编码法

I1

0.25

00

00

00

I2

0.20

10

01

01

I3

0.15

010

1000

10

I4

0.10

110

1001

11000

I5

0.08

0110

1010

11001

I6

0.08

1110

1011

11010

I7

0.05

1111

1100

11011

I8

0.04

01110

1101

11100

I9

0.03

011110

1110

11101

I10

0.02

011111

1111

11101

操作码平均长度

2.99

3.1

3.2

操作码冗余信息

0.7%

4.2%

7.2%


2.一条浮点加法流水线由对阶、尾数加和规格化三个流水段组成,每个流水段的时间均为2ns。流水线的输出端有直接数据通路与输入端相连,并且设置有缓冲寄存器用以保存中间运算结果。用这条流水线计算8个浮点数的和:S=A1+A2+A3+A4+A5+A6+A7+A8。画出流水线的时空图,并计算流水线的吞吐率、加速比和效率。

解答:S=A1+A2+A3+A4+A5+A6+A7+A8 =[(A1+A2)+(A3+A4)]+[(A5+A6)+(A7+A8)]

1

2

3

4

5

6

7

8

9

10

11

12

规格化

1

2

3

4

5

6

7

尾数加

1

2

3

4

5

6

7

对阶

1

2

3

4

5

6

7

加数

 A1    A3     A5     A7    A1+A2      A5+A6              A1+A2+A3+A4

加数

 A2    A4    A6      A8    A3+A4      A7+A8              A5+A6+A7+A8

流水线的吞吐率,效率,加速比分别为:


3.一动态多功能流水线由6个功能段组成,如下图:


其中:s1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns。假定该流水线的输出结果可以直接返回流水线输入端,而且设置有足够的缓冲寄存器。若按照最快的方式用该流水线计算。

(1)请画出其处理过程的时空图。

(2)计算其实际吞吐率,加速比和效率。

[解](1): 乘法操作用到的流水段有:S1S4S5S6; 加法操作用到的流水段有:S1S2S3S6。以最快的方式处理的流水线时空图如图所示:




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值