计算机的设计模型

计算机主要用于解决计算问题。计算无处不在,小到每家每户日常的记账,大到宏观经济统计,火箭发射轨道计算都会涉及。

计算机最早出现于美国,产生于宾夕法尼亚大学,主要为了辅助科学家在科学实验中的数据计算。

人类社会中的各类发明,究其根本在于对现实生活的抽象和升华,计算机也不例外。

我们随便找个例子开始讲述计算机内在的逻辑。假若你今天早上八点出门去上班,路上花了1个小时,九点正常到公司开始上班。

稍微引入一个用于计算位移的物理公式:

换个表达形式描述上述过程:

其实很多计算过程都可以抽象成上述过程。首先你有一个初始的状态,然后在经历一段变化之后,达到了另一个状态。

举个例子:原来你有3个苹果,我再给你2个苹果,这样你就有了5个苹果。你有3个苹果就是初始状态,我给你2个苹果是变化量,你有5个苹果就是目标状态。

换个视角考虑,初始状态和目标状态是静态的,变化量是动态的。只有静态的系统是没有意义的,只有动态的系统也是没有意义的。从一个静态通过动态过程达到另一个静态的过程,才是具有普遍意义的。

简单规则的简单叠加往往产生惊人的效果。比如让上述过程具有传递性:

还以苹果举例:你又吃掉了一个苹果,只剩下4个苹果:

我们不准备写论文,因此不会针对该问题论述代数系统的完备性。一般性地普适概念可以使用如下的形式化表示:

再换一种表述方式,以建立模型和计算机间的简单联系:

这个形式可能很多人没怎么见过,但下面这个等式,相信很多人都知道:

这两种表述的内在逻辑非要解释其自洽性的话,可以简单使用如下的形式化表示:

数据是静态的,算法是动态的。我们用某种设备存储数据,用另一种设备实现算法。因此最简单的计算机模型只要包含一个存储数据和一个实现算法的设备就可以了。存储数据的设备我们称之为内存,实现算法的设备我们称之为CPU。

最简单的计算机模型如下图所示:

上述设备使用电力作为驱动,执行算法并存储数据。如果断电的话,则数据将会丢失。为此,增加了磁盘用于数据的永久性存储:

任务系统若想产生实际效用,则必需增加人的观察。设计了上面的机器,就一定希望能观察到原始数据执行算法后的结果。因此,需要增加显示设备,便于人们观察处理结果:

显示设备用于展示结果,展示结果需要涉及计算,为了解放CPU,就引入了专门用于图像处理的GPU,也就是我们常说的显卡:

如果系统能随时接收人的指令那就更好了,所以就增加了键盘和鼠标等输入设备:

为了支持模块化所以增加了主板。让所有的设备都连接到主板上,一方面便于工业设计和布线,另一方面便于维修和更换升级。

计算机讲白了其实就是上面这东西,事物的本质往往并不会复杂。

下面给出了一张图,说明简单规则的简单叠加会产生惊人的效果。有兴趣的可以自己百度下元胞自动机和生命游戏。

最后,放一张冯诺依曼的照片,致敬这位伟大的计算机之父

比较会装傻做白日梦

比较想你关注我(* ̄∇ ̄*)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180729G0SN3M00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券