最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

HDLBits (180) — 計數(shù)器

2022-07-26 13:56 作者:僚機Wingplane  | 我要投稿

本題鏈接:

https://hdlbits.01xz.net/wiki/Cs450/counter_2bc

分支預測器通常由程序計數(shù)器和分支歷史索引的計數(shù)器表組成。表中的每個條目通常使用兩位狀態(tài),因為一位狀態(tài)(只記住最后一個結(jié)果)沒有足夠的滯后并且太容易翻轉(zhuǎn)狀態(tài)。

兩位飽和計數(shù)器的狀態(tài)圖。 這四個狀態(tài)是強/弱采取/未采取

這個效果不錯的兩位狀態(tài)機是一個飽和計數(shù)器,它最多可以向上計數(shù)到 3(2'b11)或向下計數(shù)到 0(2'b00),但不會環(huán)回。? “taken”結(jié)果會使計數(shù)器增加,而 “not-taken” 結(jié)果會使計數(shù)器減少。 當計數(shù)為 2 或 3(2'b1x)時,將采用預測分支。 當強偏置分支偶爾采用不同的方向時,添加一些滯后可以防止預測的翻轉(zhuǎn)。在翻轉(zhuǎn)預測之前需要在相反方向上增加兩個增量。

參考

  1. ?R. Nair, "Optimal 2-bit branch predictors",?IEEE Trans. Computers, vol. 44 no. 5, May, 1995

描述

建立一個兩位飽和計數(shù)器。

當 train_valid = 1 并且?train_taken = 1 時,計數(shù)器遞增(最大為 3)。當 train_valid = 1 和 train_taken = 0 時,計數(shù)器遞減(最小為 0)。當不訓練時(train_valid = 0),計數(shù)器保持其值不變。

areset 是一個異步復位,它將計數(shù)器復位為弱不選擇 (2'b01)。 輸出?state[1:0] 是兩位計數(shù)器的值。

題目

答案

輸出波形

異步復位

向上計數(shù),然后向下計數(shù)

分支預測器(英語:Branch predictor)是一種數(shù)字電路,在分支指令執(zhí)行結(jié)束之前猜測哪一路分支將會被執(zhí)行,以提高處理器的指令流水線的性能。

條件分支指令通常具有兩路后續(xù)執(zhí)行分支。即不采取(not taken)跳轉(zhuǎn),順序執(zhí)行后面緊挨JMP的指令;以及采?。╰aken)跳轉(zhuǎn)到另一塊程序內(nèi)存去執(zhí)行那里的指令。

是否條件跳轉(zhuǎn),只有在該分支指令在指令流水線中通過了執(zhí)行階段(execution stage)才能確定下來。

如果沒有分支預測器,處理器將會等待分支指令通過了指令流水線的執(zhí)行階段,才把下一條指令送入流水線的第一個階段—取指令階段(fetch stage)。這種技術(shù)叫做流水線停頓(pipeline stalled)或者流水線冒泡(pipeline bubbling)或者分支延遲間隙。這是早期的RISC體系結(jié)構(gòu)處理器采用的應對分支指令的流水線執(zhí)行的辦法。

分支預測器猜測條件表達式兩路分支中哪一路最可能發(fā)生,然后推測執(zhí)行這一路的指令,來避免流水線停頓造成的時間浪費。如果后來發(fā)現(xiàn)分支預測錯誤,那么流水線中推測執(zhí)行的那些中間結(jié)果全部放棄,重新獲取正確的分支路線上的指令開始執(zhí)行,這招致了程序執(zhí)行的延遲。

在分支預測失敗時浪費的時間是從取指令到執(zhí)行完指令(但還沒有寫回結(jié)果)的流水線的級數(shù)?,F(xiàn)代微處理器趨向采用非常長的流水線,因此分支預測失敗可能會損失10-20個時鐘周期。越長的流水線就需要越好的分支預測。

一條條件跳轉(zhuǎn)指令第一次遇到,還沒有任何信息可以去預測分支。此后保持這條指令是采取還是不采取跳轉(zhuǎn)的歷史記錄,就可以作為再遇到這條指令時猜測最可能的分支。

飽和計數(shù)器(saturating counter)或者稱雙模態(tài)預測器(bimodal predictor)是一種有4個狀態(tài)的狀態(tài)機:

  • 強不選擇(Strongly not taken)

  • 弱不選擇(Weakly not taken)

  • 弱選擇(Weakly taken)

  • 強選擇(Strongly taken)

當一個分支命令被求值,對應的狀態(tài)機被修改。分支不采納,則向“強不選擇”方向降低狀態(tài)值;如果分支被采納,則向“強選擇”方向提高狀態(tài)值。這種方法的優(yōu)點是,該條件分支指令必須連續(xù)選擇某條分支兩次,才能從強狀態(tài)翻轉(zhuǎn),從而改變了預測的分支。

2位飽和計數(shù)器

參考內(nèi)容:

分支預測器 - 維基百科,自由的百科全書 (wikipedia.org):

https://zh.wikipedia.org/zh-cn/%E5%88%86%E6%94%AF%E9%A0%90%E6%B8%AC%E5%99%A8

Optimal 2-bit branch predictors | IEEE Journals & Magazine | IEEE Xplore:

https://ieeexplore.ieee.org/document/381956


HDLBits (180) — 計數(shù)器的評論 (共 條)

分享到微博請遵守國家法律
武清区| 上高县| 贵德县| 保靖县| 陆川县| 北流市| 桂东县| 永川市| 吴旗县| 阿克苏市| 黄骅市| 同江市| 张掖市| 杂多县| 伊宁县| 久治县| 蛟河市| 尚义县| 天气| 江油市| 南安市| 藁城市| 平和县| 西畴县| 中牟县| 任丘市| 霸州市| 江津市| 建湖县| 汤原县| 高雄县| 大厂| 东平县| 清镇市| 安义县| 孝义市| 揭阳市| 礼泉县| 报价| 蓬莱市| 泸定县|