Neural network based branch prediction unit in modern microprocessors


For the modern microprocessors, as pipelines get deeper, or issuing rate gets higher, the penalty imposed by branching instructions gets larger. To reduce this penalty, branch prediction is used. Branch prediction unit is an important part of modern processor architectures. Its responsibility is to predict whether branches will be taken or not taken before they are actually executed.The application of ANNs have been considered in this work as a good alternative for solving the problem of branch prediction. Single and multilayer preceptron neural nets have been used to design a new branch predictor. The designed neural nets have been tested for different applications.A comparative analysis and study have been carried out with the other known prediction techniques. The achieved results show very high prediction accuracy.The prediction accuracy rates are calculated for different types of neural predictors and conventional predictors. It has been concluded that the neural predictors are better than conventional predictors, but in the other side, when using adaptive techniques, the neural predictors are comparable to conventional two-level predictors with the same size of input. Regarding the same hardware budget, neural predictors are the best, but they might take more time for computing branch prediction than conventional predictors.


Neural network