冯·诺依曼结构,让每一位学习计算机系统基础的学生印象深刻,因为它是现代计算机的基础,是计算机系统知识架构中所绕不开的重要组成部分。计算机系统基础的学习,也从冯诺依曼结构开始。

世界上第一台通用电子计算机ENIAC

故事要从1946年开始,那时,为解决复杂的弹道计算问题,宾夕法尼亚大学研制出了世界上第一台通用电子计算机ENIAC(Electronic Numerical Integrator And Computer),它有如下特点:

  1. 占地170平方米,重达30吨 由18000多个电子真空管组成,耗电160千瓦
  2. 每秒可完成5000次加法
  3. 可用于进行平方,立方,sin,cos等运算
  4. 用十进制表示信息并运算 采用手动编程,通过设置开关和插拔电缆来实现

    这台机器正式运行到1955年10月2日,十年间共运行了80223个小时

冯·诺依曼的故事

冯·诺依曼(1903年12月28日-1957年2月8日)匈牙利裔美籍数学家,计算机科学家,物理学家。

  • 1944年冯·诺依曼参加原子弹的研制工作,其中涉及到了极为复杂的问题
  • 1944年夏,冯·诺依曼巧遇美国弹道实验室的军方负责人戈尔斯坦,他正在参与ENIAC的研制工作
  • 冯·诺依曼被戈尔斯坦介绍进入ENIAC研制组,由于ENIAC存在相应的问题(如没有存储器),1945年,冯·诺依曼以“关于EDVAC的报告草案”为题,起草了长达101页的总结报告,发表了全新的“存储程序通用计算机方案”——即EDVAC
  • 冯·诺依曼所在的普林斯顿高等研究院(IAS)批准其依照该方案建造计算机

现代计算机的原型

1946年起,IAS开始设计“存储程序”计算机,1951年完成,其被称为IAS计算机(ps:它不是第一台存储程序计算机,第一台存储程序计算机是由1949年英国剑桥大学所完成的EDSAC)

在冯·诺依曼提出的“存储程序通用电子计算机方案”的总结报告中,其提出的结构被称为冯诺依曼结构,而冯诺依曼结构最重要的思想就是“存储结构(Stored-program)”

存储结构的工作方式为:任何计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应在不需操作人员干预下,自动完成逐条取出指令和执行指令任务。

冯·诺依曼结构计算机也成冯·诺依曼机器,几乎现代所有通用计算机都采用冯·诺依曼结构,因此IAS计算机是所有计算机的原型机。

冯·诺依曼结构:

  • 主存—存放程序和数据
  • 有一个自动逐条取指令的部件
  • 有一个具体执行指令的部件
  • 程序由指令构成
  • 指令描述如何对数据进行处理
  • 有将程序和原始数据输入计算机的部件
  • 有将运算结果输出计算机的部件

IAS计算机结构如下:

分解结构如下:
一、控制器

二、主存储器:

三、运算器:

四、输入设备/五、输出设备:

IAS结构抽象示意图

数据输入输出的流程大致为:程序和数据通过输入设备输入到存储器存储器内一条一条指令送入控制器进行译码,输出相应的控制信号控制所有其他设备动作,同时存储器里面的数据送到运算器,在控制信号的控制下进行运算,运算的结果还是送到存储器,最终把存储器的信息,即运算的结果送到输出设备,通过输出设备输出到计算机的外部。

早期,部件之间采用分散方式相连
现在,部件之间采用主线方式相连

总结

冯·诺依曼结构的主要思想:

1、计算机应由运算器、控制器、存储器、输入输出设备五个基本部件组成

2、各基本部件的功能为:

  • 存储器不仅存放数据,而且还可以存放指令,形式上两者没有区别(都是01序列),但计算机应能区分数据还是指令
  • 控制器应能自动取出指令来执行
  • 运算器应能进行加/减/乘/除四种基本运算,并且能进行一些逻辑运算和附加运算
  • 操作人员可通过输入输出设备和主机进行通信

3、内部以二进制表示指令和数据(ENIAC是十进制表示指令和数据,而IAS计算机采用的是二进制),每条指令由操作码和地址码两部分组成。操作码指出指令的操作类型(例如加法、减法、传送、跳转等),地址码指出操作数的地址。一个指令实际上是由一串01序列组成,每串01序列串起来,就组成了一个程序,最终会发现整个程序就是一个01序列。

4、采用“存储程序”的工作方式

冯·诺依曼结构及其主要思想【计算机系统基础01】相关推荐

  1. 计算机系统基础:计算机系统概述

    这是一个 CSAPP-like 的系列博客 通用电子计算机历史 第一台通用电子计算机是宾夕法尼亚大学于1946年研制的ENIAC,它采用十进制,是可编程.图灵完备的电子计算机. 随后,Von Neum ...

  2. 袁春风老师:计算机系统基础(一) 第一章

    南京大学 计算机系统基础(一)主讲:袁春风老师 基础好的读目录回顾一下即可 本课程是以csapp为教材进行讲解的 程序执行结果,不仅取决于算法.程序编写.编程语言的语法语义 ,而且取决于语言处理系统. ...

  3. 计算机系统基础(第一章习题)

    习题 1.若一台计算机的字长为2个字节,则表明该机器( ). A.能处理的数值最大为2位十进制数. B.能处理的数值最多由2位二进制数组成. C.在CPU中能够作为一个整体加以处理的二进制代码为16位 ...

  4. 计算机系统基础 - 为什么要学习计算机基础

    这里写目录标题 用系统思维分析问题 例子1 例子2 例子3 例子4 例子5 冯 · 诺依曼结构计算机采用存储程序工作方式 冯 · 诺依曼结构是怎样的 冯 · 诺依曼结构的主要思想 现代计算机结构模型 ...

  5. 为什么说冯诺依曼结构是现代计算机的基础,为什么现代计算机被称为冯·诺依曼结构计算机?...

    冯·诺依曼最先提出程序存储的思想,并成功将其运用在计算机的设计之中,根据这一原理制造的计算机被称为冯·诺依曼结构计算机.由于他对现代计算机技术的突出贡献,因此冯·诺依曼又被称为"现代计算机之 ...

  6. (一)计算机系统基础之冯诺依曼结构主要思想

    冯·诺依曼结构: 最重要的思想是"存储程序" 工作方式: 任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入贮存并启动执行.一旦程序被启动,计算机应能在不需要操作人 ...

  7. 01——计算机系统基础

    计算机系统基础知识 计算机系统基础 一.计算机系统的基本组成 1 计算机硬件系统 二.计算机的类型 三.计算机的组成和工作原理 1 计算机的组成 2 总线的基本概念 2.1 总线的定义与分类 3 系统 ...

  8. 计算机系统基础实验01运算器算术运算

    计算机系统基础 运算器算术运算 实验目的 掌握ALU的算术运算原理,熟悉ALU数据传送通路和数据传送方式. 实验环境 微机,配置Windows操作系统.LC-3仿真机软件. 实验内容 ALU数据传送通 ...

  9. 【计算机专业漫谈】【计算机系统基础学习笔记】W1-计算机系统概述

    利用空档期时间学习一下计算机系统基础,以前对这些知识只停留在应试层面,今天终于能详细理解一下了.参考课程为南京大学袁春风老师的计算机系统基础MOOC,参考书籍也是袁老师的教材,这是我的听课+自查资料整 ...

最新文章

  1. linux学习笔记一
  2. buuctf 二维码
  3. 抛出异常–缓慢而丑陋
  4. Qt基于TCP网络程序发包封包抽象
  5. Linux内核的裁剪和移植
  6. 驱动框架7——使用gpiolib完成led驱动
  7. 木炭怎么获得_木炭机一体化流程中制做木炭是怎么完成的
  8. Python中的依赖注入实现原理
  9. [国嵌攻略][038][时钟初始化]
  10. python爬虫xpath提取数据_Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结...
  11. 数据结构与算法C语言版—— 数据结构的详细介绍
  12. oneday2mybatis下载
  13. ncm转换mp3文件时遇到问题:未找到文件
  14. UE4 虚幻引擎,SourceControl源码管理
  15. 还记得JavaWeb中的组件Servlet吗?面试会问
  16. Redis 跳跃表实现原理 时间复杂度分析
  17. 微信公众号网页版,获取用户code时出现跨域问题的解决办法之一
  18. 瑞星微RK3288开发板 (ARM Cortex-A17架构)
  19. 什么是C语言及C语言的特点
  20. 使用go搭建一个简单的web服务器(3)验证表单的输入

热门文章

  1. Win10系统Edge可以上网其他浏览器不能上网怎么回事
  2. 计算机硬盘怎么整理,w7怎么整理磁盘碎片_如何清理win7电脑磁盘碎片
  3. 我和我儿子历时5年的消除疤痕的艰辛历程
  4. Error response from daemon: conflict: unable to delete acdcfe83bcc5 (must be forced) - image is bein
  5. 如何让梯形变成平行四边形_把梯形转化成平行四边形.ppt
  6. 计算尖峰电流的目的_尖峰电流的形成及抑制与去耦电容的作用解读
  7. 5、passcode
  8. idea中还原dont ask again
  9. SCI 论文常用词汇 持续更新中。。。
  10. 智慧消防物联网落地案例(云南、福建、陕西) java 物联网智慧消防