当前位置:首页 > 计算机组成原理复习题(必考类)
字长:运算器一次运算处理的二进制位数。
CPI:指执行每条指令所需要的平均时钟周期数。
MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。
可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。产
品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。
MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。 MTTR:系统的平均修复时间。
MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。
可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系
统的可用性。
真值:正号和负号分别用“+”和“-”表示,数据位保持二进制值不变的数据表示方法。 机器数:数据在机器中的表示形式,是正负符号数码化后的二进制数据。
规格化:将非规格化的数处理成规格化数的过程。规格化数规定尾数用纯小数表示,且真值
表示时小数点后第一位不为0(以机器数表示时对小数点后第一位的规定与具体的机器数的形式有关)。
1.1 冯〃诺依曼型计算机的基本思想是什么?按此思想设计的计算机硬件系统应由哪些部
件组成?各起什么作用?
答:冯诺依曼型计算机的基本思想是存储程序和程序控制,其中的“存储程序”是指将解题的步骤编写成程序,然后把存储存放到计算机的内存中,而“程序控制”是指控制器读出存放在存储器中的程序并根据该程序控制全机协调工作以完成程序的功能。
根据冯诺依曼型计算机的基本思想,计算机的硬件应该由运算器、控制器、存储器、输入/输出设备和总线组成。
各部件的作用:
运算器:对数据进行运算的部件。 存储器:存放程序和数据。 控制器:根据指令的功能控制构成计算机的各大功能部件协调工作,共同完成指令的功能。
输入设备:将外部信息输送到主机内部的设备。
输出设备:能将计算机内部的信息以不同并且相应的形式反馈给人们的设备。
总线:连接两个或多个设备(部件)的公共信息通路。
1.2 什么是计算机字长?它取决于什么?计算机字长统一了哪些部件的长度?
答:计算机的字长一般指一次参与运算数据的基本长度,用二进制数位的长度来衡量。
它取决于运算器一次运算处理的二进制位数。它是计算机的重要性能指标。常用的计算机字长有8位、16位、32位及64位。
一般与计算机内部寄存器、加法器、数据总线的位数以及存储器字长等长,因此,字长直接影响硬件的代价。
1.3 计算机系统从功能上可划分为哪些层次?各层次在计算机系统中起什么作用?
答:计算机系统分成五级层次结构,第1级为微程序设计级、第2级为机器语言级、第3级为操作系统级、第4级为汇编语言级、第5级为高级语言级。
各层次的作用:
微程序级:为机器指令级提供机器指令的解释指行功能。 机器指令级:是软件系统和硬件系统的界面,一条机器指令的功能由微程序机器级的一段微型程序的功能实现。
操作系统级:调度计算机中的软件和硬件资源。 汇编语言级:它将用户编写的接近人类语言的程序,翻译成能在机器上运行的目标程序。
高级语言级:完全面向用户,是用户关心的目标,可执行各种用途的程序。 1.4 假定某计算机1和计算机2以不同的方式实现了相同的指令集,该指令集中共有A、B、C、D四类指令,它们在程序中所占比例分别为40%、20%、20%、20%,机器1和机器2的时钟周期为600MHZ和800MHZ,各类指令在两机器上的CPI如表1.5所示,求两机器的MIPS各为多少?
表1.5 两台计算机不同指令的CPI A B C D CPI1 2 3 4 5 CPI2 2 2 3 4
解:CPI1= 2*0.4+ 0.2*(3+4+5)= 3.2 MIPS1= f/(CPI1?106) = 600?106/(3.2?106)=187.5
CPI2= 2*0.4+ 0.2*(2+3+4)= 2.6 MIPS2= f/(CPI1?106) = 800?106/(2.6?106)=307.7
2.1 写出下列各数的原码、反码和补码。
0, 一0, 0.10101, 一0.10101, 0.11111, 一0.11111, -0.10000, 0.10000 解:
x=0,则[+0]原 = 0.00…0 , [+0 ]反= 0.00…0,[+0]补 =0.00…0; x=-0,则[-0]原 = 1.00…0,[-0]反 = 1.11…l,[-0]补 = 0.00…0; x=0.10101,则[x]原 =0.10101,[x]反 =0.10101,[x]补 =0.10101; x=一0.10101,则[x]原 =1.10101,[x]反 =1.01010,[x]补 =1.01011; x=0.11111,则[x]原 =0.11111,[x]反 =0.00000,[x]补 =0.00001; x=一0.11111,则[x]原 =1.11111,[x]反 =1.00000,[x]补 =1.00001; x=-0.10000,则[x]原 =1.10000,[x]反 =1.01111,[x]补 =1.10000; x=0.10000,则[x]原 =0.10000,[x]反 =0.10000,[x]补 =0.10000。
2.2 分析下列几种情况下所能表示的数据范围分别是多少 1)16位无符号数;
2)16位原码定点小数; 3)16位补码定点小数; 4) 16位补码定点整数; 解:
1)16位无符号数:0 ~ 1111 1111 1111 1111,即0 ~ 216-1=65535
2)16位原码定点小数:1.111 1111 1111 1111 ~ 0.111 1111 1111 1111,即 -(1-2-15)~ 1-2-15 3)16位补码定点小数:1.000 0000 0000 0000 ~ 0.111 1111 1111 1111,即 -1 ~ 1-2-15 4) 16位补码定点整数:1000 0000 0000 0000 ~ 0111 1111 1111 1111,即 -215 ~ 215-1 2.9 用IEEE754 32位浮点数标准表示十进制数
a)?65 b)3.1415927 c)64000
8解:
a) 首先分别将整数和分数部分转换成二进制数:
5?6=-110.101 8移动小数点,使其变成1.M的形式:
-110.101=-1.10101*22 于是得到:
S=0, e = 2,E= 10+01111111 = 10000001,M = 10101 最后得到32位浮点数的二进制存储格式为:
1100 0000 1101 0100 0000 0000 0000 0000=(C0D40000)16
b) 首先分别将整数和分数部分转换成二进制数: 3.1415927=11.00100100001111110110101 移动小数点,使其变成1.M的形式
11.00100100001111110110101=1.100100100001111110110101×2 于是得到:
S=0, e = 1,E= 1+01111111 =10000000,M = 10010010000111111011010 最后得到32位浮点数的二进制存储格式为:
0100 0000 0100 1001 0000 1111 1101 1010=(40490FDA)16
c) 首先将6400转换成二进制数: 64000=1100100000000
移动小数点,使其变成1.M的形式 1100100000000=1.100100000000×212 于是得到:
S=0, e = 12,E= 1100+01111111 =10001011,M = 1001 最后得到32位浮点数的二进制存储格式为:
0100 0101 1100 1000 0000 0000 0000 0000=(45C80000) 16
2.3 将下列十进制数表示成浮点规格化数,阶码4位,尾数10位,各含1位符号,阶码和尾
数均用补码表示。
(1)57/128 (2) —69/128 解:(1)57/128=(0.0111001)2,记x=0.0111001,则[x]原=[x]反=[x]补=0.0111001, 规格化:[x]补=0.111001*2-1
阶码的原码为:1001,因此补码为:1111 尾数为:0111001000
表示成浮点规格化数:1111 0111001000
(2)-69/128=(-0.1000101)2,记x=-0.1000101,则[x]原=1.1000101,[x]反=1.0111010,[x]补=1.0111011,
无需规格化,阶码为0000,尾数为1011101100 表示成浮点规格化数:0000 1011101100
3.1 已知x和y,用变形补码计算x-y,并判断结果是否溢出。 (1) x=0.11011,y=0.11101
(2) x=0.10111,y=0.11110 (3) x=-0.11111,y=-0.11001 解:(1)[x-y]补=11.11110,未溢出。 (2)[x-y]补=11.11001,未溢出。 (1)[x-y]补=11.11001,未溢出。
3.2用补码一位乘法计算x×y=? (1) x=0.10110,y=-0.00011 (2) x=-0.011010,y=-0.011101 解:(1)
[x]补=0.10110, [-x]补=1.01010, [y]补=1.11101
部分积 乘数 ynyn+1 说明
??
00.00000 1.111010 yn+1=0
+11.01010 yn+1yn=01,加[-x]补
11.01010 → 11.10101 0 1.11101 右移一位,得P1
+00.10110 yn+1yn=10,加[x]补
00.01011 →00.00101 10 1.1110 右移一位,得P2 +11.01010 yn+1yn=01,加[-x]补
11.01111
→11.10111 110 1.111 右移一位,得P3 +00.00000 yn+1yn=11,加0
11.10111 →11.11011 1110 1.11 右移一位,得P4
+00.00000 yn+1yn=11,加0 11.11011
→11.11101 11110 1.1 右移一位,得P5 +00.00000 yn+1yn=11,加0 11.11101 11110 最后一步数据不移位
所以 [x〃y]补=1.1110111110
(2) [x]补=1.100110, [-x]补=0.011010, [y]补=1.100011
部分积 乘数 ynyn+1 说明
??
00.000000 1.1000110 yn+1=0
+00.011010 yn+1yn=01,加[-x]补
00.011010 →00.001101 0 1.100011 右移一位,得P1
+00.000000 yn+1yn=11,加0
00.001101
→00.000110 10 1.10001 右移一位,得P2 +11.100110 yn+1yn=10,加[x]补
11.101100
→11.110110 010 1.1000 右移一位,得P3 +00.000000 yn+1yn=00,加0
11.110110
→11.111011 0010 1.100 右移一位,得P4
所以
+00.000000 11.111011 →11.111101 10010 +00.011010 00.010111
→00.001011 110010 +00.000000 00.001011 110010
[x〃y]补=0.001011110010 yn+1yn=00,加0
1.10 右移一位,得P5
yn+1yn=01,加[-x]补
1.1 右移一位,得P6 yn+1yn=00,加0 最后一步数据不移位
共分享92篇相关文档