第1章  计算机系统概论
1.简答题
(1)计算机硬件包括哪些基本功能部件?为什么要有这些部件?
答:计算机的最基本的功能部件是运算器、存储器、控制器、输入单元和输出单元。计算机的基本功能就是存储和处理外部世界的信息并在需要的时候向外界提供这些信息。为了完成这些基本功能,要求计算机能够自动地输入信息、输出信息、存储信息以及处理信息。计算机的基本部件就是根据这些要求设置的,分别用一个部件完成上述个功能,完后用一个控制器实现上述功能的自动化。
2简述现代计算机常用的三级存储体系。
答:CPU能按存储单元地址直接访问主存(内存);增加高速缓存(Cache)的目的是为了提高速度,解决CPU与主存之间速度不匹配的矛盾;增加辅存(外存)的目的是弥补主存容量的不足。
3)运算器中有哪些寄存器?
答:运算器中有存放操作数和运算结果的寄存器,包括移位寄存器和若干通用寄存器。
4)计算机软件有哪些类型?
答:计算机软件一般可分为系统软件和应用软件两类。系统软件是整个计算机系统的一部分,为用户操作计算机以及应用软件的运行提供一个方便的界面。主要的系统软件有两类,一类是操作系统软件,负责计算机系统的运行控制;另一类是对程序设计语音进行处理的软件,包括编译程序解释程序、汇编程序等。应用软件是完成用户所需功能的软件,专门为解决某文字处理软件、游戏软件等都属于应用软件。
5)为什么说计算机的硬件和软件在功能上是等价的?
小学六年级数学下册教学计划答:因为计算机系统绝大部分硬件的功能可以用软件实现,软件的功能也可以用硬件来实现。例如,浮点运算功能,早期的计算机中没有浮点运算部件,在这些计管机中实现浮点数据的运算是靠软件进行,现在计算机中都采用了硬件浮点运算部件。可见计算机功能的这两种实现在逻辑上是等效的,其区别在于速度、成本、可靠性、存储容量、变更周期等因素。
2.改错题
(1)现在的数字计算机系统的硬件都是由超大规模集成电路以及机电一体的外围设备构成的。
(2)运算器可以对数据进行算术运算和逻辑运算。
(3)存储器中存放计算机运行中的数据以及程序。
(4)在运算器中有若干个临时存放数据的部件,称为寄存器。
(5)寄存器是CPU中的一个临时存放数据的单元。
(6)数据的存储是以字节或者字为单位的。
(7)数据的最小表示单位是位。
(8)衡量存储器容量的单位是存储器能够存储的信息字节数B,或KB,MB,GB,TB等。
(9)程序在运行之前必须先装入内存。
(10)CPU、内存和输入输出接口一起构成主机。
(11)控制器和运算器起构成CPU。
(12)Visual C++是一种C语言的编译软件,C语言则是一种高级程序设计语言,不是一种软件。
(13)编译程序是将高级语言程序转换成可执行代码的程序。
(14)编译执行前,程序可以经过优化,从而有更快的执行速度。
(15)计算机中一个字的长度在各种计算机中是各不相同的,不一定是32位。
(16)在同一个系列的计算机中,各个计算机一般不是相互兼容的,而是向上兼容的,即新的或更高档的计算机兼容老的或较低档的计算机,反过来的兼容性不具备。
第2章  数据表示
1.改错题
(1)定点小数把小数点固定在最高位的后面。
(2)原码是表示有符号数的二进制编码方法,它用符号位表示数据的符号。
(3)原码在数据的二进制表示前加上一个符号位。
(4)原码表示不便于进行数据的加减法运算,补码表示便于进行数据的加减法运算。
(5)移码编码保持了数值原来的大小顺序,补码编码没有保持数值原来的大小顺序。
(6)正数的补码与原码相同,负数的补码把数据的二进制表示按位取反,最低位加1后得到。
7)汉字输入码表示用于将汉字信息输入计算机。
8)奇偶校验码能发现数据代码中的位错误,但不能纠正错误。
9)海明码可以纠正数据代码中一位错误,并发现两位错误。
(10)浮点数的规格化是为了在尾数宗表示最多的有效数据位,同时使浮点数具有唯一的数据表示。
2.计算题
(1)在字长为8位的计算机中,求下列数的原码、反码及补码:+0 、-0、+18、-18、+31、-31、+127、-127。
解:[+0]=[+0]=[+0]团结就是力量 歌词=00000000
[-0]=10000000    [-0]=11111111    [-0]=00000000
[+18]=[+18]=[+18]=00010010
[-18]=10010010  [-18]=11101101  [-18]=11101110
[+31]=[+31]=[+31]=00011111
[-31]=10011111  [-31]=11100000  [-31]=11100001
[+127]=[+127]=[+127]=01111111
[-127]=11111111  [-127]=10000000  [-127]=10000001
[+0.5]=01000000  [+0.5]=010000000  [+0.5]=010000000
(2)解:
(5/32)10 =(0.00101)2=1.01×2-3
按IEEE754单精度格式  得:
S=0
M=01000…00
E=127+(-3)=124=(01111100)2
其机器数表示形式为:
010*********
十六进制形式:3E200000H
(-4120)10=-1000000011000=-1.000000011×2董晴12
S=1
M=000000011…00
E=127+12=139=(10001011)2
其机器数表示形式为:
1 10001011 00000001100000000000000
十六进制形式:C580C000H
注意:在IEEE754单精度格式中尾数默认小数点前为1,即真正的尾数为1.M。阶码为移127码,所以,阶码=127+实际指数值。
(3)解:
(41360000)16 = 0100 0001 0011 0110 0000 0000 0000 0000
指数e=E-127= 1000 0010 - 0111 1111=0000 0011=3
尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011
浮点数  N=(-1)S×(1.M)×2e=(-1)0×(1. 011011)×23= (11.375)10
(4)解:
(5)M(x)=x3+x2=1100
      M(x)·x3=x6+x5=1100000(即1100左移3位)
模2除:M(x)·x3/G(x)=1100000/1011=1110+010/1011
        即R(x)=010
得到7位的CRC码为:1100010
3  数据运算与运算器
1.计算题
(1)
[X]+[Y]=00001000+00001011=00010011
  [X]−[Y]=00001000−00001011=11111101
[X]+[Y]=00001011+00001000=00010011
  [X]−[Y]=00001011−00001000=00000011
[X]+[Y]=11111000+00001011=00000011
  [X]−[Y]=11111000−00001011=11101101
[X]+[Y]=11111000+11110101=11101101
  [X]−[Y]=11111000−11110101=00000011
(2)[X]=01010,[Y]=00101,[−X]=10110
操作
U      V
Y
y-1
0
初始数值
00000 ×××××
00101
0
1
[−X]
10110 ×××××
0
右移
11011 0××××
10010
1
2
[X]
00101 0××××
1
右移
00010 10×××
01001
0
3
高梓淇加[−X]
11000 10×××
0
右移
11100 010××
10100
1
4
[X]
00110 010××
1
右移
00011 0010×
01010
0
5
加0
00011 0010×
0
右移
00001 10010
00101
0
[UV]=[X]×[Y]=00001 10010
(3) 0.1101    0.1101        0.1110        0.1101
(4)[X]=001,0.1101        [Y]长春美食=011,1.0110
对阶:[X]=011,0.0011
尾数相加:[X+Y]=011,1.1001
规格化:[X+Y]=010,1.0010
舍入:结果不变
检查溢出:无溢出
(5)X=0.1011000×23
[X]=0011,0.1011000
Y=−0.1111011×2-2
[Y]=1101,1.1111011
阶码相加得1011+0101=0000
尾数相乘0.1011000*1.1111011=1.10101001001000
规格化=0000,1.10101001001000
舍入得0000,1.1010101
无溢出。
2.简答题
1)计算机中如何利用加法器电路进行减法运算?
答:为了用加法器电路完成补码的减法运算,可以把减数变成其相反数。也就是用x+(-y)的方法实现x-y的运算。求y的相反数的方法是对y的补码进行一次求补的操作。求补的操作就是在按位求反的基础上最低位再加上1,结果得到[-y]。完成求补操作的电路是在加法器
的输入端增加一个反相门实现按位求反,加1操作则可通过在加法器的最低进位输入端设置1来实现。
2)在浮点数加减法运算中为什么要进行对阶操作?怎样进行对阶操作?
糯米糍粑
答:在浮点数加减法运算中,当两个操作数的阶码Ex和Ey不相等时,要通过对尾数进行移位并相应地改变Ex和Ey使之相等,移位的方法可以有移位Mx和移位My两种可能的方法使Ex等于Ey。但由于格化尾数左移时会引起最高位的丢失,造成很大误差而使结果发生错误,而尾数右移虽引起最低位有效位的丟失,但造成的误差较小。
答:对阶操作规定使阶码较小的数据的尾数进行右移,尾数右移后使阶码作相应增加,每右移一位将阶码加1,以保持其数值不变。
3)什么是全加器?
答:全加器将两个数据位和低位的进位输入进行加法运算,输出一个加法结果位和一个向高位输出的进位信号。所以全加器共有3个输入端和2个输出端。