{"title":"Emμcode: Masking hard faults in complex functional units","authors":"N. Weaver, J. H. Kelm, M. Frank","doi":"10.1109/DSN.2009.5270304","DOIUrl":null,"url":null,"abstract":"This paper presents Emμcode, a technique for masking hard faults in modern microprocessors that provides graceful performance degradation. Emμcode employs microcode traces with control flow that replace an original instruction once a fault is detected. Emμcode adds lightweight microarchitectural hardware to assist in correcting hard faults in larger structures, such as SIMD execution units found in contemporary microprocessors, where replication is infeasible. Key challenges in implementing microcode traces include maintaining proper architectural state and the optimization of trace code. We are able to significantly optimize traces by exploiting dynamic trace behavior and by performing minor modifications to the microarchitecture. We find that removing hard to predict branches is important for optimizing traces. Emμcode uses partial predication, new microcode operations, and the full use of the microcode's flexibility and visibility to create fast traces. This paper studies the viability of implementing SIMD floating point arithmetic operations found in modern x86 processors using Emμcode traces. Our results show that for programs with 1 to 5 percent of the dynamic instructions replaced by Emμcode, a graceful performance degradation of only 1.3x to 4x is achievable.","PeriodicalId":376982,"journal":{"name":"2009 IEEE/IFIP International Conference on Dependable Systems & Networks","volume":"35 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 IEEE/IFIP International Conference on Dependable Systems & Networks","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DSN.2009.5270304","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
This paper presents Emμcode, a technique for masking hard faults in modern microprocessors that provides graceful performance degradation. Emμcode employs microcode traces with control flow that replace an original instruction once a fault is detected. Emμcode adds lightweight microarchitectural hardware to assist in correcting hard faults in larger structures, such as SIMD execution units found in contemporary microprocessors, where replication is infeasible. Key challenges in implementing microcode traces include maintaining proper architectural state and the optimization of trace code. We are able to significantly optimize traces by exploiting dynamic trace behavior and by performing minor modifications to the microarchitecture. We find that removing hard to predict branches is important for optimizing traces. Emμcode uses partial predication, new microcode operations, and the full use of the microcode's flexibility and visibility to create fast traces. This paper studies the viability of implementing SIMD floating point arithmetic operations found in modern x86 processors using Emμcode traces. Our results show that for programs with 1 to 5 percent of the dynamic instructions replaced by Emμcode, a graceful performance degradation of only 1.3x to 4x is achievable.