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