计算机系统概论

计算机系统概论

计算机组成和计算机体系结构

        计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。

如 指令集、数据类型、存储器寻扯技术、I/O机理等,大都属于抽象的属性。

        计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。

例如,指令系统体现了机器的属性,这是属于计算机结构的问题。但指令的实现,即如何取指令、分析指令、

取操作数、运算、送结果等,这些都属于计算机组成问题。

       因此,当两台机器指令系统相同时,只能认为它们具有相同的结构。至于这两台机器如何实现其指令的功能,完全可以不同,

则它们的组成方式是不同的。

计算机的基本组成

 冯诺依曼计算机的特点

1945年,数学家冯诺依曼在研究EDVAC机时提出了“存储程序”的概念。以此概念为基本的各类计算机通称为冯诺依曼机。它的特点可归结如下:

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

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

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

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

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

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

计算机的工作步骤

1:上机前的准备 (1)建立数学模型  (2)确定计算方法  (3)编制解题程序

2:计算机的工作过程:

 

     (1)主存储器(简称主存或内存)包括存储体M、各种逻辑部件及控制电路等。存储体由许多存储单元组成,每个存储单元又包含若干个存储元件(或称存储基元、存储元),每个存储元件能寄存一位二进制代码“0”或“1”。主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出)。这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)。存储器的这种工作性质对计算机的组成和操作是十分有利的。例如,人们只要事先将编好的程序按顺序存入主存各单元,当运行程序时,先给出该程序在主存的首地址,然后采用程序计数器加1的方法,自动形成下一条指令所在存储单元的地址,机器便可自动完成整个程序的操作。又如,由于数据和指令都存放在存储体内各自所占用的不同单元中,因此,当需要反复使用某个数据或某条指令时,只要指出其相应的单元地址号即可,而不必占用更多的存储单元重复存放同一个数据或同一条指令,大大提高了存储空间的利用率真。此外,由于指令和数据都由存储单元地址号来反映,因此,取一条指令和取一个数据的操作完全可视为相同的,这样可使用一套控制线路来完成两种截然不同的操作。

       为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。MAR(Memory Address Register)是存储器地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数,MDR(Memory data register)是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。当然,要想完整地完成一个取或存操作,Cpu还得给主存加以种种控制信号,如读命令、写命令和地址译码驱动信号等。随着硬件技术的发展,主存都制成大规模集成电路的芯片,而将MAR和MDR集成在CPU芯片中。

       早期计算机的存储字长一般和机器的指令字长与数据字长相等,故访问一次主存便可取一条指令或一个数据。随着计算机应用范围的不断扩大,解题精度的不断提高,往往要求指令字长是可变的,数据字长也要求可变。为了适应指令和数据字长的可变性,其长度不由存储字长来确定,而由字节的个数来表示。1个字节(Byte)被定义为8位(bit)二进制代码组成。些时存储字长、指令字长、数据字长三者可各不相同,但它们必须是字节的整数倍。

 

    (2)运算器

      运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器组)和一个算术逻辑单元(ALU)。其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotienl Registered)为乘商寄存器,X为操作数寄存器。这3个寄存器在完成不同运算时,所存放的操作数类别也各不相同。

 

 

     (3)控制器

       控制器是计算机的神经中枢,由它指挥各部件自动、协调地工作。具体而言,它首先要命令存储器读出一条指令,称为取指过程(也称取指阶段)。接着,它要对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,称为分析过程(也称分析阶段)。最后根据操作数所在的地址以及指令的操作码完成某种操作,称为执行过程(也称执行阶段)。

       控制器由程序计数器(Program Counter,PC)、指令寄存器(Instruction Register,IR)以及控制单元(CU)组成。PC用来存放当前欲执行指令的地址,它与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。IR用来存放当前的指令,IR的内容来自主存的MDR。IR中的操作码(OP(IR))送至CU,用来分析指令;其地址码(Ad(IR))作为操作数的地址送至存储器的MAR。CU用来分析当前指所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。

 

      (4)I/O

       I/O子系统包括各种I/O设备及其相应的接口。每一种I/O设备都由I/O接口与主机联系,它接收CU发出的各种控制命令,并完成相应的操作。例如,键盘(输入设备)由键盘接口电路与主机联系;打印机(输出设备)由打印机接口电路与主机联系。

计算机硬件的主要技术指标

衡量一台计算机性能的优劣是根据多项技术指标综合确定的。其中,即包含硬件的各种性能指标,又包括软件的各种功能。这里主要讨论硬件地技术指标。

1:机器字长

      机器字长是指Cpu一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长,数的表示范围越大,精度也越高。机器的字长也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响机器的运算速度。

      机器字长对硬件的造价也有较大的影响 。它将直接影响加法器(或ALU)、数据总线以及存储字长的位数。所以机器字长的确不能单人精度和数的表示范围来考虑。

 

2:存储容量

      存储器的容量应该包括主存容量和辅存容量。

      主存容量是指主存中存放二进制代码的总位数 。即存储容量=存储单元个数*存储字长

MAR的位数反映了存储单元的个数,MDR的位数反映了存储字长。

现代计算机中常以字节数来描述容量的大小,因一个字节已被定义为8位二进制代码,故用字节数便能反映主存容量。

 

 

3:运算速度

      计算机的运算速度与许多因素有关,如机器的主频、执行什么样的操作、主存本身的速度(主存速度快、取指、取数就快)等都有关。早期用完成一次加法或乘法所需的时间来衡量运算速度,即普通法,显然是很不合理换。

猜你喜欢

转载自xieyaxiong.iteye.com/blog/1773303