btb

btb是一英文單詞,多義詞,分別為btb是溴瑞香草酚藍試劑的簡稱,BTB(Branch Target Buffer )為分支目標緩衝,BTB還是《軌道構建工具》(Bob's Track Builder)的簡稱。

溴瑞香草酚藍試劑

btb溶液在變色後btb溶液在變色後
一種證明化學物質酸鹼性質的化學試劑. 化學式:C27H28O5Br2S
BTB試劑是「溴瑞香草酚藍(Bromothymol Blue)試劑」的簡稱,也叫做「溴麝香草酚蘭」試劑。
BTB試劑遇到鹼性溶液會形成藍色溶液,BTB試劑遇到酸性溶液會形成黃色溶液,遇到中性溶液呈綠色。
化學試劑中的一類。在一定介質條件下,其顏色能發生變化、能產生混濁或沉澱,以及有螢光現象等。常用它檢驗溶液的酸鹼性;滴定分析中用來指示滴定終點;環境檢測中檢驗有害物。一般分為酸鹼指示劑、氧化還原指示劑、金屬指示劑、吸附指示劑等。
用以指示滴定終點的試劑。在各類滴定過程中,隨著滴定劑的加入,被滴定物質和滴定劑的濃度都在不斷變化,在等當點附近,離子濃度會發生較大變化,能夠對這種離子濃度變化作出顯示(如改變溶液顏色,生成 沉澱等)的試劑就叫指示劑。如果滴定劑或被滴定物質是有色的,它們本身就具有指示劑的作用.

分支目標緩衝

BTB(Branch Target Buffer )分支目標緩衝
在Nehalem的指令拾取單元(instruction fetch unit)中包含有相關指令指針(relative instruction point,RIP),每個執行緒狀態(thread context)各有一個。在指令拾取單元中還包含有分支預測器,用來預測下一條將被拾取的指令的RIP。對於分支預測器的很多細節,INTEL並沒有公布,但它們是適合於工作在SMT模式的。並且Nehalem也將繼續使用上一代的那些特殊的分支預測器,比如循環檢測器(loop detector),間接預測器(indirect predictor)等。
當分支預測器選定一條分支時,分支目標緩衝(branch target buffer,BTB)就負責預測目標地址。Nehalem使用了2級BTB結構。作為參考,K10使用了一個有2K 項(entry)的BTB用於直接分支,和一個有512項的間接分支目標陣列(indirect branch target array)。Nehalem的兩級BTB設計,非常適用於有大量指令代碼的任務,例如資料庫、ERP和其它的商業套用,通過提高分支預測準確度而提升性能和能效。INTEL沒有發布詳細的內部結構。下面作出一些有依據的猜測。
有兩種可能。一是兩個BTB使用同樣的預測算法,而一個存取更小一點的歷史檔案,包含最近時間內所使用的分支RIP和目標RIP。在這種情況下,它們的關係就象L1快取和L2快取一樣(因為分支目標也具有相當好的地址相關性)。舉個例子,比如L1 BTB有256-512項,而更大的L2 BTB則有2K-8K項。如果分支RIP在L1 BTB中沒有找到,然後就到L2 BTB中去找,以作出目標預測。
另一種可能(RWT認為這種可能性比較小)則是兩級BTB使用不同的預測算法和不同的歷史檔案。比如L1 BTB使用簡單而快速的算法和相對較小的歷史檔案,而L2 BTB則使用更慢但更準確的算法,而且被配置成是具有優先權的預測器。如果L2 BTB不同意L1 BTB的預測,則它可以撤消(override)L1 BTB的預測,去除掉流水線中錯誤拾取的指令,而從新預測的RIP處重新拾取指令。這種結構可能性不大,因為它的能效比較低下。對於這種預測器架構,通常的情況是L1和L2 BTB都獨立的得出正確的分支目標——這就意味著在大多數的時間裡,L2 BTB都是在浪費能源。而L1 BTB錯誤,L2 BTB是正確的情況,只占非常小的比例。
不過在更早一點的ANANDTECH的文章中有提到認為是第二種方式:通常會遇到這樣的情況,L1 BTB作出預測是基於分支的類型,但實際上它並沒有歷史數據,這樣準確度就很低。而L2 BTB有更多的歷史數據,就可以提高準確度,而且L2 BTB可以在執行過程中就糾正(L1 BTB所給出的)錯誤預測,而避免性能損失(這就正是override的情況)。
現在不清楚哪一種觀點更正確一些。

Bob's Track Builder

BTB還是《軌道構建工具》(Bob's Track Builder)的簡稱。

相關詞條

相關搜尋

熱門詞條

聯絡我們