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