当前位置:文档之家› 计算机组成与体系结构(linda null) 第五章课后习题讲解

计算机组成与体系结构(linda null) 第五章课后习题讲解

第五章课后题答案

2、

3、已知2M*16的主存储器的前两个字节中有如下的十六进制数值:字节0处为FE

字节1处为01,

如果这些字节保存的是一个16位2补整数,问如果按照如下的方式存储数据,那么实际存放的十进制数值分别是多少?

a)存储器是大端格式

b)存储器是小端格式

答案:

大端格式:FE01

原码为:

小端格式:01FE

原码为:

8、将下列表达式由中缀表示法变换成反向逆波兰(后缀)表示法:

a)X*Y+W*Z+V*U

b)W*X+W*(U*V+Z)

c)(W*(X+Y*(U*V)))/(U*(X+Y))

答案:

a)X*Y + W*Z + V*U

=>XY* + WZ* + VU*

=>XY* WZ* + + VU*

=>XY* WZ*+VU*+

b)W*X + W*(U*V + Z)

=>WX* + W*(UV* + Z)

=>WX* + W*(UV*Z +)

=>WX* + WUV*Z + *

=>WX* WUV*Z+*+

c)(W*(X + Y*(U*V)))/(U*(X + Y))

=>(W*(X + Y*(UV*)))/(U*(XY+))

=>(W*(X + YUV**))/UXY+*

=>(W*(XYUV**+))/UXY+*

=>(WXYUV**+*)/UXY+*

=>WXYUV**+*UXY+*/

9、将下列反向逆波兰式(后缀)表示法转换成中缀表示法:

a)WXYZ-+*

=>WXY-Z+*

=>WX+Y-Z*

=>W*(X+Y-Z)

b)UVWXYZ+*+*+

=>UVWXY+Z*+*+

=>UVWX*(Y+Z)+*+

=>UVW+X*(Y+Z)*+

=>UV*(W+X*(Y+Z))+

=>U+V*(W+X*(Y+Z))

c)XYZ+VW-*Z++

=>XY+ZV-W*Z++

=>X(Y+Z)*(V-W)Z++

=>X(Y+Z)*(V-W)+Z+

=>X+((Y+Z)*(V-W)+Z)

11、如果某台计算机的指令格式为:指令的长度共11位,而地址域的大小占4位,试证明采用这种指令格式的计算机是否可能有如下的指令形式,并验证你的答案:

5个二地址指令

45个一地址指令

32个零地址指令

000 xxxx xxxx

001 xxxx xxxx

010 xxxx xxxx 5个二地址指令

011 xxxx xxxx

100 xxxx xxxx

45个一地址指令:

101 0000xxxx 16条

101 1111xxxx

110 0000 xxxx 16条

110 1111 xxxx

111 0000 xxxx13条

111 1100 xxxx

32个0地址指令

111 11100000 16条

111 11101111

111 1111 0000 16条

111 1111 1111

b)假如某台采用上述指令格式的计算机体系结构,并设计了6个2地址指令和24个0地址指令,试问可以在该指令系统中添加的1地址指令的最大数目是多少?

二地址:

一地址:

零地址:

假设2地址这样用:

000 xxxx xxxx 6个

101 xxxx xxxx

0地址指令:

24=3*8

111 1111 1000 8个

111 1111 1111

111 1111 0000 8个

111 1111 0111

111 1110 1000 8个

111 1110 1111

一地址前三位110:

110 0000 xxxx 共16条

110 1111 xxxx

一地址前三位111:

111 0000 xxxx 共14条

111 1101 xxxx

∴最大数目是30

13、如果有指令Load 1000,并且已知存储器和寄存器RI中包含如下数值:

存储器R1

1000

1200

1300

1400

假设R1隐含在变址寻址方式中,试确定指令嵌入到累加器中实际数值,并填写

下表:

立即寻址:要操作的数据本身是指令的一部分,指令Load 1000的操作就是将数值1000直接装入AC中。

直接寻址:是指在指令中直接指定要引用的数值的存储器地址,指令Load 1000:

就是将存储器地址为1000的存储单元中的数值装入累加器AC中。

间接寻址:地址域中的二进制数用来指定一个寄存器地址,该地址中的内容将被

用作一个指针。操作数的有效地址是通过访问这个存储器地址来获得的。Load

1000中的1400实际上是所要求的操作数的有效地址。

变址寻址:用变址寄存器RI来存储一个偏移量,将偏移量和操作数相加,就产

生了指令所要求的数据的有效地址:1000+200 = 12

14、如果有指令Load 500,已知存储器和寄存器RI中包含如下数值:

存储器R1 Array

400

500

600

700

假设R1隐含在变址寻址方式中,试确定指令嵌入到累加器中实际数值,并

填写下表:

15. 已知在某个非流水线系统中处理一项任务需要200ns.现在将相同的任务放到一个始终周期为40ns的5级流水线体系结构上进行处理。求出对于处理200项任务该流水线可以获得的加速比。比较非流水线单元,该流水线单元可以提升的最大加速比是多少?

Ans.

SpeedUp = (200ns x 200)/((200+5-1)(40ns)) = 40000/8160 = 4.91

Max SpeedUp = 5

19、已知一台计算机的存储器为256KB字,每个字字长为32位。计算机的指令格式具有4个区域:代码域、模式域,指定第1到第7种寻址方式;寄存器域,指定第1到第60个寄存器;存储器地址域。假定一条指令的长度为32位。试回答下列问题:

a)模式域必须有多大?

b)寄存器域必须有多大?

c)地址域必须有多大?

d)操作码域必须有多大?

a) 模式域,指定第1到第7种寻址方式:23=8>7,3位

b) 寄存器域,指定第1到第60个寄存器;26=64>60,6位

c)存储器为256KB =218,因此需要18位

d)32-(3+6+18)=5位

第六章

1、假设某台计算机使用直接映射的高速缓存。计算机的主存储器的容量为202字,高速缓存有32个存储空间块,且每个高速缓存块包含16个字。问:

a)主存储器可以划分为多少个信息块?

20

2/16 = 202/42=162

b)从高速缓存的角度来看,存储器地址采用的是什么格式?

即分别说明地址中的标记域,块域和字域的大小

主存储器的容量为202字,需要20位的地址

块域:32 = 525位

字域:16 = 424位

标记域: 11位

c)存储器引用时,地址将会被映射到高速缓存中的那个空间块?

直接映射方式的主存储器地址格式:

11位5位4位

0DB63

16

= 1101 1011 0110 0011

块域:10110 即块号为22

3、假设某台计算机使用全关联高速缓存,其主存储器的容量为162字,高速缓存中有64个存储空间块,每个高速缓存块包含有32个字,问:

a)主存储器中有多少个信息块?

16

2/32 =162/52=112

b)高速缓存可以看到的存储器地址格式是什么样的?即分别说明地址的标记域、块域和字域的大小。

主存储器的容量为162字,需要16位地址,

每个块是32个字,字域:5位,标记:11位

关联式映射的主存储器的地址格式

11位5位

c)存储器引用时,地址F8C916将会被映射到高速缓存的那个存储空间块?

全关联高速缓存,允许主存储器中的数据块映射到高速缓存的任意位置。

6、一个由4个块组构成的2路的组关联高速缓存。主存储器有2KB块,每块包含8个字。

a)说明主存储器的地址格式,可以利用这种格式将主存储器地址映射到高速缓存存储器,并确定地址中的各个域的大小。

2*32=142需14位地址,

主存储器容量:2KB*8 = 11

每块8个字,字域:3位

高速缓存由4个组组成,组域:2位

标记:9位

b)如果一个程序执行三次从主存储器单元810到5110的循环操作,请计算其命中率。这里可以使用分数的形式来表示命中率。

访问的数据在高速缓存中即为一次命中!

第一次:没有命中:8、16、24、32、40、

48 共6次

命中:(51-8+1)-6=38

第二次:命中:5*8 + 4 = 44次

第三次:命中:5*8 + 4 = 44次

命中率:(38+44+44)/(44*3)=126/132

相关主题
文本预览
相关文档 最新文档