计算机组成与设计答案——节选
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