计算机组成原理教材习题解答 下载本文

如对您有帮助,欢迎下载支持,谢谢!

计算机组成原理 蒋本珊 编著 教材习题解答 第1章 概论

1 .电子数字计算机和电子模拟计算机的区别在哪里?

解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续 的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。 2 .冯· 诺依曼计算机的特点是什么? 其中最主要的一点是什么? 解:冯· 诺依曼计算机的特点如下:

① 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件 组成;

② 计算机内部采用二进制来表示指令和数据;

③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。 第③ 点是最主要的一点。

3 .计算机的硬件是由哪些部件组成的? 它们各有哪些功能?

解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件 组成。它们各自的功能是:

① 输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计 算机内部所能识别和接受的信息方式。

② 输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。 ③ 存储器:用来存放程序和数据。 ④ 运算器:对信息进行处理和运算。

⑤ 控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自 动工作。

4 .什么叫总线? 简述单总线结构的特点。

解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各 部件的信息。单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统 总线。CPU 与主存、CPU 与外设之间可以直接进行信息交换,主存与外设、外设与外设 之间也可以直接进行信息交换,而无须经过CPU 的干预。

9 5 .简单描述计算机的层次结构,说明各层次的主要特点。

解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分 的多级层次结构。

第0 级为硬件组成的实体。

第1 级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一 般是直接由硬件执行的。

第2 级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的 程序可以由微程序进行解释。

第3 级是操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器 中的软硬件资源,另一方面它又是传统机器的延伸。

第4 级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做 汇编程序。

第5 级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成 高级语言翻译的工作。

1

如对您有帮助,欢迎下载支持,谢谢!

第6 级是应用语言级。这一级是为了使计算机满足某种用途而专门设计的,因此这 一级语言就是各种面向问题的应用语言。 6 .计算机系统的主要技术指标有哪些?

解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存容量和运算速 度等。

机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。 数据通路宽度是指数据总线一次所能并行传送信息的位数。 主存容量是指主存储器所能存储的全部信息量。

运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。

第2章 数据的机器层次表示

2-1 设机器数的字长为8位(含1位符号位),分别写出下列各二进制数的原码、补码和反码。 0, -0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101

0原码:00000000 补码:00000000 反码:00000000 -0原码:10000000 补码:00000000 反码:11111111 0.1000原码:0.1000000 补码:0.1000000 反码:0.1000000 -0.1000原码:1.1000000 补码:1.1000000 反码:1.0111111 0.1111原码:0.1111000 补码:0.1111000 反码:0.1111000 -0.1111原码:1.1111000 补码:1.0001000 反码:1.0000111 1101 原码:00001101 补码:00001101 反码:00001101 -1101 原码:10001101 补码:11110011 反码:11110010

2-2写出下列各数的原码、补码和反码 741147,,,?0,-,-,- 161616161616741?7?2-4?0.0111,?4?2-4?0.0100,?1?2-4?0.0001 1616167原码:0.0111补码:0.0111反码:0.0111 164原码:0.0100补码:0.0100反码:0.0100 161原码:0.0001补码: 0.0001反码:0.0001 16?0原码:00000补码:00000反码:00000 -0原码:10000补码:00000反码:11111 1-原码:1.0001补码:1.1111反码:1.1110 164-原码:1.0100补码:1.1100反码:1.1011 167-原码:1.0111补码:1.0100反码:1.1000 162-3已知下列数的原码表示,分别写出它们的补码表示。 [X]原=0.10100,[X]原=1.10111

2

如对您有帮助,欢迎下载支持,谢谢!

[x]补=0.10100,[x]补=1.01001

2-4已知下列数的补码表示,分别写出它们的真值。

[X]补=0.10100,[X]补?1.10111

x?0.10100,x??0.01001

2-8 .一个n 位字长的二进制定点整数,其中1 位为符号位,分别写出在补码和反码两 种情况下:

(1) 模数; (2) 最大的正数; (3) 最负的数; (4) 符号位的权; (5) - 1 的表示形式; (6) 0 的表示形式。 解:

第3章

1 .指令长度和机器字长有什么关系? 半字长指令、单字长指令、双字长指令分别表 示什么意思?

解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于 或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于 半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长 指令。

2 .零地址指令的操作数来自哪里? 一地址指令中,另一个操作数的地址通常可采用 什么寻址方式获得? 各举一例说明。

解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址 指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器 中。例如,前述零地址和一地址的加法指令。

3 .某机为定长指令字结构,指令长度16 位;每个操作数的地址码长6 位,指令分为 无操作数、单操作数和双操作数三类。若双操作数指令已有K 种,无操作数指令已有L 种,问单操作数指令最多可能有多少种? 上述三类指令各自允许的最大指令条数是多少? 指令系统

6 5 解: X = (24 - K) × 26 - jL 26 k

3

如对您有帮助,欢迎下载支持,谢谢!

双操作数指令的最大指令数:24 - 1 。

单操作数指令的最大指令数:15 × 26 - 1 (假设双操作数指令仅1 条,为无操作数指

令留出1 个扩展窗口) 。 无操作数指令的最大指令数:216 - 212 - 26 。其中212 为表示某条二地址指令占用的

编码数,26 为表示某条单地址指令占用的编码数。此时双操作数和单操作数指令各仅有 1 条。

4 .设某机为定长指令字结构,指令长度12 位,每个地址码占3 位,试提出一种分配 方案,使该指令系统包含:4 条三地址指令,8 条二地址指令,180 条单地址指令。 解:4 条三地址指令 000 XXX YYY ZZZ …

011 XXX YYY ZZZ 8 条二地址指令 100 000 XXX YYY …

100 111 XXX YYY 180 条单地址指令 101 000 000 XXX …

111 110 011 XXX

5 .指令格式同上题,能否构成:

三地址指令4 条,单地址指令255 条,零地址指令64 条? 为什么? 解:三地址指令4 条 000 XXX YYY ZZZ …

011 XXX YYY ZZZ

单地址指令255 条 100 000 000 XXX …

111 111 110 YYY

只能再扩展出零地址指令8 条,所以不能构成这样的指令系统。

6 .指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?

6 6 解:主存容量越大,所需的地址码位数就越长。对于相同容量来说,最小寻址单位越 小,地址码的位数就越长。

11 .设某机字长32 位,CPU 有32 个32 位的通用寄存器,设计一个能容纳64 种操作

的单字长指令系统。

(1) 如果是存储器间接寻址方式的寄存器- 存储器型指令,能直接寻址的最大主存 空间是多少?

(2) 如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?

4