




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成基础习题详解(初稿)赵玉松孙德文上海交通大学软件学院2009.3第1章 计算机系统概论1.1 数字计算机和模拟计算机的区别?解:电子数字计算机的特点是数据由离散量来表示,是对离散变量进行处理和运算的解算装置。 电子模拟计算机的特点是数据由连续量来表示,是对连续变量进行运算的解算装置。在电子模拟计算机中,变量为连续变化的直流电压、电流或电荷。1.2 说明冯诺依曼计算机的设计思想?写出冯诺依曼计算机的主要组成部分?解:冯诺依曼计算机的设计思想是:提出了“存储程序”的概念,程序设计者按计算要求编制好程序,将程序和运行程序中所用的数据以二进制代码的形式存入计算机的存储器中,由计算机自动执行程
2、序。使电子计算机有了通用性,只要能写出正确的指令,计算机执行时就无须人工干预。冯诺依曼计算机的主要组成部分是:运算器、控制器、存储器、输入设备和输出设备。其中运算器和控制器合称“中央处理机”(或称为CPU,Central Processing Unit),CPU与存储器(内存储器)合称为“主机”,而输入设备和输出设备合称为“外部设备”。1.3 描述计算机的发展过程及应用范围?解:电子数字计算机从1946年第一台ENIAC机至今可分为4代: 第一代 电子管计算机;第二代晶体管计算机第三代集成电路计算机第四代大规模和超大规模集成电路计算机应用范围1.4 计算机软件的组成?并举例说明。解:计算机的主
3、要应用领域包括:数值计算、数据处理、计算机控制、计算机辅助设计计算机辅助制造和人工智能等。1.5 说明计算机系统的层次结构及各层次结构的特点?解:计算机系统的层次结构共分8级,从L0L7,其中:L0为硬联逻辑,实现微指令的控制时序,是计算机系统硬件的内核;L1为微程序控制,根据机器指令配备一套微指令,给出微操作控制信号;L2为机器语言级计算机,该级的机器语言就是该计算机的指令系统; L3为操作系统,为用户提供一个操作环境;L4为汇编语言级计算机,该级的机器语言是汇编语言,由相应级的计算机进行解释、执行;L5为高级语言类计算机,该级的机器语言是各种高级语言,该级计算机基本上脱离了物理计算机,供程
4、序员使用;L6 为应用语言计算机,该级的机器语言是面向非计算机专业人员直接使用的应用语言;L7为应用系统分析和设计,是系统总体分析级,用以建立数学模型和算法,确定系统配置。第2章 运算基础-数值的机器级表示2.1 写出下列十进制数的8位二进制补码表示 (1) 54 (2) 37 (3) 111 (4) 253 (5) 0.1 (6) 0.63 (7) 0.34 (8) 0.21解: (1) +54 = 00110110B (32+16+6)(2) +37 = 00100101B (32+5)(3) +111 = 01101111B (64+32+15)(4) +253 =0 11111101B
5、 (2552) 超过8位补码范围(5) +0.1 = 0.0001101 (0.1 = 12.8/128 = 13/128 )(6) +0.63 = 0.1010001B (0.63=80.6/128=81 /128)(7) +0.34 = 0.0101100 (0.34 = 43.52/128 =44/ 128)(8) +0.21 = 0.0011011 (0.21 = 26.88 / 128= 27 /128)2.2 转换下列二进制数为十进制数 (1) 10111101 (2) 10001001 (3) 0.1011111 (4) 0.0011010 (5) 10011001.110011
6、 (6) 111000111解:(1) 10111101 = 189 (255642)(2) 10001001 = 137 (128+9)(3) 0.1011111 = 95 / 128 =0.7421875 ( (12732)/ 128 )(4) 0.0011010 = 13 / 64 = 0.203125 (5) 10011001 .110011 = 153 +51/64 = 153.796875 ( 153 = 128+16+9 , 51/64 = (6312)/64 )(6) 111000111 = 455 (455 = 51132168)2.3 写出下列带符号数的原码、反码、补码和移
7、码表示(用8位二进制代码表示) (1) +112 (2) 0.625 (3) 124 (4) 0.375 (5) +197 (6)+0.8125 (7) 6 (8) 03125 (9) 127 (10) 1解:(1) +112 = 12715 +112 原 = 01110000B +112 反 = 01110000B +112 补 = 01110000B +112 移 = 11110000B(2) 0.625 = 0.1010000B 0.625 原 = 0.625 反= 0.625 补 =0.1010000B 小数无移码(3) 124 =(1273) =1111100B124 原 = 111
8、11100B124 反 = 10000011B124 补 = 10000100B124 移 = 10000100B(4) 0.375 =48/128 =0.0110000B0.375 原=1.0110000B0.375 反=1.1001111B0.375 补=1.1010000B小数无移码(5) +197超过8位范围。无法表示。(6) +0.8125 =104/128 =0.1101000B+0.8125原=+0.8125反=+0.8125补= 0.1101000B小数无移码(7) 6 6 原 = 10000110B6 反 = 11111001B6 补 = 11111010B6 移 = 011
9、11010B (8) 03125 = 40/128 =0.010100003125 原=1. 0101000B03125 反=1.1010111B03125 补=1.1011000B小数无移码(9) 127 = 1111111 127原 = 11111111B127 反 = 10000000B127 补 = 10000000B127 移 = 00000000B (10) 1 1原 = 10000001B1反 = 11111110B1 补 = 11111111B1 移 = 01111111B2.4 给出以下机器数,求其真值(用二进制和十进制数表示) (1) x原=00100111 (2) x补=
10、10101101. (3) x补=01000110 (4) x原=10101101 (5) x移=01000110 (6) x移=11010011 解:(1) X =+0100111B=+(32+7) =+39(2) x补=10101101B x原=11010011BX=1010011B =( 64+16+3)=83(3) X = +1000110B=64+6 =+70(4) X原=10101101BX= 0101101B =(32+13) =45 (5) x移=01000110 x补=11000110 X=0111010=58(6) x移=11010011x补=01010011 X=1010
11、011=832.5 已知生成多项式为x4+x+1 ,有效信息为10101011,求CRC校验码。解:信息数据字块M = 10101011(共8位) 除数代码为G = 10011 即生成多项式G(X)= x4+x+1 求循环冗余校验码二进制除法过程如下: 10110110 10011 101010110000 10011 11001 10011 10101 10011 11000 10011 10110 10011 1010 此余数即所求之循环冗余码。R = 1010得循环冗余校验码CRC为1010101110102.6 已知生成多项式为x4+x+1 ,有效信息为100101011,求CRC校验
12、码。解:信息数据字块M = 100101011(共9位) 除数代码为G = 10011 即生成多项式G(X)= x4+x+1 求循环冗余校验码二进制除法过程如下: 100011001 10011 1001010110000 10011 11011 10011 10000 10011 11000 10011 1011 此余数即所求之循环冗余码。R = 1011得循环冗余校验码CRC为10010101110112.7 已知生成多项式为x4+x+1,接收到的CRC校验码为1001010111101,请检查有无出错解:循环冗余校验码CRC为1001010111101 除数为10011 进行CRC检查
13、100011001 10011 1001010111101 10011 11011 10011 10001 10011 10101 10011 110 R=110 有错 2.8 已知生成多项式为x4+x+1,接收到的CRC校验码为1001010111010,请检查有无出错解:循环冗余校验码CRC为1001010111010 除数为10011 进行CRC检查 100011001 10011 1001010111010 10011 11011 10011 10001 10011 10010 10011 1 R=1 有错 第3章 数值的机器运算3.1 已知x补和y 补的值,用补.码加减法计算x+y和
14、x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码什算)。 (1) x 补=0.11011 , y补=0.00011 (2) x 补=0.10111 y补=1.00101 (3) x 补=1.01010 y补=1.10001 (4) x 补=1.10011 y补=0.11001解: (1) x补=0.11011 , y补=0.00011y补=1.11101X+Y补=x补+y补= 00.11011+ 00.00011_ 00.11110X+Y= +15/16 =+0.1111B XY补=x补+y补=00.11011+11.11101_ 00.11000
15、XY= +12/16 =3/4=+0.11B检验【 X= + 27/ 32Y= +3/32X+Y = +(27+3)/32 =+30/32=0.11110BXY = (273)/32=+24/32=+3/4=0.11B 】(2) x补=0.10111 , y补=1.00101 Y原=1.11011y补=0.11011X+Y补=x补+y补= 00.10111+ 11.00101_ 11.11100X+Y= 0.001B=1/8 XY补=x补+y补= 00.10111+00.11011_ 01.10010 (上溢)XY补=1.10010 (上溢)【 修正:XY=0.01110 = 7 / 16+2
16、 = 25 / 16 】检验【 X= +23/ 32Y= 27/32X+Y = (2327)/32 =-4/32=1/8XY = (23+27)/32=+50/32 =25/16 (上溢) 】(3) x补=1.01010 , y补=1.10001 y补=0.01111X+Y补=x补+y补= 11.01010+ 11.10001_ 10.11011X+Y=0.11011B=+27/32 修正 27/322=2764=37/32 XY补=x补+y补= 11.01010+ 00.01111_ 11.11001 XY=0.00111B=7/32检验【X= 22/ 32=11/16Y=15/32X+Y
17、= (1522) /32 =37/32 (下溢)XY = (22(15) / 32 = 7/32 】 (4) x补=1.10011 , y补=0.11001 X= 0.01101=13/ 32Y= +0.11001=25/32X+Y = (13+25)/32 =12/32=3/8XY = (1325)/32=38/32 = -19 / 16 (下溢) y补=1.00111X+Y补=x补+y补= 11.10011+ 00.11001_ 00.01100X+Y=0.01100B=3/8 XY补=x补+y补= 11.10011+ 11.00111_ 10.11010 (下溢)XY补=0.11010
18、(下溢)【 修正: XY = 13 / 16 2 = 19 / 16 】检验【 X= 0.01101=13/ 32Y= +0.11001=25/32X+Y = (13+25)/32 =12/32=3/8XY = (1325)/32=38/32 = -19 / 16 (下溢) 】3.2 给出x和y的二进制值,用补码加减法计算x+y和x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码什算)、 (1) x=0.10111 y=0.11011 (2) x=0.11101 y=0.10011 (3) x=0.11011 y=-0.1010 (4) x=-0.1
19、1111 y=0.11011 (5) x=-0.11011 y=0.1010 (6) x=-0.11010 y=-0.11001 (7) x=-1011101 y=+1101101 (8) x=+1110110 y=-1001101 (9) x=+1101110 y=+1010101 (10) x=-1111111 y=-1101101解:(1) X=0.10111 Y=0.11011 X补=0.10111 Y补=0.11011 Y补=1.00101 X+Y补=X补+Y补= 00.10111+ 00.11011 _01.10010 (上溢) X+Y 上溢 XY补=X补Y补= 00.10111+
20、 11.00101_ 11.11100X-Y=0.00100 =1/8检验【X=23/32 Y=27/32X+Y=50/32 修正:X+Y=-0.0111 = 7 / 16 +2 =25 / 16 XY=1/8】(2) X=0.11101 Y=0.10011 X补=0.11101 Y补=0.10011 Y补=1.01101 X+Y补=X补+Y补= 00.11101+ 00.10011 _01.10000 (上溢) X+Y 上溢 XY补=X补Y补= 00.11101+ 11.01101_ 00.01010X-Y=0.01010 =5/16检验【X=29/32 Y=19/32X+Y=48/32 =
21、3 / 2 修正:X+Y = 0.1 = 1 / 2+2 =1.5 XY=10/32=5 / 16】(3) X=0.11011 Y=0.1010 X补=0.11011 Y补=1.01100 Y补=0.10100 X+Y补=X补+Y= 00.11011+ 11.01100 _00.00111 X+Y =7/32 XY补=X补Y补= 00.11011+ 00.10100_ 01.01111XY=0.10001=17/32 (上溢) 修正 17/32+2=47/32 检验【X=27/32 Y=20/32X+Y=7/32 XY=47/32】(4) X=0.11111 Y=0.11011 X补=1.00
22、001 Y补=0.11011 Y补=1.00101 X+Y补=X补+Y补= 11.00001+ 00.11011 _11.11100 X+Y =0.00100=1/8 XY补=X补Y补= 11.00001+ 11.00101_ 10.00110 (下溢)XY=0.00110=3/16 (下溢) 修正 6/322=58/32 =29/16 检验【X=31/32 Y=27/32X+Y=4/32 =1/8 XY=58/32=29/16】(5) X=0.11011 Y=0.10100 X补=1.00101 Y补=0.10100 Y补=1.01100 X+Y补=X补+Y补= 11.00101+ 00.1
23、0100 _11.11011 X+Y =0.00111=7/32 XY补=X补Y补= 11.00101+ 11.01100_ 10.10001 (下溢)XY=17/32 (下溢) 修正 17/322=47/32 检验【X=27/32 Y=20/32X+Y=7/32 XY=47/32】(6) X=0.11010 Y=0.11001 X补=1.00110 Y补=1.00111 Y补=0.11001 X+Y补=X补+Y补= 11.00110+ 11.00111 _10.01101 X+Y =13/32 (下溢) 修正 13/322=51/32 XY补=X补Y补= 11.00110+ 00.11001
24、_ 11.11111 XY=0.00001= 1/32检验【X=26/32 Y=25/32X+Y=51/32 XY=1/32】 (7) X=1011101 Y=+1101101 X补=10100011 Y补=01101101 Y补=1.01100 X+Y补=X补+Y补= 110100011+ 001101101 _000010000 X+Y =00010000=16 XY补=X补Y补= 110100011+ 110010011_ 100110110 (下溢)XY=54 (下溢) 修正 54256=202 检验【X=93 Y=109X+Y=16 XY=202】 (8) X=+1110110 Y=
25、1001101 X补=01110110 Y补=10110011 Y补=01001101 X+Y补=X补+Y补= 001110110+ 110110011 _000101001 X+Y =41 XY补=X补Y补= 0011101101+ 001001101_ 011000011 (上溢)XY=61 (上溢) 修正 61+256=195 检验【X=118 Y=77X+Y=41XY=195】 (9) X=+1101110 Y=+1010101 X补=01101110 Y补=01010101 Y补=10101011 X+Y补=X补+Y补= 001101110+001010101 _011000011
26、(上溢) X+Y =0111101=61 修正 61+256=195 XY补=X补Y补= 001101110+ 110101011_ 000011001XY=25检验【X=110 Y=85X+Y=195XY=25】 (10) X=1111111 Y=1101101 X补=10000001 Y补=10010011 Y补=01101101 X+Y补=X补+Y补= 110000001+ 110010100 _100010100 (下溢) X+Y =00010100=20 修正 20256=236 XY补=X补Y补= 110000001+ 001101101_ 111101110检验【XY=00100
27、10=18X=127 Y=109X+Y=236XY=18】3.3 给出x和y的二进制值,试用原码一位乘法求XY,(写出结果的二进制表示和十进制表示,要求写出运算过程), (1)X=0100,Y=0011 (2)X=0.0101,Y=0. 1010, (3)X = +1001,Y =1101 (4)X=0.1011,Y=0.1101 (5)X=1010,Y=+1011 (6) X=0.1001,Y=0.0101(7)X=1010,Y=+1101 (8) X=0.0110,Y=0.0101(9)X10101,Y10011 (10)X0.10111,Y0.10101解:(1)X=0100,Y=001
28、1按乘法规则,符号位Zs = Xs Ys = 0 1 = 1;绝对值相乘如下 0 0 0 0 0 0 1 1 部分积初值 0 1 0 0 Y4=1,加上被乘数X 0 1 0 0 0 0 1 1 第一次部分积 0 0 1 0 0 0 0 1 右移一位 0 1 0 0 Y3=1,加加上被乘数X 0 1 1 0 0 0 0 1 第二次部分积 0 0 1 1 0 0 0 0 右移一位 0 0 0 0 Y2=0,加0 0 0 1 1 0 0 0 0 第三次部分积 0 0 0 1 1 0 0 0 右移一位 0 0 0 0 Y1=0, 加0 0 0 0 1 1 0 0 0 第四次部分积 0 0 0 0 1
29、1 0 0 右移一位得乘积得:Z原 = 1 0 0 0 0 1 1 0 0 Z = - 0 0 0 0 1 1 0 0 B = - 12(2)X=0.0101,Y=0. 1010按乘法规则,符号位Zs = Xs Ys = 0 1 = 1;绝对值相乘如下 0 0 0 0 1 0 1 0 部分积初值 0 0 0 0 Y3=0,加0 0 0 0 0 1 0 1 0 第一次部分积 0 0 0 0 0 1 0 1 右移一位 0 1 0 1 Y2=1,加上被乘数X 0 1 0 1 0 1 0 1 第二次部分积 0 0 1 0 1 0 1 0 右移一位 0 0 0 0 Y3=0,加0 0 0 1 0 1 0
30、 1 0 第三次部分积 0 0 0 1 0 1 0 1 右移一位 0 1 0 1 Y1=1,加上被乘数X 0 1 1 0 0 1 0 1 第四次部分积 0 0 1 1 0 0 1 0 右移一位得乘积得:Z原 = 1. 0 0 1 1 0 0 1 0Z = - 0. 0 0 1 1 0 0 1 0 B = - 50 / 256(3)X = +1001,Y =1101 按乘法规则,符号位Zs = Xs Ys = 0 1 = 1;绝对值相乘如下 0 0 0 0 1 1 0 1 部分积初值 1 0 0 1 Y4=1,加上被乘数X 1 0 0 1 1 1 0 1 第一次部分积 0 1 0 0 1 1 1
31、 0 右移一位 0 0 0 0 Y3=0,加0 0 1 0 0 1 1 1 0 第二次部分积 0 0 1 0 0 1 1 1 右移一位 1 0 0 1 Y4=1,加上被乘数X 1 0 1 1 0 1 1 1 第三次部分积 0 1 0 1 1 0 1 1 右移一位 1 0 0 1 Y4=1,加上被乘数X 1 1 1 0 1 0 1 1 第四次部分积 0 1 1 1 0 1 0 1 右移一位得乘积得:Z原 = 1 0 1 1 1 0 1 0 1 Z = - 0 1 1 1 0 1 0 1 B = - 117(4)X=0.1011,Y=0.1101按乘法规则,符号位Zs = Xs Ys = 0 1
32、= 1;绝对值相乘如下 0 0 0 0 1 1 0 1 部分积初值 1 0 1 1 Y4=1,加上被乘数X 1 0 1 1 1 1 0 1 第一次部分积 0 1 0 1 1 1 1 0 右移一位 0 0 0 0 Y3=0,加0 0 1 0 1 1 1 1 0 第二次部分积 0 0 1 0 1 1 1 1 右移一位 1 0 1 1 Y2=1,加上被乘数X 1 1 0 1 1 1 1 1 第三次部分积 0 1 1 0 1 1 1 1 右移一位 1 0 1 1 Y1=1,加上被乘数X 1 0 0 0 1 1 1 1 1 第四次部分积 1 0 0 0 1 1 1 1 右移一位得乘积得:Z原 = 1.1
33、0001111Z = - 0. 10001111 B = - 143(5)X=1010,Y=+1011 按乘法规则,符号位Zs = Xs Ys = 1 0 = 1;绝对值相乘如下 0 0 0 0 1 0 1 1 部分积初值 1 0 1 0 Y4=1,加上被乘数X 1 0 1 0 1 0 1 1 第一次部分积 0 1 0 1 0 1 0 1 右移一位 1 0 1 0 Y4=1,加上被乘数X 1 1 1 1 0 1 0 1 第二次部分积 0 1 1 1 1 0 1 0 右移一位 0 0 0 0 Y4=0,加0 0 1 1 1 1 0 1 0 第三次部分积 0 0 1 1 1 1 0 1 右移一位
34、1 0 1 0 Y4=1,加上被乘数X 1 1 0 1 1 1 0 1 第四次部分积 0 1 1 0 1 1 1 0 右移一位得乘积得:Z原 = 1 0 1 1 0 1 1 1 0 Z = - 0 1 1 0 1 1 1 0 B = - 110(6) X=0.1001,Y=0.0101按乘法规则,符号位Zs = Xs Ys = 0 1 = 1;绝对值相乘如下 0 0 0 0 0 1 0 1 部分积初值 1 0 0 1 Y4=1,加上被乘数X 1 0 0 1 0 1 0 1 第一次部分积 0 1 0 0 1 0 1 0 右移一位 0 0 0 0 Y3=0,加0 0 1 0 0 1 0 1 0 第
35、二次部分积 0 0 1 0 0 1 0 1 右移一位 1 0 0 1 Y2=1,加上被乘数X 1 0 1 1 0 1 0 1 第三次部分积 0 1 0 1 1 0 1 0 右移一位 0 0 0 0 Y3=0,加0 0 1 0 1 1 0 1 0 第四次部分积 0 0 1 0 1 1 0 1 右移一位得乘积得:Z原 = 1. 0 0 1 0 1 1 0 1Z = -0 . 0 0 1 0 1 1 0 1 B = - 45 /256(7)X=1010,Y=+1101 按乘法规则,符号位Zs = Xs Ys = 1 0 = 1;绝对值相乘如下 0 0 0 0 1 1 0 1 部分积初值 1 0 1 0 Y4=1,加上被乘数X 1 0 1 0 1 1 0 1 第一次部分积 0 1 0 1 0 1 1 0 右移一位 0 0 0 0 Y3=0,加0 0 1 0 1 0 1 1 0 第二次部分积 0 0 1 0 1 0 1 1 右移一位 1 0 1 0 Y4=1,加上被乘数X 1 1 0 0 1 0 1 1 第三次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆烟筒施工方案
- 太阳能热水系统招标3篇
- 婚内财产协议的书范本版3篇
- 人合伙经营合同3篇
- 众筹合伙人模式协议书3篇
- 工程水泵安装合同2篇
- 安全责任书液化气运营3篇
- 家用热水设备招标公告3篇
- 货物进口报关代理合同(16篇)
- 2024年山东临沂高新区教育系统事业单位招聘教师考试真题
- 2025购销合同(电子产品)范文
- 基于全生命周期的绿色建筑成本影响因素研究
- 2025年普法知识竞赛题库及答案(共80题)
- 心力衰竭护理查房 课件
- 【课时练基础作业】人教版四年级数学下册第四单元《期中计算能力测试》(含答案)
- 树木修剪合同协议
- 2025年兰州市九年级诊断考试(一诊)物理试卷
- 2024年4月27日福建省事业单位《综合基础知识》真题及答案
- 农民工工资专用账户管理制度
- 药物治疗管理MTM
- 项目执行进度实时跟踪表(电子版)
评论
0/150
提交评论