自学编程 什么是计算机?

crazyjin · 2019年03月09日 · 643 次阅读

计算机是一种处理数据的机器:它接受用户的数据输入,然后通过事先编写的程序对数据进行处理,最后将处理结果输出给用户。

冯·诺伊曼架构

世界上第一台可编程计算机ENIAC于1943年开始设计,并于1946年建造完成,目的是帮助美国军方计算炮弹的飞行轨迹。这台计算采用的是十进制,并非现在的二进制。它的编程也不是现在意义的编程,而是通过重新编排计算机的电路来实现。数据和处理结果则通过打孔卡输入输出计算机。下图中操作人员正在通过设置电路来为其编程。

ENIAC

不过紧接着,和ENIAC有着同样用途的计算机EDVAC于1944年开始设计,并于1945年由冯·诺伊曼总结和详细描述了设计方案。设计方案提出了新的计算机结构,并采用二进制来表示数据和程序指令。

冯·诺伊曼结构

在这种设计中,计算机不再以编排电路的方式编程,而是将事先准备好的程序和数据以二进制的形式输入并保存在存储器中。控制器从存储器中按顺序取出指令交由运算器执行,运算器从存储器取出数据处理后再存入存储器。处理好的数据由输出设备输出。这种计算机结构和运行方式一直沿用至今,被称为“冯·诺伊曼结构”。

如果对计算机如何存储和计算数据感兴趣,不妨读一读《编码》

编码

操作系统的起源

早期计算机的运算器很慢、存储器容量也很小、一次只能运行一个程序,因此都是直接由人来操作的。随着技术的发展,运算器越来越快、存储器的容量也越来越大。但输入输出设备却始终跟不上运算器的速度,这使得运算器大部分时间都处于空闲的状态。在微型计算机出现以前,大型计算机异常昂贵,只有机构才负担得起。为了有效利用昂贵的计算机,人们设计了各种各样的机制来提高运算器的利用率,比如:

批处理 当一个程序运行完毕且输出结果以后计算机自动将下一个程序加载进存储器并运行

多道程序 同时在存储器中保存多个程序,当一个程序进行输入输出操作的时候就运行另外一个程序

多道批处理 多道程序和批处理的结合

而这些机制都需要一个程序来协调安排,也就是所谓的调度。这种程序后来发展成了我们熟悉的操作系统:它管理着计算机所有的软、硬件资源,并提供友好的操作界面,使得普通人也能使用计算机而不必过多了解计算机的原理。

想更多了解操作系统,推荐阅读:《现代操作系统》

现代操作系统

个人计算机

随着硅基晶体管和集成电路的应用,计算机的体积和重量越来越小,使得计算机得以进入普通人的生活。这里所指的计算机不仅仅只是电脑,还包含了智能手机、路由器、车载系统等其它智能设备。今天的计算机采用的依然是冯·诺伊曼结构,运算器和控制器现在被叫做CPU,存储器通常指的就是内存RAM。而输入输出设备则有了极大的丰富。常见的输入设备有键盘、鼠标、麦克风、摄像头。输出设备常见的有屏幕、音箱、打印机。此外,触摸屏、USB、光驱、网卡即是输入设备也是输出设备。简单易用的操作系统为用户管理着这一切。

现代计算机结构

但计算机依然是最初的那个概念:它接受用户的数据输入,然后通过事先编写的程序对数据进行处理,最后将处理结果输出给用户。要注意的是:虽然现在我们输入输出的是文字、图像、音频、视频,但是在计算机内部,这些输入依然由二进制数据来表示、对这些输入的处理也是实实在在的计算。

如果对计算机组成原理感兴趣,推荐阅读《计算机组成:结构化方法》

计算机组成:结构化方法

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册