In computer architecture, while branch predictions occur the branch queue1 stores data, specifically when the branch predictor predicts if the branch is taken or not, the branch queue stores the predictions to be used later.
A branch queue consists of only two values: taken or not taken.
A branch queue helps other algorithms to increase parallelism and optimization. It is not software implemented or hardware one; it falls under hardware software co-design.
References
References
- Sheikh, R.; Tuck, J.; Rotenberg, E. (2015-08-01). "Control-Flow Decoupling: An Approach for Timely, Non-Speculative Branching". IEEE Transactions on Computers. 64 (8): 2182–2203. doi:10.1109/TC.2014.2361526. ISSN 0018-9340. S2CID 14134607.