ACM Home Page
Please provide us with feedback. Feedback
Ginger: control independence using tag rewriting
Full text PdfPdf (199 KB)
Source
International Symposium on Computer Architecture archive
Proceedings of the 34th annual international symposium on Computer architecture table of contents
San Diego, California, USA
SESSION: Control independence and prediction table of contents
Pages: 436 - 447  
Year of Publication: 2007
ISBN:978-1-59593-706-3
Also published in ...
Authors
Andrew D. Hilton  University of Pennsylvania, Philadelphia, PA
Amir Roth  University of Pennsylvania, Philadelphia, PA
Sponsors
SIGARCH: ACM Special Interest Group on Computer Architecture
IEEE-CS : Computer Society
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 73,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1250662.1250716
What is a DOI?

ABSTRACT

The negative performance impact of branch mis-predictions can be reduced by exploiting control independence (CI). When a branch mis-predicts, the wrong-path instructions up to the point where control converges with the correct path are selectively squashed and replaced with correct-path instructions. Instructions beyond the convergence-point-the branch's control-independent (CI) instructions-are spared from squashing. Exploiting CI requires updating the input data dependences of CI instructions to reflect the selective removal and insertion of logically older instructions and transitively re-dispatching those CI instructions whose inputs have changed. This capability is generally called out-of-order renaming. Previously proposed CI designs use out-of-order renaming schemes that either consume excessive rename/dispatch bandwidth, can only be applied in limited cases, or incur a cost even when the branch would be correctly predicted.

Ginger is a CI design that is both general and bandwidth efficient. Ginger implements out-of-order renaming using tag rewriting, re-linking the input dependences of CI instructions as they sit in the window. To do this, Ginger halts the pipeline uses the idle map table read and write ports and the issue queue match lines and write lines to perform a register-tag "search-and-replace" operation. After a few cycles, the pipeline restarts and execution resumes with correct data dependences. Cycle-level simulation shows that Ginger out-performs previous CI designs, yielding geometric mean speedups over an aggressive non-CI processor of 5%, 12%, and 11%-on SPECint2000, MediaBench, and Comm-Bench-with speedups of 15% or greater on 11 of 46 programs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
 
4
5
6
 
7
 
8
9
 
10
11
 
12
 
13
 
14
15
16
17
 
18
K. Malik, K. Woley, S. Stone, M. Agarwal, V. Dhar, and M. Frank. "Confidence Based Out-of-Order Renaming for Speculatively Multithreaded Processors." Technical Report UILU-ENG-06-2208, University of Illinois, Jun. 2006.
 
19
20
21
 
22
 
23
24
 
25
 
26
27
28
29
 
30
 
31
 
32


Collaborative Colleagues:
Andrew D. Hilton: colleagues
Amir Roth: colleagues