怎么工作 CPU 时钟 是什么
CPU、内存和其他零件,是怎样彼此步调一致地运转的?秘密就在计算机里一个不停滴答作响的“时钟”。
滴答,一拍
说是时钟,却没有时针和分针。
时钟其实就是一个在0和1之间飞快来回切换的信号。
0、1、0、1……一升一降是一拍,信号每次升起的那一刻,计算机就走一步。
0和1一升一降就是一拍。每滴答一次,步数就加一。
在下图里它看起来是闪烁,可真正的计算机1秒内要滴答几十亿次。
所以在我们眼里,一切都像是一下子完成的。
大家一起迈一步
为什么非要有节拍?
零件有好几个,要是各走各的,就会错开,工作就乱了套。
所以大家都跟着同一个节拍,在“现在!”的那一刻一起迈出一步。
关掉节拍,零件就各走各的乱成一团;打开节拍,就跟着“现在!”整齐前进。
在一拍之内,所有零件做完自己的事,等着下一拍。
节拍就像喊“大家一起出发!”的哨子。
1秒多少次?赫兹
节拍1秒钟滴答多少次,用赫兹(Hz)来表示。
1Hz是1秒一次,1GHz是1秒足足10亿次。
滴答得越多,迈的步子就越多,计算机也就越快。
把滑块从慢推到快,1秒内迈出的步数会暴增。
所以像“3.2GHz”这样的数字,就是那台计算机的节拍快慢。
意思是每秒滴答32亿次。
一切都在快得难以想象的节拍上运转。
不能只求快
那么,把节拍无限调高行不行?
不行,因为有两堵墙。
第一,一步还没走完下一拍就来了,步子就会乱;第二,越快发热越厉害,耗电也多得多。
不断调高节拍,热量和耗电直线上升,超过极限,步子就乱了。
所以现在的计算机不再一味调高节拍,而是转向安排好几个工人(核心)。
因为速度有现实的极限。
关于核心,会在其他部分再次见到。
现在,跳动的心脏
我们做出的CPU(第12课),跟着这个节拍一条一条取指令。
从缓存(第13课)里快速取值,零件之间顺着通道(第14课)传递数值。
时钟就是让这一切跳动起来的心脏。
每一拍,CPU取来一条指令并执行。计算机的身体终于跳动起来了。
从0和1出发,经过逻辑门和加法器、CPU、存储和通道,一直走到让这一切动起来的节拍。“如果”和“重复”也在这个节拍上运转。下一课我们把到目前为止的内容一次汇总起来。