| Article ID: | iaor20041402 |
| Country: | United Kingdom |
| Volume: | 5 |
| Issue: | 5 |
| Start Page Number: | 413 |
| End Page Number: | 424 |
| Publication Date: | Sep 2002 |
| Journal: | Journal of Scheduling |
| Authors: | Knijnenburg P.M.W., Kisuki T., Corporaal H. |
Modern superscalar processors highly depend on efficient branch prediction to exploit a large amount of instruction level parallelism. However, it is known that branch prediction accuracy is degraded when process switches are present. At the same time, multithreading architectures are considered a good approach to increase the total throughput. In multithreading architectures, however, the process switch rate is very high and even a second level cache miss causes a process switch. In such an environment, branch prediction is severely degraded. In this paper, we propose a hardware technique to reduce the impact of process switches. This technique consists of adding a cache to store the branch history register on a process switch. We show that this scheme reduces the impact of process switches significantly especially when process switches occur very frequently.