假設(shè)一個(gè)四段流水線溜嗜,取指段的時(shí)間為t向臀,譯碼段的時(shí)間為t巢墅,取數(shù)段的時(shí)間為3t,執(zhí)行段的時(shí)間為t券膀。流水線示意圖如下:
為了便于計(jì)算假設(shè)取指和譯碼段總是連續(xù)執(zhí)行的君纫。流水線執(zhí)行n條指令時(shí)其執(zhí)行過程的時(shí)空?qǐng)D如下圖所示:
從圖中不難看出,第一條指令的執(zhí)行時(shí)間是6t芹彬;第二條指令在執(zhí)行時(shí)停頓了兩個(gè)周期蓄髓,第二條指令的完成時(shí)間比第一條指令的完成時(shí)間晚3t;第三條舒帮、第四條......第n條與此相同会喝。
因此,該流水線執(zhí)行n條指令的時(shí)間就是:6t+(n-1)3t
流水線的實(shí)際吞吐率就是:n/(6t+(n-1)3t)
流水線時(shí)間計(jì)算公式:一條指令所需時(shí)間+(指令條數(shù)-1)*時(shí)間最長的指令的一段
吞吐率公式:指令條數(shù) / 流水線時(shí)間