我们买电脑时,总会被告知主频是多少,那么这个主频是做什么用的呢?
图1是一块主板,图2表示出了主板上的晶体振荡器,这个振荡器就是产生电脑主频的器件。
如何来理解这个器件的作用呢?
图3表示,计算机中很多其它的电路,都以时钟源作为输入之一,这个时钟源就是晶体振荡器产生的时钟信号,大多数时候经过倍频处理。如图4。
这个信号的频率一般都很大,比如4G,那就代表这个时钟信号每秒钟变化40亿次。
图5表示,主板上的某个集成块(D触发器)也是以CP时钟信号为输入之一。
从图6可以看出,D触发器的输出端Q的状态改变一次,需要的时间是时钟周期的若干倍。假设输出端Q的状态改变一次表示做完了某件事情,那么,图6表示的就是主板上的其它电路做完一件事情需要的时间是主频周期的若干倍。
主频的主要作用还有一个就是时序控制,这里以一个简单的例子加以说明。
假设现在要执行一条指令:MOV A, data1,这条指令的意思很简单,就是通过CPU找到内存中的某个数据data1,然后把它放到寄存器A里面。现在我们仔细想一下,要把这条指令执行完,其实应该分为以下几步:
第一步:找到这个数据在内存中的位置(地址号)。
第二步:保证这个数据可以被CPU读出(未被锁定)。
第三步:把这个数据读出来,并存入寄存器A中。
上面三步的时间顺序不能乱,否则指令执行肯定会出错。这和我们实际生活中的这个例子非常类似,假设服务员要到宾馆的某个房间登记里面客人的身份信息,同样分为三步:
第一步:找到这个客人的位置(房间号)。
第二步:客人打开房门。
第三步:登记客人信息。
为了严格保证这三步的时间顺序,计算机就采用了图8中类似的时序控制方法。
第一步,在晶振时钟的控制下,找到这个数据(data1)在内存中的位置。图8中地址行的蓝色部分表示地址信息有效,也就是数据(data1)在内存中的位置被找到了。
第二步,(data1)所在内存单元的锁被打开,允许CPU读出数据。
第三步,数据被读出。
注意三者的时间顺序,是先找到内存单元,再打开锁,最后把数据读出。
综合以上介绍,计算机主频的作用可以归纳为:
1:作为多数电路发生作用的主要参与者之一(cp作为电路输入)。
2:作为其它电路完成某个操作的时间基础(若干倍)。
3:严格控制计算机指令执行时不同操作的时间顺序(时序)。