《计算机科学导论》第五章课后作业解答(个人版)

发布时间 2023-07-24 19:54:51作者: mu_yu21

复习题

 

1.计算机由哪三个子系统组成?

计算机由输入/输出子系统、存储子系统和中央处理器(CPU)子系统组成。

 

2.CPU 由哪几个部分组成?

CPU 由算术逻辑单元(ALU)、控制单元和寄存器组成。

 

3.ALU的功能是什么?

ALU(算术逻辑单元)负责执行计算机中的所有算术运算和逻辑运算。

 

4.控制单元的功能是什么?

控制单元负责从主存中获取指令,解释指令并生成控制信号,以协调计算机中各个部件的工作。

 

5.主存的功能是什么?

主存负责存储计算机中运行的程序和数据。它是一种易失性存储器,即断电后数据会丢失。

 

6.定义 RAM 、 ROM 、 SRAM 、 DRAM 、 PROM 、 EPROM 和 EEPROM 。

RAM(随机存取存储器)是一种可读写的易失性存储器,用于存储计算机中运行的程序和数据。 ROM(只读存储器)是一种只能读取不能写入的非易失性存储器,用于存储固定不变的程序和数据。 SRAM(静态随机存取存储器)是一种速度快但成本高的 RAM 类型。 DRAM(动态随机存取存储器)是一种速度慢但成本低的 RAM 类型。 PROM(可编程只读存储器)是一种可以通过特殊设备编程但不能擦除的 ROM 类型。 EPROM(可擦除可编程只读存储器)是一种可以通过紫外线擦除并通过特殊设备编程的 ROM 类型。 EEPROM(电可擦除可编程只读存储器)是一种可以通过电子方式擦除并通过特殊设备编程的 ROM 类型。

 

7.高速缓冲存储器的作用是什么?

高速缓冲存储器(Cache)用于缓存 CPU 访问过的数据,以加快 CPU 对数据的访问速度。它位于 CPU 和主存之间,速度比主存快但容量比主存小。

 

8.描述一下磁盘的物理组成。

磁盘由一个或多个盘片组成,每个盘片都覆盖有磁性材料。盘片通过一个主轴马达旋转,磁头通过一个臂来读写盘片上的数据。

 

9.磁盘和磁带表面是怎样组织的?

磁盘表面被分成同心圆形的磁道,每个磁道又被分成若干个扇区。数据以扇区为单位进行读写。磁带表面被分成若干个平行的磁道,数据以块为单位进行读写。

 

10.比较分析 CD - R 、 CD - RW 和 DVD 。

CD-R(光盘-可记录)是一种可以写入但不能擦除的光盘类型。CD-RW(光盘-可重写)是一种可以多次写入和擦除的光盘类型。DVD(数字多功能光盘)与 CD 类似,但容量更大。

 

11.比较分析 SCSI 、火线和 USB 控制器。

SCSI(小型计算机系统接口)是一种高速并行接口标准,用于连接计算机与外部设备。火线(IEEE 1394)是一种高速串行接口标准,用于连接计算机与外部设备。USB(通用串行总线)是一种常用的串行接口标准,用于连接计算机与外部设备。

 

12.比较分析两种 I / O 设备寻址的方法。

I/O设备寻址有两种方法:独立寻址和内存映射寻址。独立寻址是指为I/O设备分配独立的地址空间,通过特殊的指令来访问I/O设备。内存映射寻址是指将I/O设备映射到内存地址空间中,通过访问内存地址来访问I/O设备。

 

13.比较分析三种同步 CPU 和 I / O 设备的方法。

同步 CPU 和 I/O 设备的方法有三种:程序查询、中断和直接存储器存取(DMA)。程序查询是指 CPU 不断查询 I/O 设备的状态,以确定是否有数据需要处理。中断是指 I/O 设备在需要 CPU 处理数据时向 CPU 发送中断信号,CPU 响应中断并处理数据。DMA 是指通过一个专门的硬件控制器来控制数据在主存和 I/O 设备之间的传输,无需 CPU 干预。

 

14.比较分析 CISC 体系结构和 RISC 体系结构。

CISC(复杂指令集计算机)体系结构采用复杂的指令集,每条指令可以执行多个操作。RISC(精简指令集计算机)体系结构采用精简的指令集,每条指令只执行一个简单操作。

 

15.描述流水线及其作用。

流水线是一种提高 CPU 性能的技术。它将一条指令的执行过程分成若干个阶段,并通过并行执行不同阶段来提高 CPU 的执行效率。

 

16.描述并行处理及其作用。

并行处理是指同时使用多个处理器来执行计算任务,以提高计算性能。它可以通过多核处理器、多处理器系统或计算机集群来实现。

 

练习题

 

1.一台计算机有64 MB (兆字节)的内存,每个字长为4字节。那么在存储器中对每个字寻址需要多少位?

64MB 内存共有 64 * 1024 * 1024 = 67108864 字节,每个字长为 4 字节,所以共有 67108864 / 4 = 16777216 个字。对每个字寻址需要 log2(16777216) = 24 位。

 

2.如果屏幕有24行,每行80个字符,则需要多少字节的内存用于存储全屏的数据?

如果系统使用 ASCII 码,每个 ASCII 字符占1字节。 屏幕共有 24 * 80 = 1920 个字符,如果系统使用 ASCII 码,每个 ASCII 字符占1字节,则需要 1920 * 1 = 1920 字节的内存用于存储全屏的数据。

 

3.假如一台计算机有16个数据寄存器( RO ~R15),1024个字的存储空间以及16种不同的指令(如 add 、 subtract 等),那么下面这条指令最少需要占多少位空间? add M R2

指令 add M R2 需要指定操作码、内存地址和寄存器地址。操作码有16种不同的指令,所以需要 log2(16) = 4 位来表示。内存地址有1024个字,所以需要 log2(1024) = 10 位来表示。寄存器地址有16个数据寄存器,所以需要 log2(16) = 4 位来表示。因此,这条指令最少需要占用 4 + 10 + 4 = 18位空间。

 

4.在第3题中,如果数据和指令使用相同的字长,那么每个数据存器大小是多少?

在第3题中,一条指令最少需要占用18位空间。如果数据和指令使用相同的字长,则每个数据存器大小也应该是18位。

 

5.在第3题中,计算机中的指令寄存器大小是多少?

在第3题中,一条指令最少需要占用18位空间。因此,计算机中的指令寄存器大小应该至少为18位。

 

6.在第3题中,计算机中的程序计数器大小是多少?

在第3题中,内存地址有1024个字,所以程序计数器需要能够表示0到1023之间的所有整数。因此,程序计数器大小应该至少为 log2(1024) =10位。

 

7.在第3题中,数据总线为多少位?

在第3题中,如果数据和指令使用相同的字长,则每个数据存器大小也应该是18位。因此,数据总线应该至少为18位。

 

8.在第3题中,地址总线为多少位?

在第3题中,内存地址有1024个字,所以地址总线需要能够表示0到1023之间的所有整数。因此,地址总线应该至少为 log2(1024) =10位。

 

9.在第3题中,控制总线最少需要多少位?

控制总线用于传输控制信号。控制总线所需的位数取决于计算机系统支持的控制信号数量。这道题目没有给出足够的信息来确定控制总线最少需要多少位。

 

10.计算机使用 I / O 独立寻址。内存为1024个字。如果每个控制器包括16个寄存器,那么计算机可以 存取多少个控制器?

这道题目没有给出足够的信息来确定计算机可以存取多少个控制器。I/O独立寻址是指为I/O设备分配独立的地址空间,但题目中没有给出I/O地址空间的大小。

 

11.计算机使用 I / O 存储器映射寻址。地址总线为10条(10位)。如果内存为1000个字,那么计算机可以存取多少个四位寄存器控制器?

计算机使用 I / O 存储器映射寻址,地址总线为10条(10位),则地址空间大小为 2^10 = 1024。如果内存占用了1000个字,则剩余 1024 - 1000 = 24 个地址用于 I/O 设备寻址。如果每个控制器包括16个寄存器,则每个控制器需要16个地址。因此,计算机最多可以存取 24 / 16 = 1.5 个四位寄存器控制器。由于控制器数量必须是整数,所以计算机最多可以存取1个四位寄存器控制器。

 

12.使用简单计算机指令集,编写执行下列计算的程序代码: D ⬅ A + B + C A 、 B 、 C 和 D 是二进制补码格式的整数,用户输入 A 、 B 和 C 的值, D 的值显示在监视器上。

LOAD A // 加载A
ADDF B // 加上B
ADDF C // 加上C
STORE D // 将结果存入D
HALT // 停机

13.使用简单计算机指令集,编写执行下列计算的程序代码: B ⬅ A +3 A 和3是二进制补码格式的整数,用户输入 A 的值, B 的值显示在监视器上。(提示:使用加1指令)。

LOAD A // 加载A
INC // 加1
INC // 加1
INC // 加1
STORE B // 将结果存入B
HALT // 停机

14.使用简单计算机指令集,编写执行下列计算的程序代码: B ⬅ A -2 A 和2是二进制补码格式的整数,用户输入 A 的值, B 的值显示在监视器上。(提示:使用减1指令)。

LOAD A // 加载A
DEC // 减1
DEC // 减1
STORE B // 将结果存入B
HALT // 停机