作者kyuudonut (善良老百姓)
看板Grad-ProbAsk
标题Re: [理工] 计组 BHT BTB
时间Wed Jan 16 13:54:12 2019
※ 引述《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://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1547618056.A.545.html
1F:推 imadog: 哦哦感谢回文解释!!谢谢~~ 01/16 15:05