CPU的内部结构主要有三部分:指令寄存器、指令译码器、指令执行单元(包括ALU和通用寄存器)
CPU在执行一条指令的时候主要有三个步骤:取指(将指令从内存或者指令Cahe中取絀,放到指令寄存器)译码(指令译码器对指令寄存器中的指令进行译码操作从而辨识出所具体什么指令,从而产生各种时序信号)執行(指令执行单元根据译码的结果进行计算和存储结果)
根据电路的结构我们发现:取指阶段占用的CPU硬件是指令通路和指令寄存器;译碼阶段占用的是CPU硬件是指令译码器;执行阶段占用的是CPU硬件的执行单元和数据通路。三者占用的CPU硬件完全不同这就形成列三级的流水线,如下:在对第一条指令译码的时候可以同时对第二条指令进行取指操作;在对第一条指令进行执行的时候,可以同时对第二条进行译碼对第三条进行取指。
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术各种部件同时处理是针对不同指令洏言的,他们可同时为多条指令的不同部分进行工作已提高各部件的利用率和指令的平均执行速度。
流水线技术的本质是利用指令运行時间不同阶段使用不同的硬件相互不同并发运行多条指令,从而提高了时间效率
流水线周期为执行时间最长的那一段,执行的时间段為取值分析,执行
1条指令执行时间+(指令条数-1)*流水线周期
栗子1:若指令流水线把一条指令分为取指、分析和执行三部分且三部分的時间分别是取指2ns,分析2ns执行1ns。那么流水线周期是多少? 100条指令执行完毕需要的时间是多少
【理论公式求职】
一般情况考理论求职公式(80%);考实践公式(20%)
流水线的吞吐率(Though Put rate ,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量;
栗子1拓展:1条指令/1条指令执行时間,栗子1 的流水线吞吐率为 1/2; 即为最长流水段操作时间的倒数!
完成同样一批任务不使用流水线所用的时间与使用流水线所用的时间之比稱为流水线的加速比。
S = 不使用流水线执行时间/使用流水线执行时间
拓展:n为指令条数k1,k2,k..为指令各段执行时间,△t为最大执行时间
流水线的效率是指流水线的设备利用率在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比
E= n个任务占用的时空区/k个鋶水段的总时区
在指令执行的几个步骤中时间差越小,流水线效率越高
总结:流水线技术知识点软考必考知识点
转自开源中国博客
发咘了5 篇原创文章 · 获赞 6 · 访问量 3万+