Lab4 分支预测实验报告
徐煜森 PB16110173
一. 实验目标
掌握使用 BTB 和 BHT 进行分支预测的方法。
二. 实验环境和工具
环境:Windows 10
工具:Vivado 2017
三. 实验内容和过程
1. BTB
定义 BranchPC 记录分支指令的地址,PredictPC 记录分支指令跳转的地址,
valid 记录该指令上次是否跳转,BTB 总大小为 BRANCH_SIZE。
pc_addr 、 new_pc_addr 、 result_pc_addr 分 别 为 PCF 、 PCD 、 PCE 的 第
BRANCH_ADDR_LEN+1 位到第二位,因为正常对齐取指时 PC 的第 1 位和第 0 位
都是 0,因此无需记录。其中 pc_addr 用于在 IF 阶段寻址 BTB 做出分支预测;
new_pc_addr 用于在 ID 阶段寻址 BTB 添加新的分支指令;result_pc_addr 用于在
EX 阶段寻址 BTB 更新 valid 位。
评论0