存储程序控制即为存储程序和程序控制,程序输入到计算机中,存储在
内存储器中(存储原理),在运行时,控制器按地址顺序取出存放在内存储器中的
指令(按地址顺序访问指令),然后分析指令,执行指令的功能,遇到转移指令时,则转移到转移地址,再按地址顺序访问指令(程序控制)。
虽然
计算机技术发展很快,但
存储程序原理至今仍然是计算机内在的基本工作原理。自计算机诞生的那一天起,这一原理就决定了人们使用计算机的主要方式——编写程序和运行程序。科学家们一直致力于提高程序设计的自动化水平,改进用户的操作界面,提供各种开发工具、环境与平台,其目的都是为了让人们更加方便地使用计算机,可以少编程甚至不编程来使用计算机,因为计算机编程毕竟是一项复杂的脑力劳动。但不管用户的开发与使用界面如何演变,存储程序控制原理没有变,它仍然是我们理解计算机系统功能与特征的基础。
20世纪30年代中期,
冯·诺依曼大胆的提出,抛弃十进制,采用二进制作为
数字计算机的数制基础。同时,他还说预先编制计算程序,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作。冯·诺依曼和同事们设计出了一个完整的现代计算机雏形,并确定了
存储程序计算机的五大组成部分和基本工作方法。冯·诺依曼的这一设计思想被誉为计算机发展史上的里程碑,标志着计算机时代的真正开始。冯·诺依曼成功将其理论运用在计算机的设计之中,根据这一原理制造的计算机被称为冯·诺依曼结构计算机,世界上第一台冯·诺依曼式计算机是吸收了冯·诺依曼设计思想的剑桥大学于1949年研制的
EDSAC,由于他对现代计算机技术的突出贡献,因此冯·诺依曼又被称为“计算机之父”,存储程序控制原理又称冯·诺依曼原理。
首先,把程序和数据通过
输入输出设备送入内存。一般的内存都是划分为很多
存储单元,每个存储单元都有地址编号,这样按一定顺序把程序和数据存起来,而且还把内存分为若干个区域,比如有专门存放程序区和专门存放数据的数据区。其次,执行程序,必须从第一条指令开始,以后一条一条地执行。
一般情况下按存放地址号的顺序,由小到大依次执行,当遇到条件转移指令时,才改变执行的顺序。每执行一条指令,都要经过三个步骤:第一步,把指令从内存中送往
译码器,称为取指;第二步,译码器把指令分解成
操作码和
操作数,产生相应的各种
控制信号送往各电器部件;第三步,执行相应的操作。这一过程是由电子路线来控制,从而实现自动连续的工作。在运行时,控制器按地址顺序取出存放在内存储器中的
指令(按地址顺序访问指令),然后分析指令,执行指令的功能,遇到转移指令时,则转移到转移地址,再按地址顺序访问指令。