1945年,冯·诺依曼提出了“存储程序”的概念。以此概念为基础的各类计算机通称为冯·诺依曼机。它的特点可归结如下:
- 计算机硬件由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
- 指令和数据以同等地位存放于存储器内,并可按地址寻访。
- 指令和数据均用二进制数表示。
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
- 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
- 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
运算器就好像是一个由电子线路构成的算盘,示意图如图1.3所示。它的主要功能是进行算术运算(如加、减、乘、除)和逻辑运算(如与、或、非)。
运算器的核心是算术逻辑单元(ALU)。运算器还包括若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BR)等,其中前3个寄存器是必须有的。另 外还有程序状态字寄存器(PSW),保留各类标志信息或CPU状态信息,如溢出标志、进位/借位标志、零标志等。
五大功能部件——存储器存储器的功能是存放解题的原始数据和解题步骤(即数据和程序)。指令和数据都以二进制代码的形式存储在存储器当中,
那么它们是怎么组织存放的呢?
目前通常采用半导体器件制造存储器,我们知道,一个半导体触发器由于有0和1两个状态,可以记忆一个二进制代码。若一个数用16位二进制代码来表示,那么就需要有16个触发器来保存这个数。通常把这样的多个触发器称为一个存储单元 (通常取1字节=8位的偶数倍);存储器是由许多存储单元组成的,每个存储单元都有编号,称为地址。
向存储器中存数或者从存储器中取数,都要按给定的地址来寻找所选的存储单元,这种存取方式称为按地址存取方式。存 储器的结构如图1.4所示,由多个存储单元组成的存储体用于存放二进制信息,地址寄存器(MAR)指出需要访问的地址, 经过地址译码后选中要访问的存储单元。数据寄存器(MDR)用于暂存要从存储器中读出或写入的信息,时序控制逻辑用 于产生存储器操作所需的各种时序信号。
这个模块的作用是存储1bit数据。比如上面这个RS型的FF,R 是Reset,输入1则清零。S是Set,输入1则保存1。RS都输入0 的时候,会一直输出刚才保存的内容。
五大功能部件——控制器控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。控制器由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成。
计算机进行计算时,指令必须是按一定的顺序一条接一条地进行。控制器的基本任务,就是按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进 行相应的操作;接着从存储器取出第二条指令,再执行这第二条指令;依次类推。PC就是用来存放下一条指令在主存当中 的地址的,每取出一条指令,PC自动加1,从而为取下一条指令做好准备;取出来的指令经过MDR后放入IR,用于分析和判断;在执行指令实现指令功能的时候,往往不是一步到位的,CU就是用来控制发出一系列微操作命令实现这条指令的功能。
通常把运算器和控制器集成在一起称为中央处理器,简称CPU,而CPU和存储器一起构成称为主机,而除此之外输入输出 设备、外存等统称为外围设备,简称外设。需要注意的是,MAR与MDR虽然是存储器的一部分,但在现代计算机中却是存 在于CPU中的。
五大功能部件——输入输出设备- 输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见的有键盘、鼠标等。
- 输出设备可将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等。