第五章课后题答案
2、
地址 大端 小端
地址 大端 小端
地址 大端 小端 14 88 14 88 88 14 88 14 00 8A 00 05 05 00 8A 00 45 A1 67 89 89 67 A1 45
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 0000 xxxx 16条 101 1111 xxxx
110 0000 xxxx 16条 110 1111 xxxx
111 0000 xxxx 13条 111 1100 xxxx 32个0地址指令
111 1110 0000 16条 111 1110 1111
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
200
1000 1400
400 1100
1000 1200
1300 1100 1400 1300
假设R1隐含在变址寻址方式中,试确定指令嵌入到累加器中实际数值,并填写下表: 寻址方式 装入AC的值 立即寻址 1000 直接寻址 1400 间接寻址 1300 变址寻址 1000 立即寻址:要操作的数据本身是指令的一部分,指令Load 1000的操作就是将数值1000直接装入AC中。 直接寻址:是指在指令中直接指定要引用的数值的存储器地址,指令Load 1000:就是将存储器地址为1000的存储单元中的数值装入累加器AC中。 间接寻址:地址域中的二进制数用来指定一个寄存器地址,该地址中的内容将被
用作一个指针。操作数的有效地址是通过访问这个存储器地址来获得的。Load 1000中的1400实际上是所要求的操作数的有效地址。
变址寻址:用变址寄存器RI来存储一个偏移量,将偏移量和操作数相加,就产生了指令所要求的数据的有效地址:1000+200 = 12
14、如果有指令Load 500,已知存储器和寄存器RI中包含如下数值:
存储器 R1
200
600 100
400 300
500 100
500 600
800 700
假设R1隐含在变址寻址方式中,试确定指令嵌入到累加器中实际数值,并填写下表: 寻址方式 装入AC的值 立即寻址 500 直接寻址 100 间接寻址 600 变址寻址 800 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)操作码域必须有多大?