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