0&1 vs.串联和并联:编码与电路——信号的转换

計算機的本質,編程的本質_数据

計算機的本質,編程的本質_数据_02

映射:世界万物无非输入输出-函數

计算机的话由于“可编程性”,更加通用一些。

计算机是更微观级别的运动支撑的:电子、原子、磁场。
以前有机械硬盘,现在有固态硬盘了,再过几年风扇也可以免除了,当然风扇本来就是外围的东西,不参与运算的。其它机械的运作都伴有机械转动。

看看几次科技革命的历史:
动力能源:自然力(水力、风力) —> 畜力、人力 —> 火力、机械力 --> 电力 ----> 核力

计算机的本质是计算

只不过由于二进制将各种东西都数字化了,所以计算机能做的事才多了起来。这些事其实是使用计算机的人赋予它的功能。而计算能力越强,可赋予的功能就越多。
恰恰是这些功能的存在,计算机才有实用价值。

如果没有那些功能,单纯一个能计算的机器和一个能洗衣的机器相比,本质的差别就是一个能计算,一个能洗衣服。

計算機的本質,編程的本質_机器码_03

操作系统、汇编语言、高级语言,甚至什么大数据、人工智能这些,统统是上述内容的扩展,其本质永远无法逃脱那单调而神器的0和1。

信号的转换(编码)——信号的传递(继电器)——信号的关联(门电路)——信号的计算(加法器设计)——信号的保存(触发器)——信号的地址(存储器组织)

似乎一台计算机就快要浮出水面了,但不知道你有没有发现一个缺陷。回想之前的加法器、锁存器以及改造后的存储器,始终是我们人为去控制后(例如打开开关)机器才能运转起来,我们希望存储时必须调整时钟信号为1才表示可以存储,是否可以让一切过程自动进行呢?答案是肯定的。要做到这一点,我们需要做两件事。

将手动输入的时钟信号等改为上一层信号的传递
需要有一个自动变化的计数器
  如果将某一串信号和时钟信号连起来,使得时钟信号一碰到它就变成了1,存储器开始起作用,那么我们可以把这种信号形象地理解为代码,当它用二进制表示时,就是机器码。那刚刚这段代码的含义就是,将数字存储到存储器中。当然我们之前所用到的信号,现在可以把它称作数据。我们将代码和数据这两种形式的信号,依次存入存储器中,利用一个用振荡器实现的计数器依次将存储器中的信息,按照地址顺序读出,便可以自动进行操作了。我们要做的只是:

设计各种机器码和其对应的电路使其完成:加载、存储、相加、停止、地址跳转等基本操作。利用这些机器码顺序地编写并存入内存,等待依次被读出,我们称之为程序
  
计算机就是这样。