• 深入浅出计算机组成原理学习笔记:第十七讲


    一、引子

    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。

  • 相关阅读:
    Keras入门(一)之基础篇
    Keras.layers各种层介绍
    python 深度学习
    git 与 tfs 源代码迁移工具
    使用RazorGenerator和预编译MVC引擎将Razor视图编译成DLL
    python资源
    .net Core 资源
    【ElasticSearch】win10 安装elasticSearch 6.6.1
    代码注释主要有哪几种
    html和css基础知识
  • 原文地址:https://www.cnblogs.com/luoahong/p/11330406.html
Copyright © 2020-2023  润新知