《计算机组成与设计》习题解答(4)

2018-12-06 21:15

00FFFC FFFFF8 FFFFFC

1FFF 1FFF 1FFF

1 0 1

0 1 0

0 0 0

01 1FE 1FF

12345678 11223344 24682468

其中,地址为010004的块将覆盖地址为000000的块,最后一个装入的块将覆盖地址为

00FFFC的块。操作完成后,cache中有关块的内容如下表所示:

组号 000 000 001 1FFF 1FFF

Cache块号 块内地址

0 1 0 0 1

0 0 0 0 0

标记 03 02 00 1FF 1FE

数据 11235813 77777777 87654321 24682468 11223344

43. 一个两级存储器系统有八个磁盘上的虚拟页需要映射到主存中的四个页框架中。某程序生成以下访存页号序列:

1, 0, 2, 2, 1, 7, 6, 7, 0, 1, 2, 0, 3, 0, 4, 5, 1, 5, 2, 4, 5, 6, 7, 6, 7, 2, 4, 2, 7, 3

画出每个页号访问请求之后存放在主存中的位置,采用LRU替换策略,计算主存的命中率,假定初始时主存为空。

答:主存中页面分配的情况如下表所示

地址流: 1 0 2 2 1 7 6 7 0 1 2 0 3 0 4 5 1 5 2 4 5 6 7 6 7 2 4 2 7 3

页面:

1 1* 1 1* 1 1 1 1 1* 1 1 1 1* 1* 4 4 4 4 4* 4 4 4 4* 4* 4* 2 2 2 2 2 - 0 0 0 0* 0* 6 6 6 6* 2 2 2 2 2* 5 5 5 5 5 5 5 5 5 5 5* 4 4 4 4* - - - 2 2 2 2 2* 2* 0 0 0 0 0 0 0 0 0* 0* 2 2 2 2* 7 7 7 7 7 7 7 7 - - - - 7 7 7 7 7 7* 7* 3 3 3 3* 1 1 1 1* 1* 6 6 6 6 6 6* 6* 6* 3 n n y n y y n n y y n n y y n

命中: n n n y y n n y n y n y n y n 从表中可见,命中13次,命中率=13/30=43.3%

第6章

9. 设计算机A有60条指令,指令操作码为6位固定长度编码,从000000到111011。其后继产品B需要增加32条指令,并与A保持兼容,

(1) 试为计算机B设计指令操作码。 (2) 计算操作码平均长度。

答::(1)6位操作码中保留了111100到111111四个码字,如果不再保留码字可增加3位扩展码,这样增加的32条指令的操作码为111100,000到111111,111中的一个。 (2)如果每条指令的使用概率相等,则平均指令长度为:

(6×60 + 9×32)/(60+32) = 7.04

注意:B计算机与A计算机保持兼容意味着B计算机原封不动地采纳A计算机的指令,可增加新的指令,但A计算机中已有的指令不能做任何改动。

10. 某计算机的指令系统字长定长为16位,采用扩展操作码,操作数地址需要4位。该指令系统已有三地址指令M条,二地址指令N条,没有零地址指令,问系统最多还有多少条一地址指令?

答:三种指令的操作码长度分别为4位、8位和12位。设系统最多有L条一地址指令,则有

L=((24-M) ?24-N) ?24

13. 在一个单地址指令的计算机系统中有一个累加器,给定以下存储器数值:

单元20中的内容是40 单元30中的内容是50 单元40中的内容是60 单元50中的内容是70

求以下指令分别将什么数值装入到累加器中? (1) load #20 (2) load 20 (3) load (20) (4) load #30 (5) load 30 (6) load (30)

答:(1) 20 (2) 40 (3) 60 (4) 30 (5) 50 (6) 70

15. 一条双字长的指令存储在地址为W的存储器中。指令的地址字段位于地址为W+1处,用Y表示。在指令执行中使用的操作数存储在地址为Z的位置。在一个变址寄存器中包含X的值。试叙述Z是怎样根据其他地址计算得到的,假定寻址方式为

(1) 直接寻址 (2) 间接寻址 (3) 相对寻址 (4) 变址寻址

答:根据题意画出如下示意图:

WW+1变址寄存器XZ存储器?OP(操作码)Y(地址码)?A

(1) 在直接寻址方式下,指令中存放的就是操作数的地址。即操作数的地址Z在地址为W+1处,Z从指令中得到,所以有Z=Y。

(2) 在存储器间接寻址方式下,操作数的地址在某一个存储单元中,其地址在指令中。Z根据Y访存后得到,所以有Z = (Y)。

(3) 在相对寻址方式下,操作数的地址为PC的值(取完指令后PC的值为W+2)加上Y得到。所以有Z=W+Y+2。

(4) 在变址寻址方式下,操作数的地址为变址寄存器的值加上Y得到。所以有 Z=X+Y

16. 一条双字长的load指令存储在地址为200和201的存储位置,该指令将地址码指定的存储器内容装入累加器AC。指令的第一个字指定操作码和寻址方式,第二个字是地址部分。PC寄存器的值是200。通用寄存器R1的值是400,变址寄存器XR的内容是100,如下图所示。

地址PCR1XRAC200400100200201202309400500600702800主存load500M450700800900325300

指令的寻址方式字段可指定任何一种寻址方式。问在以下寻址方式下,装入AC的值。

a. 直接寻址 b. 立即数寻址 c. 相对寻址 d. 变址寻址

e. 寄存器(R1)寻址 f. 寄存器(R1)间接寻址

答:在直接寻址方式下,有效地址是指令中的地址码部分内容500,装入AC的操作数是800。

在立即数寻址方式下,指令的地址码部分就是操作数而不是地址,所以将500装入AC(实际上有效地址是201)。

在间接寻址方式下,操作数的有效地址存储在地址为500的单元中,由此得到有效地址800,操作数是300。

在相对寻址方式下,有效地址是500+202=702,所以操作数是325。在该指令的执行阶段,PC寄存器的内容已经更新为下一条指令的地址202。

在变址寻址方式下,有效地址是XR+500=100+500=600,操作数是900。 在寄存器寻址方式下,R1的内容400装入AC,这时不存在有效地址。

在寄存器间接寻址方式下,有效地址是R1的内容400,装入AC的操作数是700。

17. 一条相对转移指令长4个字节,存储在存储器中地址为75010的地方,转移目标地址为50010。问

(1) 指令读取之后PC的值为多少? (2) 指令的相对地址字段的值为多少?

(3) 该指令的相对地址字段需要多少二进制位?

答:(1) 该指令读取之后PC的值更新为75410。

(2) 相对转移指令中的地址偏移量应为 500 - 754 = -254

(3) 254 < 28,相对地址字段需要8个二进制位。

(4) 如果采用补码表示相对地址,则可以形成前向和后向的转移,即转移到该指令的前面以及后面。这样需要增加一个符号位,一共9位相对地址。

32. 某计算机系统的指令有三地址、二地址和单地址格式。

? 三地址指令有8条,用于数据运算,地址码都是采用寄存器寻址方式,有16个

通用寄存器,数据运算功能有加、减、乘、除、与、或、非、异或。

? 二地址指令有1条,用于数据传输,两个地址码各有4种寻址方式(寄存器、寄

存器间接、直接和存储器间接)。

? 单地址指令有2条,1条用于条件转移,采用相对寻址,转移条件在指令中用4

位编码表示,另一条用于无条件转移,采用寄存器寻址。存储器地址为32位。 试设计其指令格式,写出操作码及寻址方式编码方案。

答:本题可以有多种不同设计结果。设存储器地址为32位,下图所示是一种可能的结果。 三地址指令的操作码:0000,0001,0010,0011,0100,0101,0110,0111。寻址方式为寄存器寻址方式,有16个通用寄存器,所以采用4位寄存器号。指令长度为16位。 二地址指令的操作码为1000,2位代码m表示寻址方式,寄存器寻址和寄存器间接寻址采用4位寄存器号,直接和存储器间接寻址时采用32位存储器地址。指令长度有16位、44位、72位三种。 条件转移指令的操作码为1100,4位条件码,采用24位相对地址码,指令长度为32位。无条件转移指令的操作码为1110,4位寄存器号,指令长度为8位。

4 三地址 二地址 单地址1 单地址2 Opcode Opcode 4 Ra 2 4 Rb 4/32 A 4 Rc 2 4/32 A m 4 m 24 A Opcode cond Opcode Ra

33. 以下MIPS指令码代表什么操作?写出它的汇编指令表示。

0000 0000 1010 1111 1000 0000 0010 0000

34. 根据MIPS指令操作码定义以及指令格式,给出以下指令的各个字段的十进制值:

add $8, $17,$18

第七章

11. 对于单总线的CPU结构,写出执行以下带有间接访存寻址方式的指令的执行过程。

(1) ADD R1,(mem)

(2) STORE (mem),R1

答: (1) 指令的含义是将R1的内容加上存储器中的内容,结果写入R1,存储器采用间接

寻址。执行步骤是

PC→MAR,读

PC+1→PC DBUS→MDR MDR→IR IR(地址段)→MAR,读 DBUS→MDR MDR→MAR,读 DBUS→MDR MDR→Y R1+Y→Z Z→R1 (2) 指令的含义是将R1的内容写入存储器,存储器采用间接寻址。执行步骤是 PC→MAR,读 PC+1→PC DBUS→MDR MDR→IR IR(地址段)→MAR,读 DBUS→MDR MDR→MAR R1→MDR,写

注意:可以有不同的执行流程,但是指令执行过程中不可使用指令没有指定的通用寄存器,

如不可以将读取的直接地址放入通用寄存器R2。

13. 在单总线的CPU结构中,如果加法指令中的第二个地址码有寄存器寻址、寄存器间接寻址和存储器间接寻址这三种寻址方式,并在指令中用代码表示指令的寻址方式,即该指令可实现如下功能:

(1) ADD R1,R2 ; R1+R2→R1 (2) ADD R1,(R2) ; R1+(R2)→R1 (3) ADD R1,(mem) ;R1+(mem) →R1 试设计执行这条指令的流程图。

答:在第一种寻址方式下指令的执行过程是:

PC→MAR,读 PC+1→PC

DBUS→MDR→IR R2→Y

R1 + Y→Z Z→R1

在第二种寻址方式下指令的执行过程是:

PC→MAR,读 PC+1→PC

DBUS→MDR→IR


《计算机组成与设计》习题解答(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《河北省企业职工基本养老金计发办法》(冀劳社[2006]67号)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: