?小型流水線處理方式是一種時(shí)間重疊并行處理的處理技術(shù),具體地說,就是流水線可以在同一個(gè)時(shí)間啟動(dòng)2個(gè)或以上的操作,借此來提高性能。為了實(shí)現(xiàn)這一點(diǎn),小型流水線必須要時(shí)時(shí)保存暢通,讓任務(wù)充分流水,但在實(shí)際中,會(huì)出現(xiàn)2種情況使流水線停頓下來或不能啟動(dòng):
?
1、多個(gè)任務(wù)在同一時(shí)間周期內(nèi)爭(zhēng)用同一個(gè)流水段。例如,假如在指令流水線中,如果數(shù)據(jù)和指令是放在同一個(gè)儲(chǔ)存器中,并且訪問接口也只有一個(gè),那么,兩條指令就會(huì)爭(zhēng)用儲(chǔ)存器;在一些算數(shù)流水線中,有些運(yùn)算會(huì)同時(shí)訪問一個(gè)運(yùn)算部件。
2、數(shù)據(jù)依賴。比如,A運(yùn)算必須得到B運(yùn)算的結(jié)果,但是,B運(yùn)算還沒有開始,A運(yùn)算動(dòng)作就必須等待,直到B運(yùn)算完成,兩次運(yùn)算不能同時(shí)執(zhí)行。
解決方案:
第一種情況,增加運(yùn)算部件的數(shù)量來使他們不必爭(zhēng)用同一個(gè)部件;
第二種情況,用指令調(diào)度的方法重新安排指令或運(yùn)算的順序。