计算机组成原理 习题答案 下载本文

内容发布更新时间 : 2024/5/6 15:19:21星期一 下面是文章的全部内容请认真阅读。

1.4 冯诺依曼型计算机的主要设计思想是什么? 它包括哪些主要组成部分?

? 冯诺依曼计算机的主要设计思想是:

存储程序并按地址顺序执行。 ? 冯诺依曼计算机主要包括:

存储器、运算器、控制器、输入和输出五部分组成。

1.5 什么是存储容量?什么是单元地址? 什么是数据字?什么是指令字?

? 存储容量

? 存储器所能保存二进制数据的总数,常用单位为KB、MB等。

? 单元地址

? 用于识别存储器中每个存储单元的编号,即单元地址。

? 数据字

? 表示计算机所要处理数据的计算机字,称为数据字。

? 指令字

? 表示一条指令的计算机字,称为指令字。

1.6 什么是指令?什么是程序?

? 指令:

由操作码和操作数两部分构成,能够表示计算机中的一个基本操作的代码或二进制串。 ? 程序:

用于求解某一问题的一串指令序列,称为该问题的计算程序,简称为程序。

1.7 指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?

? 计算机对指令和数据的区分是依靠指令的执行阶段来决定的; ? 在取指阶段,从存储器中读取的均是CPU要执行的指令;

? 在执行阶段,从存储器中读取的一定是指令执行所需要的操作数; 1.8 什么是内存?什么是外存?什么是CPU? 什么是适配器?简述其功能。

? 内存:

用于存放系统当前运行所需要的程序和数据的半导体存储器,称为内存储器,简称内存; ? 外存:

用于存放程序和数据,但不能被CPU直接访问的大容量存储器,称为外存储器,简称为外存;

外存一般包括磁盘存储器和光盘存储器。 ? CPU:

运算器和控制器合称为中央处理器,简称CPU。 ? 适配器:

主机和不同速度的外设之间的一种部件,用于主机和外设之间的信息转换。

2.1 用8位编码表示下列各整数的原码、反码、补码。 -35 127 -127 -1 真值 - 010 0011 +111 1111 -111 1111 -000 0001 原码 1010 0011 0111 1111 1111 1111 1000 0001 反码 1101 1100 0111 1111 1000 0000 1111 1110 补码 1101 1101 0111 1111 1000 0001 1111 1111 2.2 设[X]补=a7.a6 a5··· a0 ,其中ai 取0或1, 若要X>-0.5,求a0 a1 a2 ··· a6 的取值。 ① 若a7 =0,则X为正数,显然a6··· a0取任何值, X均大于-0.5。 ② 若a7 =1,则X为负数,[X]移=0. a6 a5 ··· a0 ∵ -0.5D = -0.B,则[-0.5D ]移=0. ∴ 若要X>-0.5,即等价于[X]移> [-0.5D ]移 即0. a6 a5··· a0>0.,因此必须是a5··· a2不全为0 结论:

如果a7 =0, a6··· a0取任何值均可; 如果a7 =1 ,必须满足a6 =1 且a5··· a0不全为0。

2.3 有一个字长为32位的浮点数,符号位1位;阶码8位,用移码表示;尾数23位,用补码表示;基数为2。

请写出: (1)最大数的二进制表示 (2)最小数的二进制表示 (3)规格化数所能表示的数的范围。 (1)最大值(最大正数)

机器数形式:0 1111 1111 111 1111 1111 1111 1111 1111 真值: (1-2-23) * 2127

二进制表示: x = (1-0.0000 0000 0000 0000 0000 001) * 2111 1111 (2)最小值(最小负数)

机器数形式:1 1111 1111 000 0000 0000 0000 0000 0000 真值: -1 * 2127 二进制表示: x = -1* 2111 1111 (3)规格化数表示范围

? 最大正数: 0 1111 1111 111 1111 1111 1111 1111 1111

即 x = (1-2-23) * 2127

? 最小正数: 0 0000 0000 100 0000 0000 0000 0000 0000

即 x = 2-1 * 2-128

? 最大负数: 1 0000 0000 011 1111 1111 1111 1111 1111

即 x = -(2-1+2-23) * 2-128

? 最小负数: 1 1111 1111 000 0000 0000 0000 0000 0000

即 x = -1 * 2127

? 所以规格化数的正数范围为:2-129~ (1-2-23) * 2127,

负数范围为:-2127 ~-(2-1+2-23) * 2-128

2.4 将下列十进制数表示成IEEE754标准的32位浮点规格化数。 (1)27/64 (2)-27/64

(1) 27/64 =27×(1/64) = (0001 1011)2*2-6 = 0.B = 1.1011 × 2-2 e=-2,则E=e+127=125 ∴ 规格化数为 符号位 0 阶码(8) 0111 1101 尾数(23) 1011 0000 0000 0000 0000 000 (2) - 27/64 =- 0.B = -1.1011 × 2-2 ∴ 规格化数为 符号位 1 阶码(8) 0111 1101 尾数(23) 1011 0000 0000 0000 0000 000 2.5 已知x和y,用变形补码计算x+y,同时指出结果是否溢出。 (1) x=11011 y=00011 (2) x=11011 y=-10101 (3) x=-10110 y=-00001 (1) [x]补=00 11011 ,[y]补=00 00011 ∴ [x+y]补=00 11110,未溢出 (2) [x]补=00 11011 ,[y]补=11 01011 ∴ [x+y]补=00 00110,未溢出 (3)[x]补=11 01010 ,[y]补=11 11111 ∴ [x+y]补= 11 01001 ,未溢出

2.6 已知x和y,用变形补码计算x-y,同时指出结果是否溢出。 (1)x=11011 y=-11111 (2) x=10111 y=11011 (3)x=11011 y=-10011

(1) [x]补=00 11011 ,[-y]补=00 11111 ∴ [x-y]补= 01 11010 ,溢出(上溢)

(2) [x]补=00 10111 ,[y]补=00 11011 , [-y]补=11 00101 ∴ [x-y]补= 11 11100 ,未溢出

(3) [x]补=00 11011 ,[y]补=11 01101 , [-y]补=00 10011 ∴[x-y]补= 01 01110 ,溢出(上溢)

2.7 用原码阵列乘法器、补码阵列乘法器分别计算x×y。 (1) x=11011 y=-11111 (2) x=-11111 y=-11011 (1) 输入数据的原码: [x]原=0 11011 [y]原=1 11111

? 符号位单独运算: 0⊕1=1 ? 算前求补器输出:

|x|=11011 |y|=10011 ? 乘法阵列: |x| ×|y| = 1 1 0 1 0 0 0 1 0 1

? 加上乘积符号位1,得[x×y]原= 1 即x × y=-