计算机组成原理(2唐朔飞编著

第1章计算机系统概论

思考题与习题

1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?

答:计算机系统由“硬件”和“软件”两大部分组成。所谓“硬件”,是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等。所谓“软件”,它看不见摸不着,由人们事先编制的具有各类特殊功能的程序组成。计算机的软件通常又可以分为两大类:系统软件和应用软件。

2.如何理解计算机系统的层次结构?

答:第1级微程序设计级,第2级机器语言级,第3级操作系统级,第4级汇编语言级,第5级高级语言级。

3.说明高级语言、汇编语言和机器语言的差别及其联系。

答:机器本身不能识别高级语言,因此,在进入机器运行前,必须先将高级语言程序翻译成汇编语言程序(或其他中间语言程序),然后再将其翻译成机器语言程序;也可以讲高级语言程序直接翻译成机器语言程序。

4.如何理解计算机组成和计算机体系结构?

答:计算机组成是依据计算机体系结构确定并且分配了硬件子系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。从这一点来说,计算机组成是计算机体系结构的逻辑实现。计算机体系结构主要研究硬件和软件功能的划分,确定硬件和软件界面,即哪些功能应划分给硬件子系统完成,哪些功能应划分到软件子系统中完成。

5.诺依曼计算机的特点是什么?

l计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。

l指令和数据以同等地位存放于存储器内,并可按地址寻访。

l指令和数据均用二进制数表示。

l指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。

l指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。

l机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。

6.画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。

 

 

 

104951848.jpg

 

 

 

 

    答:现代计算机可认为由三大部分组成:CPUI/O设备及主存储器。CPU与主存储器合起来又可称为主机、I/O设备又可称为外部设备。

7.解释概念:主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。

    答:主机:CPU与主存储器合起来称为主机。CPU:运算器和控制器合起来称为中央处理器。主存:内存是暂时存储程序以及数据的地方。存储单元:指针的内容是存储地址在存储器中有大量的存储元,把它们按相同的位划分为组,组内所有的存储元同时进行读出或写入操作,这样的一组存储元称为一个存储单元。存储元件:计算机中主存储器包括存储体M,各种逻辑部件及控制电路等,存储体由许多存储单元组成,每个存储单元又包含若干个存储元件,每个存储元件能寄存一位二进制代码“0”或“1”,存储元件又称为存储基元、存储元。存储字是指存放在一个存储单元中的二进制代码组合。存储字长是一个存储单元存储一串二进制代码,这串二进制代码的位数称为存储字长,存储字长可以是8位、16位、32位等。存储容量是指存储器可以容纳的二进制信息量,用存储器中存储地址寄存器MAR的编址数与存储字位数的乘积表示。机器字长是指计算机进行一次整数所能处理的二进制数据的位数。指令字长是指机器指令中二进制代码的总位数。

8.解释英文代号:CPUPCIRCUALUACCMQXMARMDRI/OMIPSCPIFLOPS

    答:CPU:略。PC(程序计数器):程序计数器是用于存放下一条指令所在单元的地址的地方。IR(指令寄存器):用来暂存指令、数据和位址。CU(控制单元):控制单元用来解释存储器中的指令,并发出各种操作命令来执行指令。ALU(算术逻辑单元):简称算逻部件,用来完成算术逻辑运算。ACC(累加器):累加器是专门存放算术或逻辑运算的一个操作数和运算结构的寄存器。MQ(乘商寄存器):乘商寄存器用以暂时保存计算过程中所得到的操作数及结果。X(操作数寄存器):操作数寄存器本身存放于寄存器中,在指令中只是给出了几个位的代码来表示它具体存放在哪个寄存器中。MAR(存储器电子寄存器):用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。MDR(存储器数据寄存器):用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。I/O(输入输出设备):略。MIPS(单字长定点指令平均执行速度):每秒处理的百万级的机器语言指令数。CPI:即执行一条指令所需的时钟周期(机器主频的倒数)。FLOPS(每秒浮点运算次数、每秒峰值速度):它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。

9.画出主机框图,分别以存数指令“STAM”和加法指令“ADDM(M均为主存地址)为例,在图中按序标出完成该指令(包括取指阶段)的信息流程(如→①)。假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。

答:存储指令STA M 取指令 PCMARMMDRIR 分析指令 ADIRMAR 执行指令 ACCMDRMWR 加法指令ADD M 取指令PCMARMMDRIR分析指令OPIRCU执行指令 ADIRMARMMDRX ACCALU,同时XALU ALUACCACCMDRWR

主存容量是256*32位,得228次方=256M。故MAR=28PC=28MDR=32;又指令字长=存储字长=机器字长,则IR=ACC=MQ=X=32

10.根据迭代公式105345544.jpg,设初态y0=1,要求精度为ε,试编制求105437660.jpg的解题程序(指令系统自定),并结合所编程序简述计算机的解题过程。

答:计算迭代公式105502170.jpg程序清单

指令和数据存于主存单元的地址

指令

注释

操作码

地址码

0

取数xACC

1

yn105800245.jpg存于ACC

2

ynyn+105825730.jpg存于ACC

3

spacer.gif,将得spacer.gif(yn+spacer.gif)存于主存单元

4

打印

5

停机

6

x

原始数据x

7

yn

原始数据yn

8

存放结果

11.指令和数据都存于存储器中,计算机如何区分它们?

    答:计算机区分指令和数据有以下2种方法:通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。

12.什么是指令?什么是程序?

   答:指令由操作码和操作数构成,分别表示何种操作和存储地址,例如0011111000000111的意思是,向累加器加7,前8位数字表示向累加器送数,后8位数所送的数是十进制数7。程序是可以连续执行,并能够完成一定任务的一条条指令的集合。它是人与机器之间进行交流的语言。程序主要是原代码文件,有了程序才有软件,如我们常用的COPYFORMAT等命令。