BTB基本原理
美食食谱
基本原理⽐较清晰易懂,但是存在⼀个较⼤的问题,Buffer太⼤,会浪费相当多的存储资源,体现在两个⽅⾯:
防盗门十大品牌1. Buffer 每⼀项位宽太宽:Enrty PC和target PC位宽都是32。
2. Buffer中的PC⾼位存在冗余:对于branch指令,跳转范围有限,地址⾼位(页号部分)通常不会改变
考驾照要体检吗为了解决这个问题,Rocket Chip中重新设计了下⾯这种⽅案:
BTB Register Model无独有偶的近义词
与基本原理图最明显的区别在于:
1. idx不作为buffer的⼊⼝地址,⽽是与全相联的idxs逐⼀⽐对形成独热码idxHit
2. BTB 与页号(图中pages即页号)分离存储,BTB中通过指针指向对应页号(图中红⾊弧线:idxPages、tgtPages为指向pages的指针) 1.1 PC划分
在Rocket Core中,PC切分⽅式如下:
Rocket Core中PC划分⽅式
根据Rocket Generator配置不同,PC位宽为32或39,主要分为了三部分
童话故事书有哪些
1. coreInstBytes:指令字节,由于使⽤压缩指令(2字节), 对齐位1bit阅读阅读
2. idx(tgt),idx不作为⼊⼝地址(代码中tgt、target也对应此字段)
入庐山3. page,即页号
>付费问答