原理:内存读取一个32或64位的数(指令或者数据),要求32位同时读入,不能有先后顺序。所以仅仅靠简单的逻辑运算是做不到的。所谓的“同时读32个bit”,就需要有同一个时钟控制,在同一个上升沿或下降沿去读取,然后到下一个上升沿或下降沿前什么都不做,但是能保持住读进来的数值。
做加法的时候,就同时把2个值放到逻辑计算面前,逻辑电路则可以在电平的下一个上升沿或下降沿去做加法(或者读在上升沿,加法在下降沿)。
数值的上升沿读入,其他时间保持,就是寄存器。因为有了寄存器,保证了逻辑运算的时候,输入的1和0是稳定的,不是变化的。这就是时钟的基本作用。如果没有时钟,可能32位读入有时间顺序的差异,哪怕是纳秒的差异,也会让结果不稳定,不可预期。
如果有复杂的计算,可能需要多次读入(例如计算2个64位整数的加法),读入指令一次,读入A一次,读入B一次,相加输出再一次。每一次就是一个时钟的上升沿或下降沿操作。