AMD Zen 3 的 BTB 结构经过优化,采用两级设计,降低了延迟。L1 BTB 容量为 1024,延迟为 1 周期;L2 BTB 容量为 6656,延迟为 4 周期。通过利用之前的 fetch block,提升了性能和容量。
AMD Zen 2 的 BTB 结构与 Zen 1 相似,但容量有所增加,具有三级 BTB(L0、L1 和 L2),容量分别为 8+8、512 和 7168 条分支。与 ARM Neoverse N1 相比,Zen 2 在 BTB 容量上占优,但延迟更长,且两者均未实现单周期预测两条分支。
AMD Zen 1 的 BTB 结构分为三级:L0 BTB 保存4条前向和4条后向分支,延迟1周期;L1 BTB 有256个条目,延迟2周期;L2 BTB 有4096个条目,延迟5周期。测试表明,分支模式对性能有影响,L2 BTB 在特定条件下表现出不同的容量。
ARM Neoverse V1的BTB结构分析显示,具有96条入口的nano BTB和8K条入口的主BTB。测试表明,nano BTB在无条件分支时每周期可预测两条分支,但在条件分支时容量减半,无法同时预测。主BTB在特定条件下存在延迟和性能瓶颈。整体来看,Neoverse V1在不同分支类型下表现复杂,存在遗留问题。
ARM Neoverse N1 处理器的 BTB 结构分析显示,Main BTB 容量为6144条,但在不同的步幅下命中率表现不一。步幅为8B时,CPI为2.75,未达到预期;步幅为16B时,CPI为2.5,显示出64KB ICache的瓶颈。整体性能受限于BTB的组相连特性和分支指令分布,导致性能波动。
Ventana公司推出了Veyron V1核心,具有8发射乱序设计和适中的时钟频率。Veyron V1采用了一些不寻常的设计决策,如巨大的单级BTB和TLB、VIVT缓存和分离的L2缓存。尽管Veyron V1在面积和性能方面有一些牺牲,但它有望成为标量整数应用领域的竞争对手。Ventana公司还计划推出V2设计。
完成下面两步后,将自动完成登录并继续当前操作。