CPU原理之指令映射到电路

Posted by WGrape的博客 on October 1, 2022

文章内容更新请以 WGrape GitHub博客 : CPU原理之指令映射到电路 为准

前言

本文原创,著作权归WGrape所有,未经授权,严禁转载

一、指令映射到电路

一条指令通常不是原子性的,即一条指令映射到电路上时,通常会被分解成多个操作,由不同的模块执行。

一条指令不代表只有1个操作,反而是有很多个不同的操作共同组成的。若每一条指令映射到电路上需要有3个模块电路执行,每个模块工作需要耗时1时钟,则有下图。

1、非流水线执行

image

5 条指令全部执行完,需要耗时 5(1+1+1) = 53 = 15 时钟(由于当前指令执行完,下一个指令才能执行,于是1个指令需要3个时钟,5个指令执行完共需15分钟)。

2、流水线执行

流水线技术只能提高CPU执行指令的吞吐量

image

5 条指令全部执行完,需要耗时 5+2 = 7 时钟 ( 执行5个时钟时指令1到如图位置,此时指令5已被模块1执行,指令5若被完全执行完还需要再经过2个模块共2个时钟,故共需7时钟 ) 。