1、第5章 指令系统5.4指令的执行指令的执行 指令所组成的机器语言程序,在执行前一般存放在主存。执行时,CPU内的指令部件硬件从程序入口地址开始,逐条取出指令并执行。5.4.1指令部件指令部件 指令部件包括程序计数器、指令寄存器、指令译码器。(1)程序计数器PC(Program Counter),又称指令指针IP(Instruction Pointer),用来提供读取指令的地址。有些计算机中PC存储当前正在执行的指令的地址,而有些计算机中PC用来存放即将执行的下一条指令的地址。PC具有置数和增量计数功能。(2)指令寄存器IR(Instruction Register),用于存放当前正在执行的指令
2、代码。(3)指令译码器ID(Instruction Decode),对指令的操作码部分进行分析解释,产生相应的控制电位发送给控制逻辑电路。指令部件完成计算机取指令的功能,属于控制器的一部分。5.4.2指令的执行方式(1)指令顺序执行 程序中的指令一条接一条地顺序串行执行,每条指令执行时,内部的操作也是顺序串行执行的。一条指令的执行,一般分为取指令、分析指令和执行指令三个基本步骤。(2)指令流水 每条指令执行时不同阶段的操作涉及到的硬件不一样,所以多条指令可以同时运行。比如第i条指令在分析指令阶段,第i+1条指令可以进行取指令阶段,这两个阶段是同时进行的,从而一串指令的完成时间缩短。将指令执行的
3、每一步对应相应的流水线段来完成,就构成一条指令流水线。5.4.2指令的执行方式 例5-6如一条指令流水线由5段组成,每段涉及到的硬件不相同。s1段:由Cache和主存取指令。s2 段:由指令译码器对指令进行译码。s3段:由寻址部件进行地址计算,读取操作数。s4段:由执行机构完成指定运算或操作。s5段:运算结果写入目的操作数。设每段执行时间为1个时钟周期。若有4条指令要执行,比较非流水线执行和流水线执行的执行周期。5.4.2指令的执行方式 解:1)非流水线执行时,每条指令5段顺序执行,4条指令顺序执行,则总共需要20个时钟周期。指令执行示意如图5-5。5.4.2指令的执行方式 2)流水线执行时,将指令间的不同段重叠执行,总共只需要8个时钟周期。流水线执行示意如图5-6。5.4.2指令的执行方式(3)指令发射 指令发射是指启动指令进入执行的过程。指令发射策略对于充分利用指令级的并行度,提高处理器性能十分重要。按程序指令的次序发射指令,称为按序发射。为改善流水线性能,可以将有的指令推后发射,有的指令提前发射。不按程序原次序发射指令,称为乱序发射或无序发射。Pentium处理器采用的是按序发射按序完成策略。Pentium II/III采用的是按序发射、无序完成策略。