假設(shè)有一段程序的核心模塊中有五條分支指令,該模塊將會(huì)被執(zhí)行成千上萬次,在其中一次執(zhí)行過程中,五條分支指令的實(shí)際執(zhí)行情況如下(T:Taken;N:notTaken)。分支指令1(B1):T–T–T。分支指令2(B2):N–N–N–N。分支指令3(B3):T–N–T–N–T–N。分支指令4(B4):T–T–T–N–T。分支指令5(B5):T–T–N–T–T–N–T。假定各個(gè)分支指令在每次模塊執(zhí)行過程中實(shí)際執(zhí)行情況都一樣,并且動(dòng)態(tài)預(yù)測時(shí),每個(gè)分支指令都有各自的預(yù)測表項(xiàng),每次執(zhí)行時(shí)的初始預(yù)測位都相同。請給出以下幾種預(yù)測方案的預(yù)測準(zhǔn)確率。
(1)靜態(tài)預(yù)測,總是預(yù)測轉(zhuǎn)移(Taken)。
(2)靜態(tài)預(yù)測,總是預(yù)測不轉(zhuǎn)移(notTaken)。
(3)一位動(dòng)態(tài)預(yù)測,初始預(yù)測轉(zhuǎn)移(Taken)。
(4)二位動(dòng)態(tài)預(yù)測,初始預(yù)測弱轉(zhuǎn)移(Taken)。