CPRE 581 Branch Prediction Scheme Tradeoffs Back
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.