# 第一节 计算的由来

# 计算机器的起源

大概在公元前550年左右,中国人发明了算盘,这是世界上最早用于计算的机器。通过一系列的口诀(规则)的组合,从而实现比较复杂的计算。比如词语“三下五除二”就来自于珠算口诀。

# 由手动到电动的飞跃

机器及计算方式里程碑:

  • 约公元1世纪,中国古代数学家著《九章算术》
  • 在1752年美国科学家富兰克林的风筝实验发现了电的存在
  • 1831年英国科学家法拉第发现了电磁感应现象
  • 1904年英国科学家弗莱明发明真空二极管
    • 能实现与门、或门计算
  • 1906年美国发明家李·德福雷斯特发明真空三极管
    • 能实现非门计算
  • 1946年美国研制出世界上第一台通用计算机埃尼阿克(ENIAC)
    • 二十七吨,占地170平方米
    • 它不是最早的电磁计算机
  • 1947年美国贝尔实验室发明了晶体管
    • 相比二极管能极大节省体积
    • 为集成电路的发明打下基础
  • 1958年德州仪器科学家研制出世界上第一块集成电路(芯片)
    • 沿用至今

# 与门、或门、非门

这三种门电路是计算机实现算术运算的基础。它们的特性为:

  • 与门:两个输入端,均为高电平时,输出为高电平,否则为低电平
    • 表示:A&B -> Output
  • 或门:两个输入端,任一为高电平时,输出为高电平,否则为低电平
    • 表示:A|B -> Output
  • 非门:一个输入端,高电平输出低电平,低电平输出高电平
    • 表示:~A -> Output

我们将低电平用0表示,高电平用1表示,上面三者可以得出的结果:

  • 与门:1&1->1  1&0->0  0&1->0  0&0->0
  • 或门:1&1->1  1&0->1  0&1->1  0&0->0
  • 非门:~1->0  ~0->1

这就是二进制计算的由来。

接下来对这三种门进行组合,组成更加复杂的们电路,参考 一文弄懂与门/或门/非门和组合逻辑电路 (opens new window)

截至目前,我们了解到了一位二进制数字的算术运算,更加复杂多位算术运算(比如32位、64位等)均由与或非门,通过各种复杂的组合,从而形成。

# 专用集成电路与通用集成电路

只能完成某个特定功能的集成电路叫专用集成电路;能录入不同程序处理不同种类任务的电路叫通用集成电路。个人电脑电路就是一种典型的通用集成电路,因为在电脑上能跑各种不同种类的软件。

# CPU指令集

CPU指令集主要分两类,CISC(复杂指令集)与RISC(精简指令集)两大类。

Intel 系列CPU主要使用x86(IA32)指令集隶属CISC类别,同时也是目前PC使用最多的指令集。手机等移动设备主要使用ARM指令集。目前呼声最高但还没大规模使用的是RISC-V指令集。

# 其他计算体系

除了CPU外,还有GPU、TPU、NPU等等。不同计算体系具有不同的偏向性,分别适用于执行不同的计算任务。

这儿主要说说GPU。GPU意为图像处理单元。举个例子,1920*1080显示器显示3D景象时,假如使用4核8线程的CPU去执行,那么每个线程需要遍历259,200个像素,每个像素均通过3D世界模型中的数据计算据虚拟摄像机最近的像素点,将其显示。可以看到计算这样的任务非常复杂,它将导致FPS(每秒刷新帧数)降低。这时候,换成GPU,比如GTX 1080具有2560线程。假如用GPU执行,那么平均每个线程需要遍历810像素,可以看到每帧执行时间迅速缩短,将极大提高FPS。