解釋一下為什麼tomasulo演算法消除了war和waw冒險

2023-01-05 23:35:58 字數 2039 閱讀 1885

1樓:匿名使用者

tomasulo演算法是由robert tomasulo 設計的,因而以他的名字命名。ibm360/91機器中的浮點部件首先採用了這種方法。其核心思想是:

記錄和檢測指令相關,運算元一旦就緒就立即執行,把發生raw(寫後讀)衝突的可能性減少到最少。通過暫存器換名來消除war(讀後寫)和waw(寫後寫)衝突。

2樓:匿名使用者

您好,我看到您的問題很久沒有人來回答,但是問題過期無人回答會被扣分的並且你的懸賞分也會被沒收!所以我給你提幾條建議:一,你可以選擇在正確的分類下去提問,這樣知道你問題答案的人才會多一些,回答的人也會多些。

二,您可以到與您問題相關專業**論壇裡去看看,那裡聚集了許多專業人才,一定可以為你解決問題的。三,你可以向你的網上好友問友打聽,他們會更加真誠熱心為你尋找答案的,甚至可以到相關**直接搜尋.四,網上很多專業論壇以及知識平臺,上面也有很多資料,我遇到專業性的問題總是上論壇求解決辦法的。

五,將你的問題問的細一些,清楚一些!讓人更加容易看懂明白是什麼意思!謝謝採納我的建議!!

解釋一下為什麼tomasulo演算法消除了war和waw冒險

3樓:匿名使用者

為了避免war和waw帶來的流水線停頓產生氣泡。詳見tomasulo演算法,指令在發射前分配一個rs和一個rob項(這個就是動態暫存器重新命名),執行後的結果會臨時寫在rob中,等到該指令前的所有指令執行完畢,retire時再寫回到arf。所以你看,結果是臨時寫回rob中,即使多條指令寫回到同一個暫存器也不受影響,因為不同的指令結果是寫在不同的rob中的。

當然解決raw也有相應的旁路/**技術,也是tomasulo演算法中的一部分。

tomasulo演算法的*war和waw

4樓:

war,waw實質是命名衝突,而不存在資料依賴。因此通過「換名」即可消除。

例如: s1: multd f4,f2,f2s2:

 addd f2,f0,f6看似addd的輸出因與multd輸入共用f2,需要等待s1 read後s2才能write(war)。但如果作如下修改即可 s1:multd f4,f2,f2s2:

 addd f8,f0,f6對於waw,例如 s1: addd f0,f2,f4s2: multd f2,f6,f8s3:

 multd f10,f0,f2s4: addd f0,f12,f14s1,s4都寫入f0,而中間s3將f0作為輸入。

那麼s4先運算完後,寫入f0,而s3的輸入由s1的輸出(存於保留站中)提供即可。

結果從rs 直接到fu,無需通過暫存器,而是通過公共資料匯流排(common data bus)把結果廣播到所有fu

裝入(load)和儲存(stores)也象其他功能部件一樣使用保留站

到底誰能告訴我很多程式都修改暫存器的值為什麼不會亂套,誰能告訴我!

5樓:匿名使用者

只要你不是寫彙編**,暫存器對你就基本是透明的,c中的暫存器變數另當別論。哪個變數存放在暫存器還是快取或者記憶體上完全不由你決定。

高階語言編譯成機器碼指令。每條指令在被執行期間所用到的暫存器有一些是禁止修改或者禁止訪問的,這是硬體自身保證程式執行結果正確所設計的。

具體可以瞭解:cpu避免waw,war,raw所做的特別設計和亂序處理器設計用到的tomasulo演算法等等。

至於兩個程式同是執行不影響,這個算是虛擬記憶體技術起作用

為什麼tomasulo演算法消除了war和waw冒險

6樓:妲思天

為了避免war和waw帶來的流水線停頓產生氣泡。詳見tomasulo演算法,指令在發射前分配一個rs和一個rob項(這個就是動態暫存器重新命名),執行後的結果會臨時寫在rob中,等到該指令前的所有指令執行完畢,retire時再寫回到arf。所以你看,結果是臨時寫回rob中,即使多條指令寫回到同一個暫存器也不受影響,因為不同的指令結果是寫在不同的rob中的。

當然解決raw也有相應的旁路/**技術,也是tomasulo演算法中的一部分。

各路大神請幫忙解釋一下。為什麼在matlab裡這兩個for循

不可能出現這種情況,除非.迴圈之前n已經被賦值了,第一句 clear all 試試 求助!matlab中的for語句,為什麼我明明要求a的變化間隔是0.1,結果中的a卻不是呢?結果中的a是根據你的0.1的間隔逐漸增加的呀,一直增加到53,也包括53.所以最後的a是53.執行的結果也是53呀。如果fo...

c語言大神賜教解釋一下為什麼劃線句是

首先你要看懂baip相當du於a,p i j 相當於a i j 接下來就 zhi簡單了 i 0,j 0,k k a 0 0 k 1 i 0,j 1,k k a 0 1 k 1 3 4 i 1,j 0,k k a 1 0 k 4 9 13 對應你dao畫線版那一句!i 1,j 1,k k a 1 1 ...

幫忙解釋一下,幫忙解釋一下

1,不可能同時測得其動能和動量,即不可能同時知道速度方向和大小 2,任何觀察者的觀察行為都會導致量子波函式的坍縮,量子躍遷到較低能量級,脫離其實際的樣子 3,量子同時滿足波和物質的性質 物質波和絃論由此引出 幫忙解釋一下 a選項兩物體如果是同樣的球體,則一定會帶等量電荷,否則會跟兩個物體的材質 形狀...