Browsing by Subject "Branch-prediction"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
- PublicationOpen AccessMBPlib: Modular Branch Prediction Library(IEEE Computer Society, 2023) Dominguez-Sanchez, Emilio; Ros, Alberto; Ingeniería y Tecnología de ComputadoresBranch predictors are the hardware logic that tries to guess the outcome of a branch instruction before its execution. Currently, researchers make use of simulation tools to measure the accuracy of their predictors against hundreds of program traces. However, these simulations require multiple hours of computation time. This makes the prototyping slow and limits the ability of the researcher to test different strategies. Besides, current simulators are built as frameworks instead of libraries,in the sense that they call the user code and not the other way around. As a result, the user has no control of the program execution and they cannot optimize it for the experiment at hand. In this paper we present Modular Branch Prediction Library (MBPlib), an open-source C++ library that solves the aforementioned issues. MBPlib runs over 18.4 × faster than the current fastest framework, and its trace format uses 6.5 × less disk space. MBPlib also makes development easier by providing utilities that are typically used as subcomponents in most branch prediction designs. Moreover, the library features one of the largest collections of example implementations, including traditional as well as state-of-the-art predictors. MBPlib will allow researchers to significantly reduce the time needed for evaluation. Furthermore, by giving the option of obtaining results within seconds, as well as by means of the broad collection of examples, written in a modern and uniform code style, MBPlib can significantly decrease the barrier to entry into the field. Thus, we believe that MBPlib is also a great tool for computer architecture classes.