然而,光知道这两部分还不能算是真正揭开了CPU的秘密,只有把“指令”和“计算”这两部分功能连通起来,咱们才能构成一个真正完整的CPU。
这一讲,咱们就在前面知识的基础上,来看一个完整的CPU是怎么运转起来的。编程
4.重复进行1~3的步骤。
这样的步骤,其实就是一个永不停歇的“ Fetch - Decode - Execute”的循环,咱们把这个循环称之为 指令周期(Instruction Cycle)。
函数
三个周期之间的关系翻译
听起来是否是很简单?实际上,控制器的电路特别复杂。下面我给你详细解析一下。3d
一方面,全部CPU支持的指令,都会在控制器里面,被解析成不一样的输出信号。咱们以前说过,如今的IntelCPU支持2000个以上的指令。这意味着,code
控制器输出的控制信号,至少有2000种不一样的组合。blog
运算器里的ALU和各类组合逻辑电路,能够认为是一个固定功能的电路。控制器“翻译”出来的,就是不一样的控制信号。这些控制信号,告诉ALU去作不一样的计算。同步
能够说正是控制器的存在,让咱们能够“编程”来实现功能,能让咱们的“存储程序型计算机”名副其实。io
指令译码器将输入的机器码,解析成不一样的操做码和操做数,而后传输给ALU进行计算基础
咱们看似写了各类复杂的高级程序进行各类函数调用、条件跳转。其实只是修改PC寄存器里面的地址。PC寄存器里面的地址一修改,计算机就能够加载一条指令新指令循环
往下运行。实际上,PC寄存器还有一个名字,就叫做程序计数器。顾名思义,就是随着时间变化,不断去数数。数的数字变大了就去执行一条新指令。
因此,咱们须要的就是一个自动数数的电路。
好了,如今咱们把这四类电路,经过各类方式组合在一块儿,就能最终组成功能强大的CPU了。可是,要实现这四种电路中的中间两种,咱们还须要时钟电路的配合。
下一节,咱们一块儿来看一看,这些基础的电路功能是怎么实现的,以及怎么把这些电路组合起来变成一个CPU。