计算机组织与系统结构第三章习题答案.docVIP

  • 165
  • 0
  • 约1.08万字
  • 约 10页
  • 2017-05-16 发布于河南
  • 举报

计算机组织与系统结构第三章习题答案.doc

计算机组织与系统结构第三章习题答案

第 3 章 习 题W func1(w) func2(w) 机器数 值 机器数 值 机器数 值 0000 007FH 127 0000 007FH +127 0000 007FH +127 0000 0080H 128 0000 0080H +128 FFFF FF80H –128 0000 00FFH 255 0000 00FFH +255 FFFF FFFFH –1 0000 0100H 256 0000 0000H 0 0000 0000H 0 函数func1的功能是把无符号数高24位清零(左移24位再逻辑右移24位),结果一定是正的有符号数;而函数func2的功能是把无符号数的高24位都变成和第25位一样,因为左移24位后进行算术右移,高24位补符号位(即第25位)。 4.填写下表,注意对比无符号数和带符号整数的乘法结果,以及截断操作前、后的结果。 模式 x y x×y(截断前) x×y(截断后) 机器数 值 机器数 值 机器数 值 机器数 值 无符号数 110 6 010 2 001100 12 100 4 二进制补码 110 –2 010 +2 111100 –4 100 –4 无符号数 001 1 111 7 000111 7 111 7 二进制补码 001 +1 111 –1 111111 –1 111 –1 无符号数 111 7 111 7 110001 49 001 1 二进制补码 111 –1 111 –1 000001 +1 001 +1 5.以下是两段C语言代码,函数arith( )是直接用C语言写的,而optarith( )是对arith( )函数以某个确定的M和N编译生成的机器代码反编译生成的。根据optarith( ),可以推断函数arith( ) 中M和N的值各是多少? #define M #define N int arith (int x, int y) { int result = 0 ; result = x*M + y/N; return result; } int optarith ( int x, int y) { int t = x; x = 4; x - = t; if ( y 0 ) y += 3; y2; return x+y; 参考答案: 可以看出x*M和“int t = x; x = 4; x-=t;”三句对应,这些语句实现了x乘15的功能(左移4位相当于乘以16,然后再减1),因此,M等于15; y/N与“if ( y 0 ) y += 3; y2;”两句对应,功能主要由第二句“y右移2位”实现,它实现了y除以4的功能,因此N是4。而第一句“if ( y 0 ) y += 3;”主要用于对y=–1时进行调整,若不调整,则–12=–1而–1/4=0,两者不等;调整后 –1+3=2,22=0,两者相等。 思考:能否把 if ( y 0 ) y += 3; 改成 if ( y 0 ) y += 2; ? 不能!因为y = - 4时不正确。 6.设A4(A1和B4(B1分别是四位加法器的两组输入,C0为低位来的进位。当加法器分别采用串行进位和先行进位时,写出四个进位C4 (C1的逻辑表达式。C1 = X1C0+Y1C0 + X1 Y1 C2 = X2C1+Y2C1 + X2 Y2 C3 = X3C2+Y3C2 + X3 Y3 C4 = X4C3+Y4C3 + X4 Y4 并行进位: C1 = X1Y1 + (X1+Y1)C0 C2 = X2Y2 + (X2 +Y2) X1Y1 + (X2+Y2) (X1+Y1)C0 C3 = X3Y3 + (X3 + Y3) X2Y2 + (X3 + Y3) (X2 + Y2) X1Y1 + (X3 + Y3) (X2 + Y2)(X1 + Y1)C0 C4=X4Y4+(X4+Y4)X3Y3+(X4+Y4)(X3+Y3)X2Y2+(X4+Y4)(X3+Y3)(X2+Y2)X1Y1+(X4+Y4)(X3+Y3) (X2+Y2)(X1+Y1)C0 7.用SN74181和74182器件设计16位补码加减运算器画出运算器的逻辑框图。= F15 用74181和74182器件设计一个32位的ALU,要求采用级先行进位结构 写出所需74181和74182芯片数。 画出ALU的逻辑。已知x = ,y = – 6,采用6位机器数表示。请按如下要求计算,并把结果还原成真值。 求[x+y]补,[x–y]补。 用原码位乘法计算[x×y]原。 用乘法计算[x×y]补。 用法计算[xy]原的商和余数。 用法计算[xy]补的商和余数。–6]补 = 111010

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档