冯诺依曼*
- 引进存储程序概念
- 计算机以运算器为核心的集中式控制
- 指令由操作码和地址码两部分组成,指令在计算机中是顺序执行的,并受PC的统一控制。
- 提出计算机系统应由:运算器、控制器、存储器、输入设备和输出设备五大部分组成。
这些理论奠定了现代计算机的基本思想,在到目前为止,大多数计算机仍沿用这一*,人们称其为冯诺依曼*。
运算器
运算器就好像是一个由电子线路构成的算盘,它的主要功能是通过相加和移位进行加、减、乘、除等算术运算。除此之外还可以进行逻辑运算,因此通常称为ALU(算术逻辑运算部件)。
运算器由:加法器、移位门、寄存器组、输入选择门和数据总线组成。加法器则是由与或非门或半加器构成,而这些装置本身并没有记忆功能,所以参与运算的数和运算的结果应该放到哪里呢?所以要设置寄存器组(存放数据的装置)。加法器是一个三端输入两端输出的网络,三端输入其中有一端是低位向高位产生的进位,所以说加法器一次只能进行两个数的运算,而寄存器组中寄存器数量肯定是大于等于二的,寄存器数为两个就算了,但是如果寄存器的数量大于两个,那么存放的数据到底哪些数据被加法器作为输入呢?到底让哪个寄存器参加运算呢?所以就有选择门这个装置。
存储器
存储器是可以存放程序和数据的装置,并满足计算机在执行过程中能够随机访问这些程序和数据。
存储器是由存储体、地址译码器、地址寄存器、代码缓冲寄存器和读写控制线路构成,存储器中设置了存储体,并将存储体分为若干个单元,称为存储单元。计算机的访问是按照地址进行的,即就是当我们访问数据时要访问存放该数据的地址从而对数据进行读取,读取的地址要通过地址寄存器进行存放,在地址寄存器和存储体之间有时要加上地址译码器,当存储体的地址给出方式是编码给出(将某个存储单元赋予编码,表征该单元地址)时要加上地址译码器AD,如果直接给出地址,则不需要地址译码器。
控制器
控制器是计算机发号施令的部件,是全机的指挥机构,控制计算机的各个部件有条理地工 作,控制器的任务是从内存中取出解题步骤加以分析,然后执行某种操作。就指令执行过程而言,1)取出指令存放至指令寄存器IR中;2)分析指令,要设置相应的操作码译码器ODC;3)执行指令,要设置程序计数器PC(Program Counter),当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。
上图为控制器(左)和存储器(右)的组合,一条指令是由操作码和地址部分组成,左侧节拍发生器则控制时序,让计算机进行有条不紊的工作
注:寄存器存放的是指令的话就是指令寄存器,存放数据的话就是数据寄存器,存放地址的话就是地址寄存器
输入输出设备
输入/输出设备种类繁多,很难用一种结构形式加以描述,通常可以将其描述为一般结构如图:
总线
所谓总线,即将计算机各个组成部件连接成为一个有机整体,就是连接多个部件的一组共享信息传送线路,它能够分时接收和发送各部件信息。
典型做法:
1.发送端:通过三态门将信息分时送入总线
2 接收端:靠定时打入脉冲接收信息
小型计算机典型结构
以CPU为中心的双总线结构
以CPU为中心:MEM(内存)<—>CPU<– ->I/O设备
内存与I/O设备之间交换信息都要通过CPU,因此称其为面向CPU的双总线结构。既然内存与I/O设备要通过CPU交换信息,那么就必要要受到CPU的直接控制,就比如住房都愿意住卧室而不住客厅,因为从一个卧室到另一个卧室时都要经过客厅,所以住客厅的人会频繁受到影响。这种结构的优点是同一时间内只进行一种传送,因此控制线路简单,时间关系易于处理,可以采用同步控制方式。缺点是由于I/O设备与存储器交换信息要有CPU进行干预,因而当I/O设备工作频繁时要占用大量的CPU时间,从而降低了CPU的工作效率。因此这种结构为多数低档小型机所采用。
单总线结构
靠一簇总线(包括地址总线、数据总线和各种控制线)来实现CPU、存储器、I/O设备之间的信息交换。从单总线的传送方式可以看出,*处理机不再是计算机的中心,CPU与其他设备一样,只不过是单总线上的一个子系统。采用单总线结构后系统功能增强,因为采用单总线传送方式允许I/O设备直接与存储器交换信息, 除分配总线使用权时还要与CPU打交道外,基本上不影响CPU,同时,外部设备寄存器和内存统一编码,这样*处理机可以像访问内存一样访问外部设备。但是如果CPU、内存、外部设备都在单总线上需要运行时,谁先运行啊?当然是外部设备先运行,因为如果外部设备的数据都不送进来,那么CPU还能干什么能执行什么呢?存储器还存什么呢?所以说外部设备的级别是最高的,其次是CPU,存储器的级别是最低的,但是CPU里包含了控制器和运算器,整个控制装置是在CPU中,所以整个过程的控制靠CPU。单总线工作不允许有两个主设备同时使用总线。因此,当I/O设备控制使用权时,CPU(它对总线的使用优先级低于I/O设备)不能从主存中取出数据,因而降低了CPU的处理速度。由于所有设备都连载一簇总线上,总线负载很重,随着外设与*处理机之间交换信息量增大,可使系统的吞吐量呈饱和状态,甚至无法胜任,从而使系统性能下降。
以存储器为中心的双总线结构
在内存上开了两个口子,一个通过高速缓冲存储器Cache(它存有存储器部分信息的副本)与*处理机相连,专供它与CPU交换信息;另一个口子与原来的单总线相通,实现内存与其他设备的信息交换。
以高速缓冲存储器为中心:CPU<—>MEM<—>I/O设备
显而易见,在这种结构中存储器称为计算机的中心,所以把这种结构称为面向存储器的双总线结构。这种结构不是对单总线结构的否定,而是对它很好的补充,原因有两点:1)CPU通过专用总线与主存交换信息,不仅提高了处理机的速度,而且减轻了系统总线的负担,防止饱和。2)主存与I/O设备交换信息,不必经过CPU,因此又保持了单总线的主要优点——系统灵活性。系统程序日益庞大,信息存储称为构成系统的一个核心问题,整个系统由早期以CPU为中心发展为以存储系统为中心。因此这种双总线结构被广泛采用。