To continue building on my knowledge of computer architecture from
CPRE 381, I took CPRE 581 Fall of 2023. In it we learned more about
computer architecture learning more in depth processor design
strategies and many architecture aspects that are common in modern
processors. Throughout it we read many research papers discussing
these concepts and as a final projects we had to continue
investigation in one of these areas.
My project group choose to look more into branch prediction.
Throughout the class we read many papers comparing the performance of
many branch prediction schemes but they never went into much detail
about the area and power costs associated with each one. This is an
important consideration as they are both a limited resource that needs
to be budgeted when designing a processor.
To complete this research we made use of Chipyard, an open source tool
for compiling a processor. We configured the BOOM core (Berkley Out Of
Order Machine) We created the various branch prediction schemes to
compare: Global, Local, GShare, Tournament, and TAGE and ran parts of
SPEC 2006 specically ASTAR, BZIP, and MCF benchmarks running on
softcore processor on a ZCU106 FPGA running FireMarshal to get the
data. Full details can be found in the project report below.
Project Report