时钟
为什么需要时钟
从上面的例子我们可以看出CPU为什么要时钟:目前绝大多数的微处理器都是被同步时序电路所驱动,而时序电路由各种逻辑门组成。正如上面说的那样,逻辑门需要一小段时间对输入的变化做出反应(propagation delay)。所以需要时钟周期来容纳传播时延,并且时钟周期应当大到需要容纳所有逻辑门的传播时延。
当然,目前也有Asynchronous sequential logic,即不需要时钟信号做同步。但是这种异步逻辑电路虽然速度比同步时序电路快,然而设计起来比同步时序电路复杂的多,并且会遇到上面说的空翻现象(race condition),所以,现在绝大多数的CPU还是需要时钟做信号同步的。
发送数字信号其实发送的就是一串由0或1组成的数字序列。 然而,与不同设备进行通信时,时序信息要与发送的比特位相关联。 数字波形作为时钟信号的参考。 您可以将时钟信号看成是一个指挥者,它为数字电路系统的各个部分提供时序信号,使每个过程都可在精确的时间点触发。
时钟信号是具有固定周期的方波。 周期是指一个时钟边沿到下一个同类时钟边沿之间的时间间隔,最常用的方式是一个上升沿到下一个上升沿之间的时间间隔。 时钟的频率等于时钟周期的倒数。
时钟信号用于在数据传输过程中同步数字信号发送器和接收器。 比如,发送器可以在时钟信号的每个上升沿发送一个数据位,接收器可使用相同的时钟读取数据。 在这种情况下,设备的确定边沿是上升沿(从低电平到高电平)。 对于其他设备则可能是下降沿(从高电平到低电平)。 时钟的确定边沿又称为有效时钟边沿。 数字信号发送器在每个有效时钟边沿触发新的数据发送,而接收器则在每个有效时钟边沿上进行采样。 后来的设备开始同时使用时钟的上升沿和下降沿;这种设备被称为双倍数据速率传输(DDR)设备。 事实上,数据传输对于有效边沿有短暂的短延;这种延时称为 clock-to-out time。