第1章 习题参考答案
1.电子数字计算机和电子模拟计算机的区别在哪里?
解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续 的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。 2.冯·诺依曼计算机的特点是什么? 其中最主要的一点是什么? 解:冯·诺依曼计算机的特点如下:
① 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;
② 计算机内部采用二进制来表示指令和数据;
③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。 第③ 点是最主要的一点。
3.计算机的硬件是由哪些部件组成的? 它们各有哪些功能?
解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件 组成。 它们各自的功能是:
① 输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计 算机内部所能识别和接受的信息方式。
② 输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。 ③ 存储器:用来存放程序和数据。 ④ 运算器:对信息进行处理和运算。
⑤ 控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自 动工作。
4.什么叫总线? 简述单总线结构的特点。
解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各 部件的信息。 单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。 C P U 与主存、C P U 与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过C P U 的干预。 5.简单描述计算机的层次结构,说明各层次的主要特点。
解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分 的多级层次结构。
第0 级为硬件组成的实体。
第1 级是微程序级。 这级的机器语言是微指令集,程序员用微指令编写的微程序一 般是直接由硬件执行的。
第2 级是传统机器级。 这级的机器语言是该机的指令集,程序员用机器指令编写的 程序可以由微程序进行解释。
第3 级是操作系统级。 从操作系统的基本功能来看,一方面它要直接管理传统机器 中的软硬件资源,另一方面它又是传统机器的延伸。
第4 级是汇编语言级。 这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做 汇编程序。
第5 级是高级语言级。 这级的机器语言就是各种高级语言,通常用编译程序来完成 高级语言翻译的工作。
第6 级是应用语言级。 这一级是为了使计算机满足某种用途而专门设计的,因此这 一级语言就是各种面向问题的应用语言。
6.计算机系统的主要技术指标有哪些?
解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存容量和运算速 度等。
机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。 数据通路宽度是指数据总线一次所能并行传送信息的位数。 主存容量是指主存储器所能存储的全部信息量。
运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。
第2章 习题参考答案
1.已知下列数的原码表示,分别写出它们的补码表示。
[X]原=0.10100,[X]原=1.10111
2.已知下列数的补码表示,分别写出它们的真值。
[X]补=0.10100,[X]补=1.10111
3.某机字长16位,简述下列几种情况下所能表示数值的范围。 (1)无符号整数
(2)用原码表示定点小数 (3)用补码表示定点小数 (4)用原码表示定点整数
(5)用补码表示定点整数
4.某机字长32位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十进制数表示)。
5.某浮点数字长12位,其中阶符1位,阶码数值3位,数符1位,尾数数值7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?
6.一浮点数,其阶码部分为p位,尾数部分为g位,各包含一位符号位,均用补码表示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写出表达式。
7.试将(-0.1101)2用IEEE短浮点数格式表示出来。
8.对下列ASCII码进行译码。
1001001,0100001,1100001,1110111 1000101,1010000,1010111,0100100
9.以下列形式表示(5382)10 (1)8421码 (2)余3码 (3)2421码 (4)二进制数
10.求有效信息位为01101110的海明校验码。
第3章 习题参考答案
1 .指令长度和机器字长有什么关系? 半字长指令、单字长指令、双字长指令分别表示什么意思?
解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。 2 .零地址指令的操作数来自哪里? 一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得? 各举一例说明。
解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。例如,前述零地址和一地址的加法指令。
3 .举例说明哪几种寻址方式除去取指令以外不访问存储器? 哪几种寻址方式除去取指令外只需访问一次存储器? 完成什么样的指令,包括取指令在内共访问4 次存储器?
解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。
除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻址,相对寻址,页面寻址。二级间接寻址包括取指令在内共访问4 次存储器。
4.什么叫主程序和子程序?调用子程序时还可采用哪几种方法保存返回地址?画图说明调用子程序的过程。
解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。 保存返回地址的方法有多种: (1)用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址作为间接地址,采用间址方式返回主程序。
(2)用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子程序将寄存器中的内容转移到另一个安全的地方。 (3)用堆栈保存返回地址。
调用子程序的过程如下图所示,此时返回地址保存在堆栈中。
5.某机为定长指令字结构,指令长度16 位;每个操作数的地址码长6 位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令已有K 种,无操作数指令已有L种,问单操作数指令最多可能有多少种? 上述三类指令各自允许的最大指令条数是多少?
6.设某机为定长指令字结构,指令长度12 位,每个地址码占3 位,试提出一种分配方案,使该指令系统包含:4 条三地址指令,8 条二地址指令,180 条单地址指令。
7.指令格式同上题,能否构成:三地址指令4 条,单地址指令255条,零地址指令64 条? 为什么?