The use of multithreading for exception handling

The use of multithreading for exception handling
复制标题

使用多线程进行异常处理

DOI:
--
复制
发表时间:
1999
期刊:
MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture
影响因子:
--
通讯作者:
G. Sohi
G. Sohi
中科院分区:
--
文献类型:
--
作者:
C. Zilles;J. Emer;G. Sohi

文献摘要

被引文献

相似文献

常见的硬件异常在通过陷阱实现时,会不必要地序列化动态调度的超标量处理器中的程序执行。为了避免捕获主程序线程的后果,多线程CPU可以通过在单独的硬件上下文中执行异常处理程序来利用控制和数据独立性。主线程不会挤压异常指令之后的指令,从而节省了获取带宽,并允许独立于异常执行指令。这会导致POST异常代码中更早的分支解析,以及额外的内存延迟容忍度。作为概念证明,使用线程来处理软件TLB未命中被显示为提供接近于主动硬件TLB未命中处理程序的性能。
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.