Skip to content

请教下关于昆明湖BPU的几个问题 #3217

Answered by eastonman
lyxnevermore asked this question in Q&A
Discussion options

You must be logged in to vote
  1. 如果你说的是PhyPriorityMuxGenerator中的phyPrio的话,这个参数不是表示逻辑的优先级,是(希望)生成物理上Mux的前后顺序。写这个代码的初衷是不信任综合器,把时序比较紧张的S2级放在最后的Mux上,实际效果存疑。
  2. 是的。关于 BTB 组织形式、存储效率、多 branch 预测能力等的讨论可见 MICRO 2023 论文 Branch Target Buffer Organizations。
  3. ICache 的 cacheline 大小是 64B,因此只必须分>=2个bank,实际设计中处于功耗考虑,ICache的分bank粒度会较小,bank数会较多。
  4. 可以参考 2006 TAGE 论文,为了避免特定长度的重复 pattern 在 xor 下容易冲突的问题。(N, N-1)互质,避免冲突的效果一般较好。
  5. 主要目的并不是节省面积,speculate路径上可能出现错误的pop,可能出现pop(错误)-> pop(错误)-> push(错误),此时如果设计成栈的形式,会在错误的push上覆盖(丢失)正确的值,因此spec栈实际为队列形式,通过backlink ptr形成联系。

Replies: 1 comment 9 replies

Comment options

You must be logged in to vote
9 replies
@eastonman
Comment options

@Jerry-Tianchen
Comment options

@eastonman
Comment options

@Jerry-Tianchen
Comment options

@Jerry-Tianchen
Comment options

Answer selected by lyxnevermore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants