文章目录
1 计算机的发展史1.1 第一台通用电子计算机的诞生1.2 冯诺依曼的故事1.3 现代计算机的原型2 冯·诺依曼结构2.1 冯·诺依曼结构计算机模型2.2 冯·诺依曼结构的主要思想3 现代计算机结构3.1 现代计算机结构模型3.2 计算机是如何工作的3.3 计算机的基本组成与基本功能4 指令和数据1 计算机的发展史
1.1 第一台通用电子计算机的诞生
1946年,第1台通用电子计算机 ENIAC诞生:
由电子真空管组成美国宾夕法尼亚大学研制用于解决复杂弹道计算问题5000次加法/s –平方、立方、sin、cos等用十进制表示信息并运算采用手动编程,通过设置开关和插拔电缆来实现
Electronic Numerical Integrator And Computer:电子数字积分计算机。
1.2 冯诺依曼的故事
1944年,冯·诺伊曼参加原子弹的研制工作,涉及到极为困难的计算。1944年夏的一天,诺伊曼巧遇美国弹道实验室的军方负责人戈尔斯坦,他正参与ENIAC的研制工作。冯·诺依曼被戈尔斯坦介绍加入ENIAC研制组,1945年,他们在共同讨论的基础上,冯·诺伊曼以“关于EDVAC的报告草案”为题,起草了长达101页的总结报告,发表了全新的“存储程序通用电子计算机方案”。一向专搞理论研究的普林斯顿高等研究院批准让冯·诺依曼建造计算机,其依据就是这份报告。Electronic Discrete Variable Automatic Compute(电子离散变量自动计算)。1.3 现代计算机的原型
1946年,普林斯顿高等研究院(the Institute for Advance Study at Princeton,IAS )开始设计“存储程序”计算机,被称为IAS计算机(1951年才完成,并不是第一台存储程序计算机,1949年由英国剑桥大学完成的EDSAC是第一台)。
在那个报告中提出的计算机结构被称为冯·诺依曼结构。冯·诺依曼结构最重要的思想是“存储程序(Stored-program)”工作方式:任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。冯·诺依曼结构计算机也称为冯·诺依曼机器(Von Neumann Machine)。几乎现代所有的通用计算机大都采用冯·诺依曼结构,因此,IAS计算机是现代计算机的原型机。
IAS计算机结构大致如下:
应该有个主存,用来存放程序和数据。应该有一个自动逐条取出指令的部件。还应该有具体执行指令(即运算)的部件。程序由指令构成。指令描述如何对数据进行处理。应该有将程序和原始数据输入计算机的部件。应该有将运算结果输出计算机的部件。
2 冯·诺依曼结构
2.1 冯·诺依曼结构计算机模型
早期,部件之间用分散方式相连。现在,部件之间大多用总线方式相连。
2.2 冯·诺依曼结构的主要思想
计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。各基本部件的功能是: 存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;控制器应能自动取出指令来执行;运算器应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;操作人员可以通过输入设备、输出设备和主机进行通信。 内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。采用“存储程序”工作方式。3 现代计算机结构
3.1 现代计算机结构模型
计算机中最基本的部件:
CPU:中央处理器;PC:程序计数器;MAR:存储器地址寄存器;ALU:算术逻辑部件;IR:指令寄存器;MDR:存储器数据寄存器;GPRs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)。
3.2 计算机是如何工作的
类似“存储程序”工作方式。
先想象一下妈妈是怎样做一桌你喜欢(指定)的菜的?
厨房-CPU,你妈-控制器,盘-GPRs,锅灶等-ALU ,架子-存储器。
做菜前:
原材料(数据)和菜谱(指令)都按序放在厨房外的架子(存储器)上, 每个架子有编号(存储单元地址)。菜谱上信息:原料位置、做法、做好的菜放在哪里等 例如,把10、11号架上的原料一起炒,并装入3号盘 然后,我告诉妈妈从第5个架上(起始PC=5)指定菜谱开始做
开始做菜:
第一步:从5号架上取菜谱(根据PC取指令)第二步:看菜谱(指令译码)第三步:从架上或盘中取原材料(取操作数)第四步:洗、切、炒等具体操作(指令执行)第五步:装盘或直接送桌(回写结果)第六步:算出下一菜谱所在架子号6=5+1(修改PC的值)继续做下一道菜(执行下一条指令)。
类似的,计算机工作方式如下:
程序由指令组成(菜单由菜谱组成)。
程序在执行前:
数据和指令事先存放在存储器中,每条指令和每个数据都有地址,指令按序存放,指令由OP、ADDR字段组成,程序起始地址置PC(原材料和菜谱都放在厨房外的架子上, 每个架子有编号。妈妈从第5个架上指定菜谱开始做)
开始执行程序:
第一步:根据PC取指令(从5号架上取菜谱)第二步:指令译码(看菜谱)第三步:取操作数(从架上或盘中取原材料)第四步:指令执行(洗、切、炒等具体操作)第五步:回写结果(装盘或直接送桌)第六步:修改PC的值(算出下一菜谱所在架子号6=5+1)继续执行下一条指令(继续做下一道菜)
3.3 计算机的基本组成与基本功能
什么是计算机:
计算机是一种能对数字化信息进行自动、高速算术和逻辑运算的处理装置。
计算机的基本部件及功能:
运算器(数据运算):ALU、GPRs、标志寄存器等存储器(数据存储):存储阵列、地址译码器、读写控制电路总线(数据传送):数据(MDR)、地址(MAR)和控制线控制器(控制):对指令译码生成控制信号
计算机实现的所有任务都是通过执行一条一条指令完成的!
4 指令和数据
程序启动前:
指令和数据都存放在存储器中,形式上没有差别,都是0/1序列。
采用”存储程序“工作方式:
程序由指令组成,程序被启动后,计算机能自动取出一条一条指令执行,在执行过程中无需人的干预。
指令执行过程中:
指令和数据被从存储器取到CPU,存放在CPU内的寄存器中,指令在IR中,数据在GPR中。
指令中需给出的信息:
操作性质(操作码)源操作数1 或/和 源操作数2 (立即数、寄存器编号、存储地址)目的操作数地址 (寄存器编号、存储地址)存储地址的描述与操作数的数据结构有关!
参考资料:
计算机系统基础(一):程序的表示、转换与链接
如果觉得《计算机系统的发展史 基本组成 工作原理》对你有帮助,请点赞、收藏,并留下你的观点哦!