MICRO 27Pub Date : 1994-11-30DOI: 10.1145/192724.192731
B. R. Rau
{"title":"Iterative modulo scheduling: an algorithm for software pipelining loops","authors":"B. R. Rau","doi":"10.1145/192724.192731","DOIUrl":"https://doi.org/10.1145/192724.192731","url":null,"abstract":"Modulo scheduling is a framework within which a wide variety of algorithms and heuristics may be defined for software pipelining innermost loops. This paper presents a practical algorithm, iterative modulo scheduling, that is capable of dealing with realistic machine models. This paper also characterizes the algorithm in terms of the quality of the generated schedules as well the computational expense incurred.","PeriodicalId":150283,"journal":{"name":"MICRO 27","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120953759","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
MICRO 27Pub Date : 1994-11-30DOI: 10.1145/192724.192732
A. Eichenberger, E. Davidson, S. Abraham
{"title":"Minimum register requirements for a modulo schedule","authors":"A. Eichenberger, E. Davidson, S. Abraham","doi":"10.1145/192724.192732","DOIUrl":"https://doi.org/10.1145/192724.192732","url":null,"abstract":"Modulo scheduling is an efficient technique for exploiting instruction level parallelism in a variety of loops, resulting in high performance code but increased register requirements. We present a combined approach that schedules the loop operations for minimum register requirements, given a modulo reservation table. Our method determines optimal register requirements for machines with finite resources and for general dependence graphs. This method demonstrates the potential of lifetime-sensitive modulo scheduling and is useful in evaluating the performance of lifetime-sensitive modulo scheduling heuristics.","PeriodicalId":150283,"journal":{"name":"MICRO 27","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124032002","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
MICRO 27Pub Date : 1994-11-30DOI: 10.1145/192724.192756
E. Hao, Po-Yung Chang, Y. Patt
{"title":"The effect of speculatively updating branch history on branch prediction accuracy, revisited","authors":"E. Hao, Po-Yung Chang, Y. Patt","doi":"10.1145/192724.192756","DOIUrl":"https://doi.org/10.1145/192724.192756","url":null,"abstract":"Recent research has suggested that the branch history register need not contain the outcomes of the most recent branches in order for the Two-Level Adaptive Branch Predictor to work well. From this result, it is tempting to conclude that the branch history register need not be speculatively updated. This paper revisits this work and explains when the most recent branch outcomes can be omitted without significantly affecting performance. It also explains why this result does not imply that speculative update is not important. This paper shows that because the number of unresolved branches present in the machine varies during program execution, branch predictors without speculative update perform significantly worse than branch predictors with speculative update.","PeriodicalId":150283,"journal":{"name":"MICRO 27","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115251894","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}