计算机组成原理(张功萱)课后答案

清华大学出版社的
2024-12-26 14:21:22
推荐回答(1个)
回答1:

第一章
1. 模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。
2. 数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
3. 科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。
4. 主要设计思想是:存储程序通用电子计算机方案,主要组成部分有:运算器、逻辑控制装置、存储器、输入和输出设备
5. 存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。
6. 每一个基本操作称为一条指令,而解算某一问题的一串指令序列,称为程序。
7. 取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是指令流。
8. 半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。
9. 计算机的系统软件包括系统程序和应用程序。系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能用用途;应用程序是用户利用计算机来解决某些问题而编制的程序。
10. 在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效率,人们使用汇编语言来编写程序,称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序,源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行;随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库管理系统。
11. 从第一至五级分别为微程序设计级、一般机器级、操作系统级、汇编语言级、高级语言级。采用这种用一系列的级来组成计算机的概念和技术,对了解计算机如何组成提供了一种好的结构和体制。而且用这种分级的观点来设计计算机,对保证产生一个良好的系统结构也是很有帮助的。
12. 因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。实现这种转化的媒介是软件与硬件的逻辑等价性。
13. ( 略 )

第二章
1.(1)

(2)

(3)-127
-127 = -7F = -1111111
[-127]原 = 11111111
[-127]补 = 10000001
[-127]反 = 10000000
[-127]移 = 00000001
(4)[-1]原 = 1000 0000
[-1]补 = 1000 0000
[-1]反 = 1111 1111
[-1]移 = 0000 0000
(5)-1 = -00000001
[-1]原 = 1000 0001
[-1]补 = 1111 1111
[-1]反 = 1111 1110
[-1]移 = 0111 1111

2.[x]补 = a0. a1a2…a6
解法一、
(1) 若a0 = 0, 则x > 0, 也满足x > -0.5
此时a1→a6可任意
(2) 若a0 = 1, 则x <= 0, 要满足x > -0.5, 需a1 = 1
即a0 = 1, a1 = 1, a2→a6有一个不为0
解法二、
-0.5 = -0.1(2) = -0.100000 = 1, 100000
(1) 若x >= 0, 则a0 = 0, a1→a6任意即可
[x]补 = x = a0. a1a2…a6
(2) 若x < 0, 则x > -0.5
只需-x < 0.5, -x > 0
[x]补 = -x, [0.5]补 = 01000000
即[-x]补 < 01000000

即a0a1 = 11, a2→a6不全为0或至少有一个为1(但不是“其余取0”)

3.字长32位浮点数,阶码10位,用移码表示,尾数22位,用补码表示,基为2

(1) 最大的数的二进制表示
E = 111111111
Ms = 0, M = 11…1(全1)
表示为: 11…1 011…1
10个 21个
即:
(2) 最小的二进制数
E = 111111111
Ms = 1, M = 00…0(全0)(注意:用10….0来表示尾数-1)
表示为: 11…1 100…0
10个 21个
即:

(3) 规格化范围
正最大 E = 11…1, M = 11…1, Ms = 0
10个 21个
即:
正最小 E = 00…0, M = 100…0, Ms = 0
10个 20个
即:
负最大 E = 00…0, M = 011…1, Ms = 1
10个 20个
(最接近0的负数)即:
负最小 E = 11…1, M = 00…0, Ms =1
10个 21个
即:
规格化所表示的范围用集合表示为:
[ , ] [ , ]
(4) 最接近于0的正规格化数、负规格化数(由上题可得出)
正规格化数 E = 00…0, M = 100…0, Ms = 0
10个 20个

负规格化数 E = 00…0, M = 011…1, Ms = 1
10个 20个

4.假设浮点数格式如下:

(1)
阶补码: 1 11
尾数补码: 0 1101 1000
机器数: 1110 1101 1000

(2)
阶补码: 1 11
尾数补码: 1 0010 1000
机器数: 1110 0010 1000
5.(1)x = 0.11011, y = 0.00011

x+y = 0.11110
无溢出
(2) x = 0.11011, y = -0.10101

x+y = 0.00110
无溢出
(3)x = -0.10110
y = -0.00001

x+y = -0.10111
无溢出
6.(1)x = 0.11011
y = -0.11111

溢出
(2)x = 0.10111
y = 0.11011

x-y = -0.00100
无溢出
(3)x = 0.11011
y = -0.10011

溢出
7.(1)原码阵列
x = 0.11011, y = -0.11111
符号位: x0⊕y0 = 0⊕1 = 1
[x]原 = 11011, [y]原 = 11111

[x*y]原 = 1, 11 0100 0101

直接补码阵列
[x]补 = (0)11011, [y]补 = (1)00001

[x*y]补 = 1,00101,11011(直接补码阵列不要求)

带求补器的补码阵列
[x]补 = 0 11011, [y]补 = 1 00001
乘积符号位单独运算0⊕1=1
尾数部分算前求补输出│X│=11011,│y│=11111

X×Y=-0.1101000101

(2) 原码阵列
x = -0.11111, y = -0.11011
符号位: x0⊕y0 = 1⊕1 = 0
[x]补 = 11111, [y]补 = 11011

[x*y]补 = 0,11010,00101
直接补码阵列
[x]补 = (1)00001, [y]补 = (1)00101

[x*y]补 = 0,11010,00101(直接补码阵列不要求)

带求补器的补码阵列
[x]补 = 1 00001, [y]补 = 1 00101
乘积符号位单独运算1⊕1=0
尾数部分算前求补输出│X│=11111,│y│=11011