一般我们都会知道,CPU时钟是一个可以衡量运算所消耗时间的单位。比如说:
一次加减法消耗2个CPU时钟
一次乘法消耗4个CPU时钟
一次除法消耗40个CPU时钟
然而,一次位运算只需要1个时钟单位。这也是为什么我们推荐使用位运算来代替乘除法和条件判断。比如:
使用n & 1 == 0而不是n % 2 == 0来进行判断奇偶数
使用n >>= 1或者n >>= 1来对n进行乘除2 的操作。

但是,到底什么是CPU时钟呢?

考虑如下逻辑电路
CPU时钟是什么?当A,B输入端口均为1时,Q输出0,但是当B从1变为0时,and门还没来得及变为0,还保持着1,B变为0 的信号已经传至XOR门,因此Q就瞬间变为了1.直至and门反应过来,Q才恢复为0。
这种现象叫做传播时延(propagation delay)如图:
CPU时钟是什么?
对于Q这种没必要的信号值跳动会给CPU造成很大的麻烦,上面这种现象叫作空翻(race condition),即指输出中出现了一个不希望有的脉冲信号。因此,我们需要加一个边沿触发器(CLK)。
CPU时钟是什么?只有当CLK中的周期脉冲电路从0变为1时,D的输入才会影响Q的输出,这样就可以屏蔽时延效应从而避免空翻现象的出现。
CLk中是一个类似于这样的周期电脉冲。
CPU时钟是什么?

相关文章: