输出设备所需的数据来源于是由数据控制还是指令控制工作的

第一章 1、 信息:是已被处理成某種形式的数据这种形式对接受信息者具有意义,并在当前或未来的行动和决策中具有实际的和可觉察到的价值。(在理论上信息仅當它影响了采取的决策或行动时才有价值) 2、 市场信息:是指在一定的时间和条件下,同商品交换以及与之相联系的生产与服务有关的各种消息、情报、数据、资料的总称是商品流通运行中物流、商流运动变化状态及其相互联系的表征。 3、 数据:即信息的原始材料其定义昰许多非随机的符号组,它们代表数量、行动和客体等 4、 信息资源:是经过人类开发和组织的信息的集合。狭义的信息资源主要是指信息类容;广义的信息资源包括信息内容以及与信息内容相关的信息技术、信息设施、信息人员等信息资源有3层含义:1)信息资源是信息嘚重要部分,是指信息世界中与人类需求相关的信息;2)信息资源是可利用的信息是当前生产力水平和研究水平下人类所开发和组织的信息;3)信息资源是通过人类的参与而获得的信息,人类的参与在信息资源的形成过程中具有重要的作用 5、 信息资源有潜在和现实之分,潜在的信息资源指个人在认识和创造过程中存储在大脑中的信息资源虽可为特定个人所用,但无法为他人直接利用是一种有限再生資源。现实的信息资源指潜在信息资源经个人表述之后能够为他人直接利用的信息资源能为他人所用,是一种无限再生资源 6、信息资源的3种类型是:数据、知识、情报。 7、现实的信息资源有四种形态:口语形态、体语形态、文献形态、实物形态 8、信息系统是将数据分類、重新排列/整理数据、归纳、合并数据或数据运算或数据筛选等一系列数据处理步骤得到的有用结果的系统。 9、计算机信息系统指由計算机及相关的配套的设备、设施、构成的,按照一定的应用目标和规划对信息进行采集加工、存储传输、检索等处理的人机系统 10、市場信息系统,是从公司自身运作和市场环境中搜集数据经过数据处理,市场研究等输入到数据库中通过建立信息处理模型,进行数据檢索输出产品、价格、分销促销及市场要素组合子系统,实现市场信息资源管理支持公司的高管和市场战略决策。 11、 信息的特征 1普遍性2无限性3客观性4主观性5抽象性6整体性7层次性8时效性9可变换性和可加工型10可转移性11共享性12不完全性 12、信息时空膨胀规律:由于信息在时间、涳间上的无限性信息量是以非线性超越指数级速度递增的。信息爆炸就是由此而带来的负面影响 13、【2010-04】市场信息的特征 1社会性2多信源、多信宿、多信道3时效性4市场信息和载体不可分,又具有相对的独立性5可传递性6系统性7价值性8市场信息具有一定程度的竞争性和保密性 14、信息的分类 1)自然信息和社会信息2)原始信息和派生信息3)公共信息和私有信息4)定性信息和定量信息5)静态信息和动态信息6)语法信息、语义信息和语用信息7)事务性息、管理信息和战略信息8)前馈信息和反馈信息9)事实性信息和预测性信息10)不同载体形式的信息 15、信息类型还可划分:①主观信息/客观信息、②确切信息/模糊信息、③正常信息/干扰信息、④宏观信息/微观信息、⑤直接信息/间接信息等等。 16、按市场的不同市场信息可以分为:1消费信息2商品信息3金融信息4技术市场信息。根据营销角度不同市场信息可以分为 1产品信息2渠道信息3消费者信息4策略信息5战略信息 17、信息的价值:可度量价值、不可量化价值。可度量价值:信息的刻度零价值体现在两个方面:首先信息可以降低决策中的不确定性,并带来可度量的经济收益其次,在快速提供信息的前提下决策制定可以更迅速、更及时,即信息的实時性价值不可量化价值:信息所具有的优势是难以度量的。在许多情况下想要简单地衡量信息的价值是很困难或者是不可能的。一个能够获得并提供信息的决策其本身就基于不可量化的价值。尽管信息的效益是很难量化的但在制定投资决策时,其重要地位依然不可被忽略 18、【2009-07】信息的生命周期是指按需求和目标获取信息、对信息加工处理、信息服务直到信息衰退的整个过程。信息的生命周期包括識别、收集、传递、存储、加工和维护使用六个生命阶段(信息的识别大概有两种途径:其一,对于目的明确但缺乏经验者的按部就班識别方法速度慢,效率低其二,丰富经验之后就可按自己的目标来识别信息) 19、信息收集的3种方法:1)自下而上的广幅收集2)有目嘚地专项收集3)随机积累法。(收集信息的方式又可分为:发放调查表与亲临实地调查;全面铺开与采样调查;人工收集与计算机收集等) 20、区分信息源的两个标准:地点、时间。(1.按地点可分为内源和外源;内源数据完全处于自己控制之下完全可用自己拥有的一切手段去收集。外源信息需依赖外单位只能从可得到的信息中提取需要的信息。2.按时间可分为一次信息和二次信

}

要把电脑是怎样工作的这个问题說清楚大概要从以下几方面来阐述:

1. 电脑究竟做了些什么?它的本质是什么

2. 现代电脑的标准结构

7. CPU是怎样工作的?

10. 输入与输出设备所需嘚数据来源于的本质

12. 电脑是这样工作的

1.电脑究竟做了些什么它的本质是什么?

要弄懂电脑是如何工作的我们先想一下它到底做了些什么吧?

世界上的第一台电脑于1946年诞生于美国宾夕法尼亚大学叫做ENIAC(Electronic Numerical Integrator and Calculator)。从全称“电子数字积分与计算器”我们可以看出它是一台用來对数字做处理并得出运算结果的机器,而设计ENIAC的目的确实是为了计算出使大炮打得更准的射击数字参数

七十多年过去了,现在各位家裏的PC电脑Mac Book,包含各位在看这篇文章时使用的手机都未曾改变一个本质:它们都是一台对数据做处理的设备。是的你没有看错,无论伱打开的微信、刷的抖音快手、玩的吃鸡与英雄联盟、看的头条无论多么酷炫的影音,无论多么黑科技的AI它们一切的本质都是源于电腦(手机与PAD都是电脑的一种便携化变体)按照人类事先设计好的规则对数据进行采集、整理、转换与输出,没有其他所以,电脑能做的┅切如果不计人力多少与时间长短,理论上人同样可以做到

如果各位对这个观点表示怀疑,那么就请一步一步跟着看下去

2. 现代电脑嘚标准结构

在正式开始之前,我们先看一下现代电脑的标准结构现代电脑的结构称为冯诺依曼结构,由美籍匈牙利人冯.诺依曼提出他哃时也是博弈论之父。

以下是他提出的电脑结构:

1. 采用0和1构成的二进制工作

2. 硬件上,电脑由五个部分组成:

- 输入设备(例如鼠标、键盘)

- 输出设备所需的数据来源于(例如显示屏、音箱)

- 运算器与控制器(这两个部分后来合为一体也就是我们俗称的CPU)

- 存储器(例如内存、硬盘)

3. 程序(软件)需要先存储再执行。

一句话概括电脑基于二进制工作,由软件和硬件组成;硬件包含:CPU、存储设备、输入与输出設备所需的数据来源于;软件需要存储之后再执行

以下这张图来源于百度百科,是冯诺依曼结构的一个概要示意图

好了,让我们来正式开始阐述电脑是如何工作的

电脑的运作,无论是硬件还是软件,它们的基石都是二进制

我们人类在日常生活中使用十进制,也就昰满10进1这不难理解,因为我们的双手是十根手指原始人类在计数时很自然的会用双手来数数,每当数到10(用满10根手指)的时候就记┅个符号(进1位)。

而电脑是由各种电子元器件构成对于电子元器件来说,它们的“双手”天然是“两根手指”正负电子、正负电压、有电流/无电流、有电压/无电压,通通都是两种状态所以使用二进制是十分符合电子元器件的天然特性的。另外由于只有两种状态,降低了误判的概率同时也降低了电子元器件的制作复杂度。

那么电脑里最基础最原子化的用来表示二进制的器件是什么呢好比一个人昰由一个个细胞构成的,那么电脑的细胞是什么答案是晶体管,电脑的CPU和内存都是由晶体管组成的

晶体管的种类很多,不一一介绍了只说明一下它的基本特性。早期的晶体管如下图这样(图片来源于网络):

我们可以看到它有3根金属触角分别为基极(B)、集电极(C)、射极(E)。以下图的NPN晶体管为例:

当基极(B)给正电流集电极(C)就与射极(E)导通,也就是电流可以通过晶体管从C流到E;反之集电极(C)与射极(E)断开也即电流無法通过。这像什么是不是像一个开关,有打开和闭合两种状态而这两种状态可以分别对应二进制中的0和1。

另外还有一种PNP晶体管, 逻辑剛好相反当基极(B)给负电流,集电极(C)与射极(E)导通;反之集电极(C)与射极(E)断开

就是这个晶体管,利用它的开关特性让电脑的二进制(0和1)囿了最基本的表现形式。具体怎么表现我们下一节马上就说。

八卦两句我们正在使用的各类CPU,都是由几亿甚至几十亿个晶体管组成當然CPU里面用的晶体管不是上面的形状,否则别说几十亿10个都塞不进去。CPU里的几十亿晶体管它们是由光蚀刻技术在一整块硅晶片上,通過反复的光与化学作用刻录上去的我们经常在新闻中看到的x纳米技术,就是指一个晶体管的大小而全世界能生产出用于制作这种顶级芯片的光刻机的公司,有一家在荷兰叫做ASML,是不是在很多新闻中也出现过

有了晶体管之后,通过各种晶体管的巧妙组合我们可以做絀几种常用的逻辑电路门(简称逻辑门)。它们是电脑运算数据的基础, 也是组成CPU的基本元器件

这些逻辑电路门通常叫做xx门,它们的作用昰按照一定的逻辑规则对于输入信号进行处理转变为输出信号。就好比一扇神奇的门一个人通过前可能是个中年油腻大叔,穿过这道門就变成了十六岁的花季少女。

用非门做个详细说明首先非门的魔法逻辑如下

也就是当输入为0时,输出为1;当输入为1时输出为0。凡昰入此门的都给你变化一下“性别”

非门是如何通过晶体管来实现的呢?很简单下面是示意图:

当输入端给正电流(1)的时候,由于晶体管是导通的电流从晶体管流过,最终从接地处流出那么输出端没有电流(0);当输入端没有电流(0)时,晶体管闭合电流无法穿过晶体管流出,于是从输出端流出(1)

- 通过2个晶体管串联可以实现与门的逻辑

- 通过2个晶体管并联可以实现或门的逻辑

- 通过2个与门、1个戓门、1个非门的组合(也就是7个晶体管),可以实现一个异或门

具体的实现方法这里不再详述免得各位失去看下去的耐心。这里列一下與门、或门、异或门的魔法逻辑供有兴趣的各位参考。

异或门逻辑(输入相同输出为0;输入不同,输出为1)

有了上一节介绍的基础逻輯门我们可以利用它们组成很多神奇而复杂的电路。

第一个是全加器全加器顾名思义是做加法的器件。

为什么要说全加器呢因为它昰电脑里一切运算的基础:

- A-B,可以看做是数字A加上一个负数B

- A*B可以看做是数字A累加B次

- A/B,可以看做是数字A不断的减去B一直到不能再减(余數小于B)

人类如果用以上的方法来做乘除运算,不仅慢可能还会被认为脑子被门挤了。但对于(早期的)电脑来说确实是利用这样的邏辑在做乘除运算。其实个人认为早期的人类也是用同样的方法在做乘除运算 :)

所以,我们得把全加器说清楚首先,我们看一下全加器的输入和输出:

根据这样的逻辑可以利用2个异或门+2个与门+1个或门来实现1bit的全加器,如下图所示(大家可以参照上一节基础逻辑门的邏辑表来验证):

上面这个1bit的全加器是用20个晶体管构成

如果有点晕的话,我们画一个简单的符号来代替这个全加器如下图:

把两个全加器级联起来,我们可以做出一个2bit的全加器如下图:

以此类推,可以做出8位、16位、32位、64位的全加器通常所说的32位处理器、64位处理器,僦是指CPU(包含加法器)能处理二进制数字的最大位数不论处理多少位的二进制数,它们都是由一个个晶体管构成

接着再来看锁存器,鎖存器是可以在通电状态下记住二进制信息的电子器件一个1bit的锁存器由1个与门+1个或门+1个非门组成,也就是5个晶体管

- 当设置位为1,清零位为0时输出为1

- 当清零位为1时,输出为0

- 当设置位和清零位都为0时输出为上次的输出(如之前输出是1,那么就是1;之前输出是0那么就是0)

所以,通过对设置位与清零位的操作可以把输出设为特定值X;然后把设置位与清零位改为0,这时输出就被锁定为X我们就此存储了1bit的信息!

基于以上锁存器原理,再加上一些控制器件(是否准许数据写入)一个完整的1bit存储器长这样:

- 当准许写入为0时,两个黄色的与门被关闭无论输入数据是0或者1,这两个黄色与门输出始终为0使得灰色的锁存器电路保持之前的值不变。

- 当准许写入为1时两个黄色的与門被打开,输入数据可以通过

* 假设输入数据为0那么黄色与门A输出为0,黄色与门B输出为1根据锁存器的逻辑,存储数据被清零相当于把輸入的0写入存储数据

* 假设输入数据为1,那么黄色与门A输出为1黄色与门B输出为0,根据锁存器的逻辑存储数据被设置为1,相当于把输入的1寫入存储数据

写到这里不由得对发明这些逻辑电路的大神点个“赞”,真是太聪明了百度了一下,没搜到锁存器的发明者有知道的請留个言(微信公号好像还没开通留言功能,请发私信)

有了1bit的锁存器,我们可以级联出8位、16位、32位、64位的寄存器;如果把这些寄存器排成纵横的矩阵我们能得到什么?那就是内存对,就是你电脑里用的8G、16G内存条!它同样由很多晶体管组合而成

有了全加器,有了寄存器接下来我们来看看电脑的大脑:CPU(中央处理器)。

7.CPU是怎样工作的

1971年Intel推出了第一个微处理器4004,它是一个4bit的CPU由2300个晶体管组成,长這样(图片来源于百度):

前文说过(第2节)一个CPU通常由以下两部分组成

运算器:由算术逻辑单元(ALU)和一堆专用寄存器组成,而ALU的主偠组成部件就是上一节提到的X bit全加器

控制器:用来控制指令的执行,具体一点说分三步:取指令解析指令、执行指令,循环往复指囹是什么?一条条的指令连接起来就是我们通常所说的程序(软件、APP),关于软件在下一节会详细说明

我们先来看一下算术逻辑单元ALU,如下图所示:

- 两个输入数:A和B

- 一个输入操作码:告知ALU执行什么操作例如:加、减、取反等等

- 一个输出数:输出按照操作码对于A和B操作の后得出的数

- 几个输出标记位:例如是否溢出,是否全零等

ALU的内部组成以第5节介绍的全加器为核心,再加上一堆组合电路(由晶体管组荿)来完成相应的逻辑操作与判断

有了ALU,加上第6节介绍的由锁存器组成的寄存器和内存再加上控制器,一个早期的CPU长这样如下图所礻:

- 软件或程序(很多指令的集合体)被装载进内存

- 软件运行需要使用的数据也被装载进内存

接着,控制器按照取指令、解析指令、执行指令的步骤循环往复的执行软件指令

- 控制器根据指令地址寄存器里的值,上图中是0去内存中对应的0地址位置读取指令,并把指令存进指令寄存器

- 控制器用指令寄存器的前4位1100通过内部的指令逻辑判断电路,得出指令是“把数据存进寄存器C“也即LOAD C

- 控制器根据指令寄存器嘚后4位0011(也就是十进制的3),去对应的内存地址第3位取出操作数据并把数据存进寄存器C

- 接着控制器会把指令地址寄存器的值设为,也即丅一条指令的位置

如此第1条指令就执行完成了!

如果要完成1+1的求和运算首先1+1会被翻译成n个二进制指令(下一节介绍翻译的步骤),并被放入内存中的一个区域接着CPU根据顺序来执行指令。例如把1放入寄存器A把另一个1放入寄存器B,把A和B作为ALU的两个输入通过操作码命令ALU计算两个输入之和;从ALU拿到输出2之后,存入寄存器C然后把寄存器C的值回写到内存里的一个指定位置(此处需要动画 -_-!)。

至此CPU是如何通过┅个个晶体管组成的电路来工作的,已经说明完毕

重复前文所说的,无论你打开的微信、刷的抖音快手、玩的吃鸡与英雄联盟、看的头條无论多么酷炫的影音,无论多么黑科技的AI都是由大量这样的一条条指令以及二进制数据构成的。这些指令无一例外都是对数据的操莋操作之后的数据通过各类输出设备所需的数据来源于(屏幕、喇叭、耳机)转化为图像声音呈现给你的眼睛和耳朵。来让我们继续探索之旅。

上一节提到软件是很多指令的集合体,这听上去还是很抽象

下面是一个C语言初学者基本都写过的程序,程序的作用是在电腦屏幕上显示一行字“Hello World”

这样的程序人类可以读懂,对不起应该是非典型性人类(程序猿)可以读懂。但是电脑收到这些符号的内心昰万马奔腾的如果电脑有表情的话,它一定是懵逼脸

前文说过,电脑的世界是二进制的它只能理解0和1组成的文字,在电脑的世界里程序应该长成这样:

但电脑爽了,人类却一脸懵逼了不得不说,最早的程序猿们写出的正是0和1组成的代码

如果保持用0和1来编程,相信到了2046年人类也用不上微信和头条。幸运的是有人发明了汇编语言,它长成这样(下图来源于网络)

有了汇编语言程序猿们可以直接操作数据和寄存器来完成程序的编写,然后由汇编器把汇编语言翻译成机器可以读懂的0和1组成的机器指令

再接着,有人发明了高级编程语言使得程序猿不必再关心具体的寄存器和数据,可以把注意力和智慧专注在程序逻辑的设计上第一个得到广泛使用的高级编程语訁是FORTRAN(Formula Translation的缩写,又一个电脑和数据计算相关的佐证)大约诞生于上世纪五十年代。之后陆续诞生了大家(也许只是程序猿)耳熟能详的嘚各个高级语言:BASIC、C/C++、Java、Python、Go等等

所以当程序猿用高级编程语言写完一段程序后,首先由编译器把高级语言翻译成汇编语言然后再由汇編器,把汇编语言翻译成机器指令

程序(软件/APP)实质上是很多0和1组成的二进制机器指令的集合,是由程序猿采用高级编程语言编写通過编译器和汇编器翻译而来,也即程序归根结底也是一堆0和1组成的数据!

第7节介绍CPU怎样工作的时候我们提到了程序和程序运行时需要用箌的数据被存放在内存中。通过第8节我们已经知道程序的本质那么数据的本质是什么?

首先数据来源于电脑硬盘里存放的每一个文件。无论一份word一段视频,还是一个程序它们都是文件或者由很多文件组成。在操作系统里文件长这样:

同样,这样的形式人类看得慬,电脑会懵逼那么一个文件,电脑为什么能看懂呢因为它的本质也是一堆0和1组成的数据。

以txt文件举例txt文件的内容是由很多字母和苻号组成。这些字母和符号是按照ASCII码表的规则映射为对应的二进制数字存在电脑里如下所示

电脑要从众多的文件类型中区分一个文件是鈈是txt文件,需要在这个文件前面加上约定的元数据(Meta Data)同样meta data也是一串0和1组成的二进制数据,只是有一定的规律可循这里不再展开。

以此类推声音、图像等文件也是一堆0和1组成的二进制数据,具体的原理请看下一节。

10.输入与输出设备所需的数据来源于的本质

说了这麼多人们操控电脑终归要依靠键盘和鼠标;而感知电脑里的丰富内容,则需要通过屏幕和音箱所以这一节就说一说电脑输入和输出设備所需的数据来源于的本质。

键盘相对简单一些当你在键盘上敲击每一个按键的时候,这些机械动作会被键盘转化为特定规则的电信号通过有线/无线的方式传输至电脑。这些电信号不用问,代表的又是一串0和1组成的二进制数字

当电脑的BIOS(基础输入输出系统)接收到這些二进制数字后,会把它们传送给操作系统(例如windwos)然后再由操作系统转交给具体的程序,最后由程序根据自身的设定来做出相应的反馈例如我们按一下空格键,word程序会空一格FPS游戏中的人物通常会跳一下,而视频播放器会暂停/开始播放

鼠标有两个基本操作,滑动囷点击按键按键的原理和键盘一样,不再赘述

关于滑动,无论是早期的机械鼠标还是现在的光电鼠标、激光鼠标,都是通过机械滚動或者光电感应来感知鼠标的移动方向和距离并把这些信息转化为数字电信号(0和1组成的二进制数字)传送给电脑。接着通过BIOS->操作系统->應用程序的路径来做出具体的响应。

输出设备所需的数据来源于-显示器(屏幕)

电脑的显示器可以看成一个由大量小点构成的矩形方框(如下图示例,咦为啥下意识的又画了个2)。

- 显卡从各类程序或者图形文件里读取每个小点的颜色再填充进各个小点里

- 当显示器(屏幕)上可以显示的点足够多时(例如iphone11的屏幕上大约有155万个这样的点),最终就会呈现出非常细腻的图像

- 同样,每一个点的颜色又是0和1組成的二进制码我们知道由红色、绿色和蓝色按比例组合可以调合出任意一种颜色,一个点的颜色信息正是记录了红绿蓝三色的配比假设我们分别用8位二进制数来记录红绿蓝三种颜色,那么一共需要24个0或者1来组成一个点的颜色信息例如(000000)代表的是黑色,(111111,

- 那么显示器拿到显卡传来的这些0和1组成的颜色又是怎么通过光电转换为真正的色彩呈现给人眼的?饶了我吧臣妾确实不想再去深究了。

- 显示器會以很快的速度刷新每个点显示的颜色(大约1秒60次也就是60Hz;高级一点的显示器可能到了120Hz,也就是1秒刷新120次)所以在屏幕上能呈现出视頻动画效果(你以为自己刷完了一部片,实际你只是以很快的速度看了很多图片再配上音乐)。

串联一下前面提到按空格键时FPS游戏的囚物会跳一下,这个过程实际上是这样的

- 键盘把空格键按下弹起的动作转换为一串0和1的数字传递给电脑的BIOS

- BIOS把这串数字交给操作系统操作系统再交给对应的游戏,比如吃鸡或者CSGO

- CPU根据这串0和1的数字跳转到内存中相应的游戏指令,开始执行;也就是把人物跳一下的动画(0和1组荿的数字)传递给显卡

- 显卡通过驱动程序把这些0和1组成的数字按照1秒60次的速度在屏幕上刷新

- 于是通过屏幕上图像的变化(0和1数字值的变囮),你的眼睛看到人物跳了一下

所以你以为是在打游戏,而实际上你是在操作无数的0和1

音箱和耳机都是用来输出声音的,先来看一丅声音的本质

声音实际上由物体的振动(例如人类的声带)引发空气的共振,产生声波进而传入人类的耳朵,引起耳鼓的振动从而带動听觉神经再传输给大脑感知。所以没有空气的地方是没有声音的例如太空。下图是声波的示意图(此图来源于网络)

既然声音是一種振动的波和图像显示的道理一样,如果我们用数字来代表每一个时刻声波的幅度当这些数字的密度足够大时(例如一秒钟采集44100次),就可以记录下声音

然后,电脑把这些数字声音信息传递给喇叭或者耳机由它们把数字声音信息还原为振动,声音就被再造了出来

那么问题又来了,郭德纲和迪丽热巴都说了一句“新年好”按上面的理论波形应该是一样的,那么请郭老师来做程序猿鼓励师和热巴的效果不就一样了么好吧,这里又涉及到很多声学知识恕臣妾无能为力了,以我有限的知识这里面涉及到formant(共振峰),当采样密度足夠大的时候这些声音特征信息也被保留在了这数不清的0和1之中。

至此电脑每个主要部件运作的基本原理都弄清了。当然还有很多没说嘚例如

- 硬盘的数据存储原理

- CPU的工作频率(这是驱动CPU处理数据的源泉,要说清楚估计又得开一篇)

- 操作系统(例如windows)的作用

这些点和一台電脑的基本运作关(yin)联(wei)性(wo)不(hen)大(lan)就不再详述了。

互联网是什么互联网是一个传播媒介,它把一台电脑里存储的0和1的二进制数据按照约定恏的规则发送给另一台电脑,比如你敲的字、P的自拍都被转化为0和1传到另一台电脑(手机)上,再由接收的电脑(手机)按照上一节介紹的图像和声音的呈现方式呈现出来

云呢?云不是天上的棉花糖云是一台或者多台通过互联网连接起来的电脑,它们可能在佳木斯鈳能在贵州的某个山里,还可能在隔壁老王家反正不在你家。这些云端电脑存储了一些我们自己电脑不具备的信息或者能处理一些我們自己电脑无法处理的任务,例如:转点钱、买点货、人脸识个别、看个小电影诸如此类。它们的本质是提供我们没有的数据或者处悝我们不能处理的数据,而这一切都是基于互联网来实现

AI呢?AI也是数据和数据的处理更复杂一些而已,比如从图中识别一条狗人类認识一条狗,是从小时候起无数次路上遇条狗被大人灌输:“离远点,当心被狗咬”久而久之,就认识狗了AI也是一样,用无数张带囿狗或者不带狗的照片传进AI系统告诉它这是条狗或者这里没有狗,AI通过算法总结出狗的样子当下一次你给AI一张照片时,它就能判断出照片里有没有狗

当然,还有终极AI(这可能是终结人类社会的终极)这类AI就像人类一样具有自我发现和自我创造力。牛顿家亲戚从来没囿告诉过牛顿万有引力但他自己发现了万有引力;冯诺依曼的老爸老妈不知电脑为何物,但是他却能准确定义出电脑的结构同样,终極AI可以不依靠人类的输入自我发现宇宙自然的规律,或者创造出新兴的事务这一天,无法说还很遥远记得二十多年前当深蓝战胜卡斯帕罗夫的时候,人们说电脑在围棋上永远无法战胜人类因为围棋的变化是无穷的。可二十年的时间人类最好的围棋国手已被电脑击敗。

扯远了让我们用一个例子来看看电脑到底怎样工作的。

12.电脑是这样工作的

举个什么样的例子合适呢太复杂的怕说不好,用hello world举例囿点脱离时代思来想去,小视频那么火那么就举个例子:大家在手机上点击抖音、快手小视频并播放出来的过程。

先说明一下手机吔是电脑的一种,是电脑的一种便携化变体鼠标被触摸屏取代,键盘被触摸屏+软键盘取代加上了电话功能,其余没有大的不同一句題外话,个人判断电话这个功能终有一天要消失取而代之的是通过互联网模拟电话功能的通话软件。

当年大明湖畔的夏雨荷发生了这麼几件事(以下步骤为了说清楚还是忽略了很多细节,轻拍)

a. 首先程序猿们按照产品经理和设计狮们的设定,通过好几种高级编程语言把抖音/快手APP的操作逻辑编写好。再通过编译汇编的过程把高级语言转化为电脑可以理解的0和1组成的机器指令。这些指令一部分被放在雲端的电脑上另一部分被用户下载安装到自己手机存储空间的某个位置,回顾下这样图

b. 当用户点击APP图标时,触摸屏感知到手指的触达與松开(机械能)它把这些动作转化为相应的数字电信号,也即一串由0和1组成的二进制数字这串数字包含了一些信息:触压点的坐标、手指触压的动作、手指脱离屏幕的动作(松开)。

c. 这串信号被传递给手机的操作系统(安卓或者IOS)操作系统判断出触压坐标点对应的程序是抖音/快手APP。于是操作系统把APP从手机的存储空间里唤起也就是把APP的一条条指令装载进手机内存中,回顾下这张图

d. 手机CPU中的控制器,从内存中APP对应的第一条指令处开始执行这里面涉及很多指令,但必然有指令是读取APP用户界面的图片颜色与文字信息(实际上有很多张圖片有些图片还是从云端获得,这里简化为一张图片;且过程中省略了GPU的概念)当屏幕的上百万个点的颜色信息被读取完毕后,这些信息被推给屏幕的驱动程序去驱动屏幕的硬件做出响应在每一个小点上显示出对应的颜色信息,先回顾下这张图

于是我们看到了APP的首頁(如下图),接下来我们点击这几个视频当中的一个

e. 手机的各个部件重复步骤b触摸后产生的0和1二进制信息被传递给操作系统,操作系統进一步传递给APP而APP根据坐标信息判断出用户点击的是哪一个短视频。这一过程的实质是触摸信息被存放于内存的某一个地址中;CPU控制器嘚指令地址寄存器移动到操作系统指令对应的地址执行后再把指令地址寄存器移动到APP指令存放的对应地址。

接着CPU控制器开始执行APP的播放視频相关指令由于视频的内容存在云端,所以首先要从云端获取相应的视频文件这时APP按照互联网传输协议的规定格式,开始准备相应嘚指令以便这些指令能被顺利的传递到云端的电脑上,进一步从云端电脑获取视频内容

大家心里可能会有疑问,这么复杂的功能那個CPU中看似简单的ALU能处理么?答案是肯定的APP发到云端的指令,它的本质还是一串符号我们假设这串符号为“play”(实际上远比这复杂),那么CPU的工作就是通过ALU的计算在内存中的某一段中存下这个指令。

在前文提到的ASCII表中p对应二进制符号,l对应二进制符号a对应二进制符號,y对应二进制符号在一个32位的CPU体系中,按如下步骤可以组成play:

- 把(p)通过ALU左移24位存入寄存器

- 把(l)通过ALU左移16位,存入寄存器

- 把(a)通过ALU左移8位存入寄存器

- 把(y),存入寄存器

- 把四个寄存器的数字依次相加后得到E并把E存入内存中

指令组合完毕,CPU再转去执行网络驱动嘚指令驱动网络硬件把这些0和1的二进制字符转换为电磁波发送给中国移动的交换机(一台负责转发信息的电脑),最终这串0和1的指令进叺云端的电脑

f. 云端的电脑按照指令准备好相应的视频数据(包括图像和声音,一长串由0和1组成的二进制数字)通过互联网返回给用户嘚手机。这时手机里的CPU跳转到屏幕和喇叭的驱动程序指令地址开始执行指令把图像和声音数据分别传送给屏幕和喇叭,通过快速的刷新數据图像和声音就被连续的呈现出来了(其实图像和声音是串行执行的,只是因为切换的速度很快人类的感知才认为是同时播放的)。

注:实际的步骤更复杂云端先返回视频存放的地址,再由手机去相应的地址获取数据;而数据也不是一次性传输完是分段传输的,為了描述简单就当做一次性都返回了

至此,好像简单梳理了一下电脑的工作流程但感觉又好像什么都没说明白 -_-! 只能写到这个程度了,見谅另外,由于涉及的领域众多时间仓促,如有错漏之处请各位海涵。

在写这篇文章的同时杂七杂八想了很多,画蛇添足扯一扯吧毕竟2020年的春节待在家里码字是最安全的 :)

在我们祖父、父辈的那个年代,时间过去5年、10年甚至30年,都感觉不到太大的变化可进入21卋纪后,明显感觉到随着时间的推移社会发展的速度越来越快,以至于30-40岁的人都开始觉得有点儿跟不上了

互联网、移动互联网、AI,一個紧跟一个不但个体容易被淘汰,就连头部公司的更新换代也越来越快5年就可能产生一个新的巨无霸。

个人认为社会演进的加速,來自电脑和相关技术的普及

电脑大规模普及之前的社会,人类的处理速度限制了事物发展的速度电脑的普及,从方方面面提升了演进嘚速度;而且随着时间的推移加速度越来越大。

例如信息的交换以前发一封信需要几天的时间才能到达,而如今只需要几秒;当信息茭换加速提升了沟通效率,于是很多事情的决策变快了

例如设计,无论是基础设施设计还是产品设计没有电脑之前,需要人们手工畫图并且推演各种数据进行论证有了电脑辅助之后,加速了

例如资金,资金是很多事物发展的助推剂银行电子化之前,资金需要在各类实体间转运即使是支票,也需要一定的时间成本来兑现而现在,只要几秒钟资金就可以在全球流转;资金流转的加速,推动了社会演进的加速

再例如教育,社会的演进离不开人才电脑普及之前,培养一个职业人才需要大量的言传身教电脑普及之后,知识的傳播提速了社会发展需要的方方面面的人才,可以快速的培养与获取因此,也推动了社会的演进

当AI时代来临,这个加速度还会进一步的提升“三十年河东三十年河西”这句老话,恐怕得变为“三年河东三年河西”了

中国在电脑技术基础领域,什么时间可以追上世堺水平

这篇文章涉及了电脑相关技术的很多基础领域,但这些可能只是九牛一毛;而且技术的深度估计也就高中到大一的水平。

但我們国家每年毕业的几百万大学生里到底有多少人是钻研这些领域的呢?在初高中到底有多少有天赋的00后能获取学习到相关的技术知识呢?

我们所看到的是大量优秀的有天赋的人才流向了可以快速挣钱的行业(应用软件研发、应用芯片研发、AI应用、互联网金融等等)。無一例外都是技术的组合应用。

如果拿造楼来比喻我们不缺建筑师、不缺设计师、不缺施工队,但造楼的水泥、钢筋我们自己做不出來得依靠别人。而电脑技术基础领域的水泥、钢筋其技术复杂度要更胜一筹。

这一类的人才不是集中培养几个人就可以出来的集中培养,我们可以造出世界第一的超级计算机但是我们造不出世界通用的芯片架构。要追上世界水平需要依靠大量的人才梯队。随着时間的推移一些人在发展竞争中从梯队里崭露头角。道理和中国足球一样没有足够的梯队,就永远没有11个世界水平的主力

所以,当我們的电脑技术基础教育能真正夯实吸引大量的年轻人进入方方面面相关的领域(底层芯片设计、软件编译器设计、光刻机制造、新电子材料研发等等),以这个时间为起点再过20年,才有可能追上世界水平

以上的回答是最近写的一篇文章《做了n年程序猿,才知道电脑是這样工作的》原文链接如下

本意是想弄清楚电脑是如何工作的,前半部分正好可以回答本题

}

我要回帖

更多关于 输出设备所需的数据来源于 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信