计算机CPU体系结构以及指令流水原理介绍

1.计算机CPU的体系结构

图片来自计算机组成原理:



2.指令流水的原理

         为简单起见,把指令的处理过程分为取指令和执行指令两个阶段,在不采用指令流水技术的计算机里,取指令和执行指令是周而复始地重复出现,各条指令按顺序串行执行着,如下如所示:

取指令1 -->> 执行指令1 -->> 取指令2 -->> 执行指令2 -->> 取指令3 -->> 执行指令3 -->> ......
         上述流程中,取指令操作可由指令部件完成,执行指令的操作可由执行部件完成。进一步分析发现,这种顺序执行虽然控制简单,但执行中各部件的利用率不高,如指令部件在工作时,执行部件基本空闲,而执行部件工作时,指令部件基本空闲。

         其实,当一条指令在执行阶段,我们完全可以利用这段时间取下一条指令,这样就使取下一条指令的操作和执行当前指令的操作同时进行,这样就达到两条不同的指令可以重叠的被CPU处理,这就是指令的二级流水。如下图所示:


         为了进一步提高处理速度,可将指令的处理过程分解为更细的子阶段,如下:

(1)取指FI
从存储器取出一条指令并暂时存入指令部件的缓存区
(2)指令译码DI
确定操作性质和操作数地址的形成方式
(3)计算操作数地址CO
计算操作数的有效地址,涉及寄存器间接寻址、间接寻址、变址、基址、相对寻址等各种地址计算方式
(4)取操作数FO
从存储器中取操作数
(5)执行指令EI
执行指令所需的操作,并将结果存于目的位置(寄存器中)
(6)写操作数WO
将结果存入寄存器
          为了方便起见,假设上述各段的时间都是相等的,于是采用指令流水技术后,可形成指令六级流水时序,如下图:



3.指令流水的多种优化技术

        流水线技术是计算机系统结构产生了重大革新,为了进一步发展,处理采用好的指令调度算法、重新组织指令执行顺序、减低相关带来的干扰以及优化编译外,还可开发流水线中的多发技术,设法在一个时钟周期(机器CPU主频的倒数)内,产生更多条指令的结果。常见的多发技术有超标量(Super Scalar)技术、超流水线技术和超长指令字技术。假设处理一条指令分4个阶段,分别为取指FI、译码ID、执行EX和回写WR。下图是三种多发技术与普通的四级流水线的比较:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值