Characterization of Load Address Idioms with Implications for Address Prediction

dc.contributor.advisorEric Rotenberg, Committee Chairen_US
dc.contributor.advisorGregory Byrd, Committee Memberen_US
dc.contributor.advisorMehmet Ozturk, Committee Memberen_US
dc.contributor.authorForbes, John Elliotten_US
dc.date.accessioned2010-04-02T17:59:40Z
dc.date.available2010-04-02T17:59:40Z
dc.date.issued2008-12-03en_US
dc.degree.disciplineComputer Engineeringen_US
dc.degree.levelthesisen_US
dc.degree.nameMSen_US
dc.description.abstractAddress prediction is used to break the dependencies between instructions which generate addresses and the loads using those addresses. Once this dependence is removed, the load can access memory, speculatively, at an earlier time, potentially overlapping the load's execution with other computation. Address predictors take advantage of common patterns evident in the address streams of loads. Last-address, stride, and context predictors exploit constant address values, numerically increasing or decreasing address values, or arbitrary sequences of address values that repeat, respectively. These predictors perform well because programmer-defined data structures typically manifest these patterns. Current address predictors do not achieve perfect accuracy, however. To design better predictors in the future, research is needed to better understand the characteristics of address computation. This thesis provides a formal characterization of data structure accesses. My approach is to classify address computation by detecting the data structures explicitly, without relying on finding patterns in the values of the addresses themselves. With this approach, I find that, on average, about 27% of dynamic loads access global variables, 13% iterate over arrays, and 3% traverse linked data structures. These loads will be confidently predicted with last-address, stride, and context predictors, respectively. I categorize the remaining loads based on the instructions that are the sources of the backward slice of the address operand. I can then measure how many of these loads have their addresses formed in similar ways, the number and nature of instructions which are starting points of the backward slice, and the length of the backward slice. Implementable prediction mechanisms are beyond the scope of this work. However, several prediction strategies are suggested in this thesis which are based on insights gained from this address computation characterization. One approach is to detect loads that explicitly access global variables, explicitly stride through arrays, or explicitly traverse linked data structures, and steer them to the corresponding predictor (last-address, stride, or context, respectively). The remaining loads that access data structures in an arbitrary manner can be directed to a predictor that is based on trace reuse. For future work, I plan to leverage and expand this study to develop novel, accurate, and efficient address prediction mechanisms, and confidence estimators.en_US
dc.identifier.otheretd-10282008-131350en_US
dc.identifier.urihttp://www.lib.ncsu.edu/resolver/1840.16/946
dc.rightsI hereby certify that, if appropriate, I have obtained and attached hereto a written permission statement from the owner(s) of each third party copyrighted matter to be included in my thesis, dis sertation, or project report, allowing distribution as specified below. I certify that the version I submitted is the same as that approved by my advisory committee. I hereby grant to NC State University or its agents the non-exclusive license to archive and make accessible, under the conditions specified below, my thesis, dissertation, or project report in whole or in part in all forms of media, now or hereafter known. I retain all other ownership rights to the copyright of the thesis, dissertation or project report. I also retain the right to use in future works (such as articles or books) all or part of this thesis, dissertation, or project report.en_US
dc.subjectaddress predictionen_US
dc.subjectload speculationen_US
dc.subjectload classificationen_US
dc.subjectload address characterizationen_US
dc.titleCharacterization of Load Address Idioms with Implications for Address Predictionen_US

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
etd.pdf
Size:
450.43 KB
Format:
Adobe Portable Document Format

Collections