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=-