现在,全世界的人们差不多有一项共识,那就是由计算机技术所引发的信息革命已经成为生产力发展的主要和重要推动力量,而在计算机相关的产业中,芯片,又无疑是决定发展质量和制约发展速度的核心因素。一颗大概只有指甲盖大小的CPU为什么这么牛逼?为什么缺了它计算机就玩不转了?(芯片,狭义上是指的CPU,但广义上来说,它早就已经融入各行各业了,从军工产品、数控机床、工业生产、机械仪表,到消费电子、家用电器、娱乐传媒,全都离不开芯片)
互联网上有海量的文章来介绍关于CPU制造技术多么多么牛逼,但其实离普通人很远。我就从我自己的角度来说说它为什么能做C位,制霸整个计算机行业。
最开始出现的计算机,其实不叫计算机,只能算是大号的计算器。自从冯·诺依曼提出了自己的设想后(可参见之前的文章《统治地球的冯·诺依曼》),真正意义上的计算机才得以出现,CPU也借此确立自己的地位。
因为CPU是靠电信号催动的,而科学知识告诉我们,电和光是跑得一样快的。我们眨个眼的功夫,可能对于电或光来说已经过去了很久很久——也就意味着,相对于人类的时间来说,CPU其实大部分时间都是比较闲的,无事可干——它太快了~
科学家们觉得这样不行,不能让我们累死,它闲死——应该是相反的才对。于是,科学家们给CPU定了两条规矩:
规矩一:不管现在有没有事情干,CPU都需要定期询问周边小伙伴,是否需要协助。如果有就,就根据具体事件的优先级来协助,如果没有,那就过一会在说;
规矩二:CPU即使很忙,但如果遇到其他小伙伴的紧急求助,就需要立刻放下手头工作,先去协助对方,待协助完成之后,再继续手头的工作。
用专业的计算机科学术语来说,规矩一叫做「轮询」,而规矩二叫做「中断」,如下图所示:
就这样,CPU除了本身的计算任务之外,还要不停地询问并解决其他部件的工作(虽然很多时候它仅仅只是协助,并不实际处理),并且在其他部件需要的时候,去协助它们。
这和有些公司的领导何其相似!
不过,从专业层面来说,中断和轮询作为计算机科学中的基本常识,是需要了解并知晓的,因为在某些开发工作中,也会涉及到对它们的应用。但对它们的详细介绍,这里就不赘述了。
(也许,CPU得以出现,也要感谢查尔斯·巴贝奇、阿兰·图灵、克劳德·香农和冯·诺依曼们天才的大脑和那种在逆境中毫不气馁,自强不息的拼搏精神。正是因为有无数个像他们那样的科学先驱为追求真理奋不顾身、不死不休,在黑暗中执炬前行,光耀后世,才能有今日信息技术的蓬勃煊赫,鼎盛非凡)
查尔斯·巴贝奇
阿兰·图灵
克劳德·香农
冯·诺依曼