Implementation of a Branch Predictor in the 5-Stage MIPS Pipeline
DOI:
https://doi.org/10.5753/ijcae.2017.4862Abstract
Although branch prediction has a significant impact on processor performance, computer architecture textbooks do not provide details on its implementation. This work proposes a branch predictor for the 5-stage MIPS processor following the didactic sequence of the book “Computer Organization and Design” by Hennessy and Patterson. This paper presents the concept, modeling, case enumeration, and simplified implementation with the addition of just two units and some connections inserted into the data path of the 5-stage MIPS pipeline. The proposal serves as a basis to motivate the development of extensions and implementations of other predictors, as well as to reinforce concepts on the subject.
Downloads
References
D. A. Patterson and J. L. Hennessy. Computer organization and design: the hardware/software interface. Morgan Kaufmann, 2013.
J. Penha, G. Fontes, and R. Ferreira. Mipsfpga - um simulador mips incremental com validação em fpga. International Journal of Computer Architecture Education, 5(1):19–25, 2016.
J. E. Smith. A study of branch prediction strategies. In Proceedings of the IEEE Annual Symposium on Computer Architecture, 1981.
T. Yeh and Y. N. Patt. Alternative implementations of two-level adaptive branch prediction. In ACM SIGARCH Computer Architecture News, volume 20, pages 124–134. ACM, 1992.
O. Mutlu, R. Belgard, T. R. Gross, J. L. Hennessy, Y. N. Patt, et al. Common bonds: Mips, hps, two-level branch prediction, and compressed code risc processor. IEEE Micro, 36(4):70–85, 2016.
N. Hendrich. A java-based framework for simulation and teaching: Hades—the hamburg design system. In Microelectronics Education. Springer, 2000.
R. Ferreira, J. Nacif, et al. Be a simulator developer and go beyond in computing engineering. In IEEE Frontiers in Education Conference, 2015.
R. Ferreira, J. Cardoso, and H. C. Neto. Data-driven regular reconfigurable arrays: design space exploration and mapping. In Embedded Computer Systems Architectures, Modeling and Simulation, 2005.
R. Ferreira, J. Cardoso, and H. C. Neto. An environment for exploring data-driven architectures. In Field-Programmable Logic and Applications, 2004.
P. Marwedel, K. Cong, and S. Schwenk. Ravi: Interactive visualization of information system dynamics using a java-based schematic editor. 2002.
S. McFarling. Combining branch predictors. Technical report, Tech. Report TN-36, DigitalWestern Research Laboratory, 1993.
N. Binkert, S. Sardashti, R. Sen, K. Sewell, et al. The gem5 simulator. ACM SIGARCH Computer Architecture News, 39(2):1–7, May 2011.
G Glenn Henry and Terry Parks. Static branch predictor using opcode of instruction preceding conditional branch, July 16 2002. US Patent 6,421,774.
D. Burger and T. M. Austin. The simplescalar tool set. ACM SIGARCH Computer Architecture News, 25(3):13–25, 1997.
K. Vollmar and P. Sanderson. Mars. Proc. of SIGCSE technical symposium on Computer science education, 2006.
Valgrind TM Develomers. 5. cachegrind: a cache and branch-prediction profiler.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2017 Os autores

This work is licensed under a Creative Commons Attribution 4.0 International License.
