计算机简史:从计算器到手机 您所在的位置:网站首页 计算机和计算器的最大区别为 计算机简史:从计算器到手机

计算机简史:从计算器到手机

2024-07-06 04:33| 来源: 网络整理| 查看: 265

序言

计算机(特别是手机)已经改变了人们的生活方式,但是我们却很少关心计算机底层原理。

计算机是什么?计算机是怎么来的?程序是怎么在计算机中运行的?

有句名言:“不认识整体就不可能认识局部”。

程序员为了更好的掌握编程技术,应该对计算机体系有全面的了解。

所以通过讨论计算机的发展简史,来回答刚刚上面提到的问题。

讨论内容:

为什么要发明计算机?计算机发明过程。计算机发展过程。编程语言的发展过程。

 

为什么要发明计算机?

人类一直在认知自然世界,认知过程中发展出了数学和逻辑学。

通过这两个工具,人类发现了大自然的许多规律。

比如:几何解释了图像面积大小和物体空间关系;经典物理力学解释了物体运动规律。

但是这一切认知过程都需要人通过大脑进行思考和计算,人们希望能有一种工具能帮助人来进行思考和计算。

于是人们打算发明一种机器来模拟(编程)人脑的思维和计算过程。

 

计算机发明过程

模拟人脑思维过程比较难,就是现在火热的人工智能,要创造出一种智慧生命。

于是人们打算从简单的数学计算入手,先发明一种能够数学计算的机器。

数学计算中最简单的就是加减乘除。

 

如何让机器能够计算1+1=2呢?

首先乔治·布尔提出了二进制理论,将数学中阿拉伯数字的十进制,转化为简单的01表示的二进制。这样机器只需要认识0和1两个数字就可以认识所有数字了。

然后克劳德·香农提出了信息论,用电的高电压和低电压来表示数字0和1。于是机器就学会认识数字。在通过电子继电器生成逻辑学的“与或非”组件,将组件组合成一个简单的加法器。

终于让机器学会了最简单的数学计算1+1=2。

在这基础上,人们在发明出了更加复杂的计算电路,让机器真正掌握了数学的基本运算。

于是人们发明出了第一个计算器。

人们在拥有了计算器之后,就碰到了新的问题。

发现计算器虽然能够帮助人们进行数学运算,但是一个复杂的计算公式需要经过多次简单计算,运算过程中产生的临时数据还需要人工手动记忆,然后使用到下一次简单计算中。

人们希望发明一种能够自动连续计算的机器。

 

第一台真正的计算机

在二战期间,美国为了研究新式武器,产生了大量的数学计算需求,于是大力支持计算机技术。

约翰·冯·诺依曼提出一种计算机理论体系,才发明出了第一台真正意义上的计算机。

冯诺依曼体系结构有以下特点:

计算机处理的数据和指令一律用二进制数表示;

指令和数据不加区别混合存储在同一个存储器中;

顺序执行程序的每一条指令;

计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

 

冯诺依曼体系结构的计算机必须具有如下功能:

把需要的程序和数据送至计算机中;

必须具有长期记忆程序、数据、中间结果及最终运算结果的能力;

能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力;

能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作;

能够按照要求将处理结果输出给用户。

 

冯·诺依曼将计算机分为硬件和软件两部分。

硬件:数据总线、运算器、控制器、内存、输入设备、输出设备;

软件:使用硬件提供的机器指令编写程序,并且可以存储起来,每次将程序加载到内存中,让硬件按指令顺序执行。

早期的计算机输入输出形式是纸带形式。

这时的计算机更像咱们小时候玩的小霸王游戏机,程序都是卡带,需要自己手动进行程序的切换。

 

计算机的管理程序:操作系统

计算机能够执行程序之后,人们发现程序的加载需要人工操作,这样造成了两个新问题。

第一,效率问题,大量重复性的人工操作并且人的操作速度远远慢于计算机执行速度;

第二,单任务模式,程序处理输入输出信息时,造成CPU等待,没有最大化利用计算机;

 

人们希望计算机能够自动管理多个程序的执行过程。

最开始人们编写了监控程序,能够自动在程序结束后,让CPU执行后续程序;

后来慢慢的丰富了监控程序的功能,发展成了操作系统。

这样让硬件和程序中间增加了一个操作系统层,让计算机更加容易使用。

有了操作系统之后,计算机才成为现在的样子。

 

计算机发展过程

硬件发展过程

计算机的发明之前,人们先发明了计算器;

然后发明了计算机理论,发明了类似小霸王游戏机的早期计算机;

然后增加了操作系统程序,让计算机更加易用,才是现代的计算机;

然后冯诺依曼体系结构的计算机不断进化。朝着CPU更快、内存更大、输入输出设备更多、计算机小型化、移动化等方向发展;

最后出现了手机,这种移动端的小型化计算机形式。

 

操作系统发展过程

计算机的硬件能力越来越强,提供的功能也越来越多。

为了让计算机更加容易被普通人使用,操作系统从命令模式发展成了可视化模式,特别是windows的视窗系统。

操作系统提供的交互方式也发现了很大的变化,从最原始的开关、到鼠标键盘、到触摸屏、到语音控制。还有一些特殊的输入设备,比如游戏手柄、麦克风、摄像头等。

操作系统也有多样化,针对不同用户和用途,服务器端有linux,PC有windows,移动端有安卓和IOS。

 

编程语言发展过程

虽然计算机硬件提供了强大的运算能力,但是软件程序才是给人们提供丰富服务的关键。

软件程序是一串计算机指令。

前面说过计算机只能处理二进制数据,硬件提供的是一个二进制的指令集。

最初编程就是使用原始的二进制机器指令,这样非常不容易阅读,很难维护。

然后人们使用了标记符,将指令编号替换成了字符,形成了汇编语言。汇编语言是低级语言,数据结构简单、没有复杂的控制指令等问题,编程效率还是很低下。

然后人们发明了高级语言,如C语言,程序指令更加容易让人理解,但是计算机无法识别,高级语言需要翻译成汇编语言才能被执行。C语言属于面向过程编程,编写早期简单程序还是很方便,但是无法满足复杂业务场景需求,不符合大脑面向对象思维方式。

最后人们发明出了面向对象编程语言,如C++、Java等,添加了类和对象的概念,实现了继承和多态特性,更加符合大脑思维方式。

 

总结 计算机分为硬件和软件。硬件:CPU(运算器、控制器、寄存器)、存储(内存、硬盘)、输入和输出设备。软件:操作系统、应用程序。计算机只能处理二进制数据。冯诺依曼计算机核心:存储程序,顺序执行。CPU提供机器指令集来使用计算机硬件功能。程序就是一串机器指令+数据。操作系统也是程序,负责程序执行过程管理。编程语言分为低级语言(汇编语言)和高级语言(C++、java)。高级语言需要通过编译器将程序翻译成汇编语言,才能被计算机执行。操作系统中程序的一次执行过程叫做进程。操作系统的多任务能力是通过进程轮流使用CPU模拟出来的。计算机组成原理和操作系统可以深入学习,这里只是简化发展过程和运行原理。计算机衍生出来的互联网、人工智能、机器人自动化控制(控制论)、用户行为分析(贝叶斯概率)等领域。

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有