深入浅出计算机组成原理学习笔记:建立数据通路(上)-指令more运算=CPU(第17讲)

倖福魔咒の 提交于 2019-11-26 19:06:11

一、引子

1、指令

2、计算

然而,光知道这两部分还不能算是真正揭开了CPU的秘密,只有把“指令”和“计算”这两部分功能连通起来,我们才能构成一个真正完整的CPU。
这一讲,我们就在前面知识的基础上,来看一个完整的CPU是怎么运转起来的。

二、指令周期

1、计算机每执行一条指令的过程

4.重复进行1~3的步骤。
这样的步骤,其实就是一个永不停歇的“ Fetch - Decode - Execute”的循环,我们把这个循环称之为 指令周期(Instruction Cycle)。

 

2、什么是指令周期

3、不同步骤在不同组件之内完成

 

三个周期之间的关系

 

4、CPU周期

5、时钟周期

三、建立数据通路

1、第一类操作元件

2、第二类存储元件

3、什么是数据通路

4、控制器

听起来是不是很简单?实际上,控制器的电路特别复杂。下面我给你详细解析一下。

 

一方面,所有CPU支持的指令,都会在控制器里面,被解析成不同的输出信号。我们之前说过,现在的IntelCPU支持2000个以上的指令。这意味着,

控制器输出的控制信号,至少有2000种不同的组合。

 

运算器里的ALU和各种组合逻辑电路,可以认为是一个固定功能的电路。控制器“翻译”出来的,就是不同的控制信号。这些控制信号,告诉ALU去做不同的计算。

可以说正是控制器的存在,让我们可以“编程”来实现功能,能让我们的“存储程序型计算机”名副其实。

指令译码器将输入的机器码,解析成不同的操作码和操作数,然后传输给ALU进行计算

四、CPU所需要的硬件电路

1、ALU

2、寄存器

3、自动数数的电路

我们看似写了各种复杂的高级程序进行各种函数调用、条件跳转。其实只是修改PC寄存器里面的地址。PC寄存器里面的地址一修改,计算机就可以加载一条指令新指令

往下运行。实际上,PC寄存器还有一个名字,就叫作程序计数器。顾名思义,就是随着时间变化,不断去数数。数的数字变大了就去执行一条新指令。

所以,我们需要的就是一个自动数数的电路。

4、译码器

 五、总结延伸

好了,现在我们把这四类电路,通过各种方式组合在一起,就能最终组成功能强大的CPU了。但是,要实现这四种电路中的中间两种,我们还需要时钟电路的配合。

下一节,我们一起来看一看,这些基础的电路功能是怎么实现的,以及怎么把这些电路组合起来变成一个CPU。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!