Study of Register Value Branch Predictor Based on CNN
Source abstract
Abstract
In modern processor architecture, a branch predictor is an important module whose design influences the performance of the processor. Nowadays, the factors affecting the performance of branch predictors have changed from common branches to hard-to-predict branches, which rarely show up but have low prediction accuracy. In particular, the data-related branches are a difficult problem to be handled by the current predictors. In this paper, we continue to study Zangeneh’s BranchNet CNN neural network branch predictor to explore the solution. Due to the observation that some data-related branches are associated with register values, we add BranchNet, a sub-network that handles register values in the offline training phase and modify the above sub-network according to the feedback from the preliminary experiments by adjusting the network parameters and redesigning the network structure. Through that process, it can better learn the relationship between register values and branch results. The experiments were carried out on the SPEC 2017 integer benchmarks. The network was trained and validated on the top five H2P branches of all benchmarks. The results show that the addition of register information reduces the MPKI rate of the top five H2P branches on average, compared to the BranchNet, by 17.32%. Analyzing the results, we find that the network with the addition of register value information has significantly improved the prediction accuracy of certain H2P branches, indicating that the addition of register values is effective in H2P branch prediction.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Image Processing and 3D Reconstruction · Advanced Decision-Making Techniques · Advanced Computational Techniques and Applications
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Microelectronics Research & Development Center, School of Mechatronic Engineering and Automation, Shanghai University, Shanghai 200444, China
References (24)
Show source-provided references
1. Kessler, R.E., McLellan, E.J., and Webb, D.A. (1998, January 5–7). The Alpha 21264 microprocessor architecture. Proceedings of the International Conference on Computer Design. VLSI in Computers and Processors (Cat. No. 98CB36273), Austin, TX, USA.
2. Design tradeoffs for the Alpha EV8 conditional branch predictor10.1145/545214.545249 ↗
3. McFarling, S. (1993). Combining Branch Predictors, Western Research Laboratory. Technical Report TN-36; Technical Report.
4. Kulkarni, K.N., and Mekala, V.R. (2024, February 23). A Review of Branch Prediction Schemes and a Study of Branch Predictors in Modern Microprocessors. Available online: https://www.researchgate.net/publication/266891966.
5. Seznec, A. (2024, February 23). TAGE-SC-L Branch Predictors. In JILP-Championship Branch Prediction. Available online: https://inria.hal.science/hal-01086920/.
6. Lin, C.K., and Tarsa, S.J. (2019). Branch prediction is not a solved problem: Measurements, opportunities, and future directions. arXiv.10.1109/IISWC47752.2019.9042108 ↗
7. Zangeneh, S., Pruett, S., Lym, S., and Patt, Y.N. (2020, January 17–21). Branchnet: A convolutional neural network to predict hard-to-predict branches. Proceedings of the 2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Athens, Greece.10.1109/MICRO50266.2020.00022 ↗
8. Michaud, P. (2005). A PPM-like, tag-based branch predictor. J. Instr.-Level Parallelism, 7.
9. An alternative tage-like conditional branch predictor10.1145/3226098 ↗
10. Branch Predictor Design for Energy Harvesting Powered Nonvolatile Processors10.1109/TC.2023.3339977 ↗
11. Jiménez, D.A., and Lin, C. (2001, January 19–24). Dynamic branch prediction with perceptrons. Proceedings of the HPCA Seventh International Symposium on High-Performance Computer Architecture, Monterrey, Mexico.
12. Jiménez, D.A. (2003, January 5). Fast path-based neural branch prediction. Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO-36, San Diego, CA, USA.
13. A study on deep belief net for branch prediction10.1109/ACCESS.2017.2772334 ↗
14. Exploring convolution neural network for branch prediction10.1109/ACCESS.2020.3017196 ↗
15. A dynamic branch predictor based on parallel structure of SRNN10.1109/ACCESS.2020.2992643 ↗
16. Improving branch prediction by combining perceptron with learning vector quantization neural network in embedded processor
17. A neural network-based approach for the performance evaluation of branch prediction in instruction-level parallelism processors10.1007/s11227-021-04045-3 ↗
18. BATAGE-BFNP: A High-Performance Hybrid Branch Predictor with Data-Dependent Branches Speculative Pre-execution for RISC-V Processors10.1007/s13369-022-07593-9 ↗
19. Villon, L.A., Susskind, Z., Bacellar, A.T., Miranda, I.D., de Araújo, L.S., Lima, P.M., Breternitz, M., John, L.K., França, F.M., and Dutra, D.L. (2023). A conditional branch predictor based on weightless neural networks. Neurocomputing, 555.10.1016/j.neucom.2023.126637 ↗
20. Tarsa, S.J., Lin, C.K., Keskin, G., Chinya, G., and Wang, H. (2019). Improving branch prediction by modeling global history with convolutional neural networks. arXiv.
21. Amaral, J.N., Borin, E., Ashley, D.R., Benedicto, C., Colp, E., Hoffmam, J.H.S., Karpoff, M., Ochoa, E., Redshaw, M., and Rodrigues, R.E. (2018, January 2–4). The alberta workloads for the spec cpu 2017 benchmark suite. Proceedings of the 2018 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), Belfast, UK.10.1109/ISPASS.2018.00029 ↗
22. Chen, L., Dropsho, S., and Albonesi, D.H. (2003, January 12). Dynamic data dependence tracking and its application to branch prediction. Proceedings of the Ninth International Symposium on High-Performance Computer Architecture, HPCA-9 2003, Anaheim, CA, USA.
23. Pruett, S., and Patt, Y. (2021, January 18–22). Branch runahead: An alternative to branch prediction for impossible to predict branches. Proceedings of the MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture, Athens, Greece.10.1145/3466752.3480053 ↗
24. (2024, February 23). Branchnet with Register Value. Available online: https://github.com/chnjstyj/branchnet_with_register_value.