Re: [理工] 計組 BHT BTB

作者: kyuudonut (善良老百姓)   2019-01-16 13:54:12
※ 引述《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。
作者: imadog (凹嗚)   2019-01-16 15:05:00
哦哦感謝回文解釋!!謝謝~~

Links booklink

Contact Us: admin [ a t ] ucptt.com