在今天电脑已经成为生活、学习、娱乐的必备物品,但是你可曾想过为什么电脑要做成这个样子呢?

其实早在20世界初物理学家和数学家们已经在争论计算机的形态问题了。曾经出现过无数种计算机的设计方案,而总的来说大致分为两大类:模拟计算机和数字计算机。咦?提起计算机都说是数字时代、数字产品,难道还有模拟的计算机?

其实模拟计算机我们很多人都接触过,只不过以现在的标准很难看出这是个计算机啦。学过电工学的同学都知道有个放大电路,加法电路,积分电路,微分电路等等,这些电路就是构成模拟计算机的运算原件。通过组合不同的原件就能获得不同的运算函数,这就是模拟计算机的基本原理。模拟计算机的运算结果就变现在最终的电压、电流等参数上,因为精度与元器件的质量有很大关系,好处是模拟计算机可以使用人类最习惯的十进制计数法。

与模拟计算机对应的就是数字计算机,其实数字计算机在当时算是一个比较超前的设计,数字计算机不一定使用的是二进制(无数物理学家和数学家争论了差不多半个世纪),但是都有一个好处就是数字计算机的结果足够精确(针对数字计算而言)。但是计算机到底要怎么设计一直争论到20世纪中叶尚无定论。

1942年为爱荷华州立大学的约翰·文森特·阿塔纳索夫设计了全世界第一台电子管计算机(教科书上说是Eniac埃尼阿克是不对的),它使用了二进制数学,不可编程,只是用来求解线性方程组。不过这样的计算机显然是不能满足人类需要的。1945年冯·诺伊曼提出了自己关于计算机的结构与逻辑设计的方案,并参与了世界上第二台数字计算机Eniac埃尼阿克的研制工作。冯·诺依曼关于计算机结构的理论被后人称为冯·诺依曼理论,而采用此结构的计算机被称为冯·诺依曼结构(架构)计算机。时至今日,绝大多数的计算以仍然采用的是冯·诺依曼结构。

冯·诺依曼原理的基本理念包括两部分:1、计算机需要由五部分构成,分别为输入设备、输出设备、计算器、控制器、存储器;2、存储程序思想——把计算过程描述为由许多命令按一定顺序组成的程序,然后把程序和数据一起输入计算机,计算机对已存入的程序和数据处理后,输出结果。前者从功能和结构上统一了计算机设计思想,为计算机的软硬件发展提供了有利的平台;后者是则是编程和存储思想的前身。

冯·诺依曼对计算机的基本功能做出了如下定义:1、把需要的程序和数据送至计算机中,因此需要输入设备,也就是电脑通用的鼠标、键盘、触摸屏等;必须具有长期记忆程序、数据、中间结果及最终运算结果的能力,因此需要存储器,不过这里的存储器指的是CPU寄存器和内存,并不包括硬盘,光盘,U盘等外存;能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力,也就是需要运算器来完成计算机的运算功能;能够根据需要来控制程序走向,并能根据指令来控制机器的各部件协调操作,就是需要控制器来控制程序走向,控制器和运算器再加上之前的寄存器是现代CPU的三大主要部件;能够按照要求将处理结果输出给用户,就是需要由显示器、打印机等输出设备。这便是计算机能运行的最低硬件要求;置于显卡、声卡、网卡等都是在这些设备的基础上来完成的。

当然还有一个重点就是冯·诺依曼认为计算机应该抛弃十进制采用二进制,一则是元器件上比较容易实现,二则是二进制的逻辑运算简单。冯·诺依曼架构的计算机容错基本是0,举个例子,让计算机判断某个电位是1.1V还是1.2V也许很难,但是判断是高电平还是低电平则非常容易,以现在的观点来看就是使用二进制量化一切过程,想想后来那么多的量化指标,甚至连思想品德都能量化了,这估计也是受冯·诺依曼的影响吧。

通用计算机冯诺依曼,那些改变了世界的IT人(1)——冯·诺依曼相关推荐

  1. 让我们努力从“不可救药的乐观主义者”--华尔街知名投资人约翰。多尔那里学点东西(永远放弃尝试改变这个世界)...

    约翰.多尔(John Doerr),被纽约时报称为"资深探矿家"的华尔街知名投资人 曾经参与投资的公司:Google.AOL.Amazon.Com 偶尔,从某画报看到一份访谈,某些 ...

  2. 张小龙的小程序革命,复盘731天,用“小”来改变这个世界

    张小龙的小程序革命,复盘731天,用"小"来改变这个世界 微信8年,微信公开课PRO版5年.从2014年开始,几乎每年都有一场微信和张小龙的"约会". 昨天微信 ...

  3. 将要改变IT世界的的docker技术是什么?

    将要改变IT世界的的docker技术是什么? 责任编辑:editor007 作者:吴玉征 |来源:企业网D1Net  2015-12-23 21:16:28 本文摘自:百度百家 "很多时候, ...

  4. 人工智能对金融世界的改变_人工智能革命正在改变网络世界

    人工智能对金融世界的改变 The race of tech leaders for AI is so rude and competitive. Things are getting changed ...

  5. 计算机的绝密历史——窃取的创意、专利战争和丑闻如何改变了世界……

    1943年是历史上一个有趣的时期.第二次世界大战在全世界范围内造成了巨大的死亡和破坏:Alan Turing在布莱切利公园(Bletchley Park)结束了德国Enigma法规:美国陆军正在努力完 ...

  6. 盘点那些改变过世界的代码

    作者 | slate 译者 | 核子可乐 策划 | Tina 来源 | InfoQ(id:InfoQ) 代码塑造着我们的生活.正如风险投资家 Marc Andreessen 所言,"软件正在 ...

  7. 几行最简单的代码 ,却改变了世界!

    来自 | infoq  作者丨slate  编辑 | 可可 代码塑造着我们的生活.正如风险投资家 Marc Andreessen 所言,"软件正在吞噬整个世界."或者结合当下实际, ...

  8. 2020年java缺人_Java回顾#5 –到2020年,什么将改变Java世界?

    2020年java缺人 最后,看看您的水晶球–到2020年,什么将改变Java世界? JDK 14有望带来非常有趣的新功能,即使其中一些功能仍处于预览状态. 我很好奇开发人员将如何使用记录(JEP 3 ...

  9. 从自动驾驶到基因编辑,这15项发明专利改变了世界

    来源:资本实验室 近期,中兴通讯受美国制裁的事件戳中了国人心中的"痛",也对我们长期受制于人的芯片核心技术与产业敲响了警钟. 我们近乎被动地发现,在科技创新,尤其是技术驱动型创新方 ...

最新文章

  1. python 字典代码_Python 字典(Dictionary)
  2. 招募 | 《大数据实践课》企业合作项目,2020年夏季学期“清华大学大数据能力提升项目”...
  3. OpenGL 帧缓冲区
  4. 为什么局部内部类和匿名内部类只能访问 final 的局部变量?
  5. 使用OpenCV进行身份证号码字符进行分割
  6. 深度学习在处理视频上几种主要技术方法
  7. element form自定义校验_SpringBoot分组校验及自定义校验注解
  8. 什么是IP地址?由哪几部分构成?IP地址分为几类?
  9. VXLAN详解(三)
  10. 英特尔:我们解决VR体验所需的强大计算量
  11. SQL不能以实例名连接问题处理
  12. FPGA基础知识1(FPGA芯片结构)
  13. Storm部署与运行
  14. 数据中心架构,如何节省运营成本,机房冷却方面减少压力?
  15. [附源码]Nodejs计算机毕业设计基于JAVA的校园电车租赁系统Express(程序+LW)
  16. android类加载
  17. 默纳克调系统服务器调试,默纳克3000 系统更新调试的曲折过程!
  18. 【数理逻辑】谓词逻辑 ( 判断一阶谓词逻辑公式真假 | 解释 | 示例 | 谓词逻辑公式类型 | 永真式 | 永假式 | 可满足式 | 等值式 )
  19. 一步步教你如何打造一个网站克隆工具仿站
  20. 【课程作业】西瓜书 机器学习课后习题 : 第六章

热门文章

  1. proteus仿真STM32时时钟问题解决方案
  2. 广州python培训机构排名
  3. grafana-大数据图表监控分析框架
  4. 交换机与路由器的区别
  5. H3C--IBGP对等体--EBGP对等体 OSPF引入BGP路由实验(带实验代码)
  6. 美国进口呼吸机PB560设计完整资料分享
  7. zabbix监控windows磁盘读写速度
  8. VS2019+WDK10驱动编译不通过error:driver does not install on any devices,求解!!!
  9. 视频接口之AV、S端子、VGA、DVI、HDMI、DP
  10. 设计模式几个原则的应用--控制开关(C#)