计算机组成原理:建立数据通路

我们知道,CPU= 指令 + 运算。只有把“指令”和“运算”这两部分联通起来,才能构成一个完整的CPU

指令周期

计算机每执行一条指令的过程,可以分解成这样几个步骤:

  • Fetch(取得指令):也就是从PC寄存器里找到对应的指令地址,根据指令地址从内存里把具体的指令,加载到指令寄存器中,然后把PC寄存器自增,好在未来执行下一条指令。
  • Decode(指令译码):也就是根据指令寄存器里面的指令,解析成要进行什么样的操作,是R、I、J中的哪一种指令,具体要操作哪些寄存器、数据或者内存地址
  • Execute(执行指令):也就是实际运行对应的R、I、J这些特定的指令,进行算术逻辑操作、数据传输和直接的跳转地址。
  • 重复进行上面三个步骤

这样的步骤,其实就是一个永不停歇的Fetch-Decode-Execute的循环,我们把这个循环称之为指令周期

在这里插入图片描述
在这个循环过程中,不同部分其实是由计算机中的不同组件完成的。

  • 在取指令的阶段,指令是放在存储器里的。实际上,通过PC寄存器和指令寄存器取出指令的过程,是由控制器(control unit)操作的
  • 指令解码的过程,也就由控制器进行的
  • 一旦到来执行指令的计算,无论是算术操作、逻辑操作的R型指令,还是进行数据传输、条件分支的I型指令,都是有算术逻辑单元(ALU)操作的,也就是由运算器处理的
  • 不过,如果是一个简单的无条件地址跳转,可以直接在控制器里面完成,不需要用到计算器
    在这里插入图片描述

除了Instruction Cycle这个指令周期,在CPU里面还有两个常见的cycle。

  • Machine Cycle,机器周期/CPU周期
    • CPU内部的操作速度很快,但是访问内存的速度却要慢很多。
    • 每一条指令都需要从内存里面加载而来,所以一般把从内存里面读取一条指令的最短时间,叫做CPU周期
  • Clock Cycle,时钟周期/主频
    • 一个CPU周期,通常由几个时钟周期累积起来
    • 一个CPU周期的时间,就是这几个clock cycle的总和

对于一个指令周期来说,我们取出一条指令,然后去执行它,至少需要两个CPU周期。取出指令至少需要一个CPU周期,执行至少也需要一个CPU周期,复杂的指令需要更多的CPU周期。
在这里插入图片描述
所以,一条指令周期,包含多个CPU周期;一个CPU周期,包括多个时钟周期

建立数据通路

一般来说,我们可以认为,数据通路就是我们的处理器单元。它通常由两类原件组成:

  • 第一类叫做操作元件,也叫做组合逻辑元件件(Combinational Element),其实就是ALU。ALU的功能就是在特定的输入下,根据组合电路的逻辑,生成特定的输出
  • 第二类叫做存储元件,也叫做状态元件(State Element)。比如我们在计算过程中需要用到的寄存器,无论是通用寄存器还是状态寄存器,其实就是存储元件

我们通过数据总线的方式,把它们连接起来,就可以完成数据的存储、处理和传输了,也就是所谓的建立数据通路了

控制器

我们可以把它看成只是机械的重复“Fetch - Decode - Execute“循环中的前两个捕捉,然后把最后一个步骤,通过控制器产生的控制信号,交给ALU去处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值