看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《imadog (凹嗚)》之銘言: 突然想到一個問題 請問BHT跟BTB 是位於CPU裡面嗎? 還是是memory的一部分啊~ 當然是放在 CPU 裡呀,先想清楚 BHT (Branch History Table) 跟 BTB (Branch Target Buffer) 是拿來幹嘛的吧? 如果你今天放在 Memory 裡,你預測 Branch 的 Target Address 還要過數百個 Cycles 才能拿到,那這種最佳化根本沒有用啊! - 一個很容易搞混的觀念是,很多人誤以為 BTB 一定要跟 BHT 搭配在一起, 但不是的。 BHT 主要是拿來記錄 Branch 決定的 "結果", (如果是 jump 就會是 always jump) 而 BTB 是拿來給 Instruction Fetch Unit 參考下一道指令要抓哪裡。 兩個通常都是用 PC Address 當作 index,也都是拿來盡量降低 Branch 造成的 Overhead。 -- ▁▂█▂▁茄你老木! ▁▂▁ 你這個茄子 ◤◥◤◥ 你有得茄嗎? 茄~ ˋ ˊ 你有得茄嗎? ◥◤ (因為很重要 ⊙ ⊙ 所以說兩次) ψJeans1020 ▁▂█▂▁茄你老木! ▁▂▁ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.16.173 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1547618056.A.545.html
imadog: 哦哦感謝回文解釋!!謝謝~~ 01/16 15:05