简单易懂的底层知识 —— 计算机的0和1是怎么产生的?

我们知道,在计算机的世界里,只有1和0。从简单的数学运算,到画面美爆的3D游戏,都是由数不清的0和1构成的。颇有点道家的 “ 一生二,二生三,三生万物” 的感觉。我们也大概知道,用高电位(如+5V)去表示1,用低电位(如+0V)去表示0。那么如何控制高低电位的输出呢?

相信很多人还记得小学时学的计算机基础课,第一台计算机ENIAC(埃尼阿克)于1946年在美国宾夕法尼亚诞生,它由将近18万个真空管(电子管)组成,重大30吨,耗电量惊人。

简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第1张图片
ENIAC使用真空管来完成高低电位的输出。真空管是二极管的前身。在一个真空玻璃管中放置两个电极,就构成了真空管。通过给阴极施加电压,使其温度上升来释放电子。
简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第2张图片
此时若阳极处于一个稍微高一点的电位,真空管内的自由电子就会被吸引过去,将电路联通。
简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第3张图片

可以通过对阴极施加不同大小的电压,来控制阴极释放的电子的数量,从而控制电路的联通与否。以此来产生01信号。

简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第4张图片

真空管的改进版,是在真空玻璃管中间添加一个栅极(Grid)。通过对栅极施加不同的电压,使得它阻断或加强电子的流动,从而得以实现对电流的快速控制。

简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第5张图片

简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第6张图片

然而,真空管体型比较笨重,并且它是通过对阴极加热,来使得阴极释放电子,所以它比较不稳定,容易出现故障,并且耗电还高(想象一下计算机里的每个01信号都是通过对一个电灯泡进行加热来控制,而ENIAC就由将近18万个这样的灯泡组成)。不禁想起了三体里所描绘的人形计算机阵列,吓死宝宝了。

后来,聪明的科学家就发现了晶体管。

简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第7张图片

它使用了半导体来代替电极。4价硅,掺杂一些5价磷,来制造一个电子发射极NMOS(Negative Metal Oxide Semiconductor);4价硅,掺杂一些3价硼,构成了电子接收极PMOS(Positive Metal Oxide Semiconductor)。将P和N排列在三个交替层,构成了NPN型晶体管。每一层都带有一个Terminal。构成电子发射极(Emitter),基极(Base),电子接收极(Collector)。

简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第8张图片

电子从Emitter流到Base,产生的电流,称为基极电流(Base Current)

电子从Emitter流到Collector,产生的电流,称为集电极电流(Collector Current)

当我们施加一个微弱的电压在Emitter和Base之间,让它们之间形成电流,就会导通这个晶体管,在Emitter和Collector之间产生一个很大的电流。通常来说,在Emitter和Base之间施加一个>0.7V的电压,即可导通晶体管,产生高电位,再通过模数转换,变为信号1;
简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第9张图片
施加一个<0.7V的电压,晶体管不导通,产生低电位,即为信号0。
简单易懂的底层知识 —— 计算机的0和1是怎么产生的?_第10张图片
通过这种微弱的电压变化,来控制输出1或0。

相比于真空管,晶体管的优点在于它体积非常小,并且效率高(真空管需要通过加热阴极释放电子,而晶体管不需要加热,只需要控制微弱的电压变化,因为不需要加热,晶体管也更耐用,能耗也更低)。现代计算机的CPU芯片只有指甲盖大小,上面却布满了几十亿个晶体管,每秒可以进行上万亿次计算。一个主频为2.4GHz的CPU,简单地来讲,理论上每秒可以进行2,400,000,000次运算。

通过不断地断电,通电,来推动CPU一步一步地执行计算。一次通电断电,可以简单地认为是一个时钟周期,这个是通过时钟发生器来控制的,一个时钟发生器,每秒能振动多少次,就是他振动的频率,即时钟频率。时钟发生器也叫晶振,全称晶体振荡器,是从一块石英晶体上切下的薄片,再进行加工制成的。晶振为CPU提供了基本的时钟频率,它一下一下的振动,就像一颗搏动的心脏。

参考视频:
https://haokan.baidu.com/v?vid=16026741635006191272&pd=bjh&fr=bjhauthor&type=video

你可能感兴趣的:(底层)