Use of multithreading for exception handling

Craig Zilles, Joel S. Emer, Gurindar S. Sohi

Research output: Contribution to journalArticlepeer-review

Abstract

Common hardware exceptions, when implemented by trapping, unnecessarily serialize program execution in dynamically scheduled superscalar processors. To avoid the consequences of trapping the main program thread, multithreaded CPUs can exploit control and data independence by executing the exception handler in a separate hardware context. The main thread doesn't squash instructions after the excepting instruction, conserving fetch bandwidth and allowing execution of instructions independent of the exception. This leads to earlier branch resolution in the post exception code and additional memory latency tolerance. As a proof of concept, using threads to handle software TLB misses is shown to provide performance approaching that of an aggressive hardware TLB miss handler.

Original languageEnglish (US)
Pages (from-to)219-229
Number of pages11
JournalProceedings of the Annual International Symposium on Microarchitecture
StatePublished - 1999
Externally publishedYes

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Fingerprint Dive into the research topics of 'Use of multithreading for exception handling'. Together they form a unique fingerprint.

Cite this