register renaming branch prediction and out of order issue computer architecture and engineering 9868427