计算机组成原理基础孙德文课后习题解答.docx

上传人:b****8 文档编号:23698018 上传时间:2023-05-20 格式:DOCX 页数:113 大小:227.39KB
下载 相关 举报
计算机组成原理基础孙德文课后习题解答.docx_第1页
第1页 / 共113页
计算机组成原理基础孙德文课后习题解答.docx_第2页
第2页 / 共113页
计算机组成原理基础孙德文课后习题解答.docx_第3页
第3页 / 共113页
计算机组成原理基础孙德文课后习题解答.docx_第4页
第4页 / 共113页
计算机组成原理基础孙德文课后习题解答.docx_第5页
第5页 / 共113页
点击查看更多>>
下载资源
资源描述

计算机组成原理基础孙德文课后习题解答.docx

《计算机组成原理基础孙德文课后习题解答.docx》由会员分享,可在线阅读,更多相关《计算机组成原理基础孙德文课后习题解答.docx(113页珍藏版)》请在冰豆网上搜索。

计算机组成原理基础孙德文课后习题解答.docx

计算机组成原理基础孙德文课后习题解答

计算机组成基础

习题详解

(初稿)

孙德文

上海交通大学软件学院

2009.3

第1章计算机系统概论

1.1数字计算机和模拟计算机的区别?

解:

电子数字计算机的特点是数据由离散量来表示,是对离散变量进行处理和运算的解算装置。

电子模拟计算机的特点是数据由连续量来表示,是对连续变量进行运算的解算装置。

在电子模拟计算机中,变量为连续变化的直流电压、电流或电荷。

1.2说明冯·诺依曼计算机的设计思想?

写出冯·诺依曼计算机的主要组成部分?

解:

冯·诺依曼计算机的设计思想是:

提出了“存储程序”的概念,程序设计者按计算要求编制好程序,将程序和运行程序中所用的数据以二进制代码的形式存入计算机的存储器中,由计算机自动执行程序。

使电子计算机有了通用性,只要能写出正确的指令,计算机执行时就无须人工干预。

冯·诺依曼计算机的主要组成部分是:

运算器、控制器、存储器、输入设备和输出设备。

其中运算器和控制器合称“中央处理机”(或称为CPU,CentralProcessingUnit),CPU与存储器(内存储器)合称为“主机”,而输入设备和输出设备合称为“外部设备”。

1.3描述计算机的发展过程及应用范围?

解:

电子数字计算机从1946年第一台ENIAC机至今可分为4代:

第一代——电子管计算机;

第二代——晶体管计算机

第三代——集成电路计算机

第四代——大规模和超大规模集成电路计算机

应用范围

1.4计算机软件的组成?

并举例说明。

解:

计算机的主要应用领域包括:

数值计算、数据处理、计算机控制、计算机辅助设计/计算机辅助制造和人工智能等。

1.5说明计算机系统的层次结构及各层次结构的特点?

解:

计算机系统的层次结构共分8级,从L0~L7,其中:

L0为硬联逻辑,实现微指令的控制时序,是计算机系统硬件的内核;

L1为微程序控制,根据机器指令配备一套微指令,给出微操作控制信号;

L2为机器语言级计算机,该级的机器语言就是该计算机的指令系统;

L3为操作系统,为用户提供一个操作环境;

L4为汇编语言级计算机,该级的机器语言是汇编语言,由相应级的计算机进行解释、执行;

L5为高级语言类计算机,该级的机器语言是各种高级语言,该级计算机基本上脱离了物理计算机,供程序员使用;

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=011111101B(255-2)超过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)111000111

解:

(1)10111101=189(255-64-2)

(2)10001001=137(128+9)

(3)0.1011111=95/128=0.7421875((127-32)/128)

(4)0.0011010=13/64=0.203125

(5)10011001.110011=153+51/64=153.796875(153=128+16+9,

51/64=(63-12)/64)

(6)111000111=455(455=511-32-16-8)

2.3写出下列带符号数的原码、反码、补码和移码表示(用8位二进制代码表示)

(1)+112

(2)0.625

(3)–124(4)–0.375

(5)+197(6)+0.8125

(7)–6(8)-0.3125

(9)—127(10)—1

解:

(1)+112=127-15

[+112]原=01110000B

[+112]反=01110000B

[+112]补=01110000B

[+112]移=11110000B

(2)0.625=0.1010000B

[0.625]原=[0.625]反=[0.625]补=0.1010000B

小数无移码

(3)–124=-(127-3)=-1111100B

[-124]原=11111100B

[-124]反=10000011B

[-124]补=10000100B

[-124]移=10000100B

(4)–0.375=-48/128=-0.0110000B

[-0.375]原=1.0110000B

[-0.375]反=1.1001111B

[-0.375]补=1.1010000B

小数无移码

(5)+197

超过8位范围。

无法表示。

(6)+0.8125=104/128=0.1101000B

[+0.8125]原=[+0.8125]反=[+0.8125]补=0.1101000B

小数无移码

(7)–6

[-6]原=10000110B

[-6]反=11111001B

[-6]补=11111010B

[-6]移=01111010B

(8)-0.3125=-40/128=-0.0101000

[-0.3125]原=1.0101000B

[-0.3125]反=1.1010111B

[-0.3125]补=1.1011000B

小数无移码

(9)—127=-1111111

[—127]原=11111111B

[—127]反=10000000B

[—127]补=10000001B

[—127]移=00000001B

(10)—1

[—1]原=10000001B

[—1]反=11111110B

[—1]补=11111111B

[—1]移=01111111B

2.4给出以下机器数,求其真值(用二进制和十进制数表示)

(1)[x]原=00100111

(2)[x]补=10101101.

(3)[x]补=01000110(4)[x]原=10101101

(5)[x]移=01000110(6)[x]移=11010011

解:

(1)X=+0100111B=+(32+7)=+39

(2)[x]补=10101101B[x]原=11010011B

X=-1010011B=-(64+16+3)=-83

(3)X=+1000110B=64+6=+70

(4)[X]原=10101101B

X=-0101101B=-(32+13)=-45

(5)[x]移=01000110

[x]补=11000110

X=-0111010=-58

(6)[x]移=11010011

[x]补=01010011

X=1010011=83

2.5已知生成多项式为x4+x+1,有效信息为10101011,求CRC校验码。

解:

信息——数据字块M=10101011(共8位)

除数代码为G=10011即生成多项式G(X)=x4+x+1

求循环冗余校验码

二进制除法过程如下:

10110110

10011101010110000

10011

11001

10011

10101

10011

11000

10011

10110

10011

1010

此余数即所求之循环冗余码。

R=1010

得循环冗余校验码CRC为101010111010

2.6已知生成多项式为x4+x+1,有效信息为100101011,求CRC校验码。

解:

信息——数据字块M=100101011(共9位)

除数代码为G=10011即生成多项式G(X)=x4+x+1

求循环冗余校验码

二进制除法过程如下:

100011001

100111001010110000

10011

11011

10011

10000

10011

11000

10011

1011

此余数即所求之循环冗余码。

R=1011

得循环冗余校验码CRC为1001010111011

2.7已知生成多项式为x4+x+1,接收到的CRC校验码为1001010111101,请检查有无出错

解:

循环冗余校验码CRC为1001010111101

除数为10011

进行CRC检查

100011001

100111001010111101

10011

11011

10011

10001

10011

10101

10011

110

R=110有错

2.8已知生成多项式为x4+x+1,接收到的CRC校验码为1001010111010,请检查有无出错

解:

循环冗余校验码CRC为1001010111010

除数为10011

进行CRC检查

100011001

100111001010111010

10011

11011

10011

10001

10011

10010

10011

1

R=1有错

第3章数值的机器运算

3.1已知[x]补和[y]补的值,用补.码加减法计算x+y和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

解:

[y]补=0.00011

(1)[x]补=0.11011,

[-y]补=1.11101

[X+Y]补=[x]补+[y]补

=00.11011

+00.00011

__________________

00.11110

X+Y=+15/16=+0.1111B

[X-Y]补=[x]补+[-y]补

=00.11011

+11.11101

__________________

00.11000

X-Y=+12/16=+3/4=+0.11B

检验

【X=+27/32

Y=+3/32

X+Y=+(27+3)/32=+30/32=0.11110B

X-Y=(27-3)/32=+24/32=+3/4=0.11B】

(2)[x]补=0.10111,[y]补=1.00101

[Y]原=1.11011

[-y]补=0.11011

[X+Y]补=[x]补+[y]补

=00.10111

+11.00101

__________________

11.11100

X+Y=-0.001B=-1/8

[X-Y]补=[x]补+[-y]补

=00.10111

+00.11011

________________

01.10010(上溢)

[X-Y]补=1.10010(上溢)

【修正:

X-Y=-0.01110=-7/16+2=25/16】

检验

【X=+23/32

Y=-27/32

X+Y=(23-27)/32=-4/32=-1/8

X-Y=(23+27)/32=+50/32=25/16(上溢)】

(3)[x]补=1.01010,[y]补=1.10001

[-y]补=0.01111

[X+Y]补=[x]补+[y]补

=11.01010

+11.10001

__________________

10.11011

X+Y=0.11011B=+27/32

[修正27/32-2=27-64=-37/32]

[X-Y]补=[x]补+[-y]补

=11.01010

+00.01111

________________

11.11001

X-Y=-0.00111B=-7/32

检验

【X=-22/32=-11/16

Y=-15/32

X+Y=(-15-22)/32=-37/32(下溢)

X-Y=(-22-(-15))/32=-7/32】

(4)[x]补=1.10011,[y]补=0.11001

[X=-0.01101=-13/32

Y=+0.11001=25/32

X+Y=(-13+25)/32=12/32=3/8

X-Y=(-13-25)/32=-38/32=-19/16(下溢)]

[-y]补=1.00111

[X+Y]补=[x]补+[y]补

=11.10011

+00.11001

__________________

00.01100

X+Y=0.01100B=3/8

[X-Y]补=[x]补+[-y]补

=11.10011

+11.00111

________________

10.11010(下溢)

[X-Y]补=0.11010(下溢)

【修正:

X-Y=13/16–2=-19/16】

检验

【X=-0.01101=-13/32

Y=+0.11001=25/32

X+Y=(-13+25)/32=12/32=3/8

X-Y=(-13-25)/32=-38/32=-19/16(下溢)】

3.2给出x和y的二进制值,用补码加减法计算x+y和x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码什算)、

(1)x=0.10111y=0.11011

(2)x=0.11101y=0.10011

(3)x=0.11011y=-0.1010(4)x=-0.11111y=0.11011

(5)x=-0.11011y=0.1010(6)x=-0.11010y=-0.11001

(7)x=-1011101y=+1101101(8)x=+1110110y=-1001101

(9)x=+1101110y=+1010101(10)x=-1111111y=-1101101

解:

(1)X=0.10111Y=0.11011

[X]补=0.10111

[Y]补=0.11011

[-Y]补=1.00101

[X+Y]补=[X]补+[Y]补

=00.10111

+00.11011

_______________________

01.10010(上溢)

X+Y上溢

[X-Y]补=[X]补-[Y]补

=00.10111

+11.00101

_________________________

11.11100

X-Y=-0.00100

=-1/8

检验

【X=23/32Y=27/32

X+Y=50/32

[修正:

X+Y=-0.0111=-7/16+2=25/16]

X-Y=-1/8】

(2)X=0.11101Y=0.10011

[X]补=0.11101

[Y]补=0.10011

[-Y]补=1.01101

[X+Y]补=[X]补+[Y]补

=00.11101

+00.10011

_______________________

01.10000(上溢)

X+Y上溢

[X-Y]补=[X]补-[Y]补

=00.11101

+11.01101

_________________________

00.01010

X-Y=0.01010

=5/16

检验

【X=29/32Y=19/32

X+Y=48/32=3/2

[修正:

X+Y=-0.1=-1/2+2=1.5]

X-Y=10/32=5/16】

(3)X=0.11011Y=-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

[X-Y]补=[X]补-[Y]补

=00.11011

+00.10100

_________________________

01.01111

X-Y=-0.10001=-17/32(上溢)

[修正-17/32+2=47/32]

检验

【X=27/32Y=-20/32

X+Y=7/32

X-Y=47/32】

(4)X=-0.11111Y=0.11011

[X]补=1.00001

[Y]补=0.11011

[-Y]补=1.00101

[X+Y]补=[X]补+[Y]补

=11.00001

+00.11011

_______________________

11.11100

X+Y=-0.00100=-1/8

[X-Y]补=[X]补-[Y]补

=11.00001

+11.00101

_________________________

10.00110(下溢)

X-Y=0.00110=3/16(下溢)

[修正6/32-2=58/32=29/16]

检验

【X=-31/32Y=27/32

X+Y=-4/32=-1/8

X-Y=58/32=29/16】

(5)X=-0.11011Y=0.10100

[X]补=1.00101

[Y]补=0.10100

[-Y]补=1.01100

[X+Y]补=[X]补+[Y]补

=11.00101

+00.10100

_______________________

11.11011

X+Y=-0.00111=-7/32

[X-Y]补=[X]补-[Y]补

=11.00101

+11.01100

_________________________

10.10001(下溢)

X-Y=17/32(下溢)

[修正17/32-2=-47/32]

检验

【X=-27/32Y=20/32

X+Y=-7/32

X-Y=-47/32】

(6)X=-0.11010Y=-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/32-2=-51/32]

[X-Y]补=[X]补-[Y]补

=11.00110

+00.11001

_________________________

11.11111

X-Y=-0.00001

=-1/32

检验

【X=-26/32Y=-25/32

X+Y=-51/32

X-Y=-1/32】

(7)X=-1011101Y=+1101101

[X]补=10100011

[Y]补=01101101

[-Y]补=1.01100

[X+Y]补=[X]补+[Y]补

=110100011

+001101101

_______________________

000010000

X+Y=00010000=16

[X-Y]补=[X]补-[Y]补

=110100011

+110010011

_________________________

100110110(下溢)

X-Y=54(下溢)

[修正54-256=-202]

检验

【X=-93Y=109

X+Y=16

X-Y=-202】

(8)X=+1110110Y=-1001101

[X]补=01110110

[Y]补=10110011

[-Y]补=01001101

[X+Y]补=[X]补+[Y]补

=001110110

+110110011

_______________________

000101001

X+Y=41

[X-Y]补=[X]补-[Y]补

=0011101101

+001001101

_________________________

011000011(上溢)

X-Y=-61(上溢)

[修正-61+256=195]

检验

【X=118Y=-77

X+Y=41

X-Y=195】

(9)X=+1101110Y=+1010101

[X]补=01101110

[Y]补=01010101

[-Y]补=10101011

[X+Y]补=[X]补+[Y]补

=001101110

+001010101

_______________________

011000011(上溢)

X+Y=-0111101=-61[修正-61+256=195]

[X-Y]补=[X]补-[Y]补

=001101110

+110101011

_________________________

000011001

X-Y=25

检验

【X=110Y=85

X+Y=195

X-Y=25】

(10)X=-1111111Y=-1101101

[X]补=10000001

[Y]补=10010011

[-Y]补=01101101

[X+Y]补=[X]补+[Y]补

=110000001

+110010100

_______________________

100010100(下溢)

X+Y=00010100=20[修正20-256=-2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1