Icfp: tolerating all-level cache misses in in-order processors

Loading...
Thumbnail Image

Date

2009-04-24

Journal Title

Journal ISSN

Volume Title

Repository Usage Stats

179
views
151
downloads

Citation Stats

Abstract

Growing concerns about power have revived interest in in-order pipelines. In-order pipelines sacrifice single-thread performance. Specifically, they do not allow execution to flow freely around data cache misses. As a result, they have difficulties overlapping independent misses with one another. Previously proposed techniques like Runahead execution and Multipass pipelining have attacked this problem. In this paper, we go a step further and introduce iCFP (in-order Continual Flow Pipeline), an adaptation of the CFP concept to an in-order processor. When iCFP encounters a primary data cache or L2 miss, it checkpoints the register file and transitions into an "advance" execution mode. Miss-independent instructions execute as usual and even update register state. Missdependent instructions are diverted into a slice buffer, un-blocking the pipeline latches. When the miss returns, iCFP "rallies" and executes the contents of the slice buffer, merging miss-dependent state with missindependent state along the way. An enhanced register dependence tracking scheme and a novel store buffer design facilitate the merging process. Cycle-level simulations show that iCFP out-performs Runahead, Multipass, and SLTP, another non-blocking in-order pipeline design. © 2008 IEEE.

Department

Description

Provenance

Subjects

Citation

Published Version (Please cite this version)

10.1109/HPCA.2009.4798281

Scholars@Duke

Hilton

Andrew Douglas Hilton

Professor of the Practice in the Department of Electrical and Computer Engineering

Drew Hilton is a Professor of the Practice in Electrical and Computer Engineering, as well as Pratt’s Director of Innovation in Computing Education.

His main focus is on teaching professional-level programming skills to ECE’s master's students to prepare them for software engineering careers.

Professor Hilton also teaches a 3-week introduction to Programming Python for Duke's Master in Interdisciplinary Data Science, and Duke's Center for Computational Thinking.

He has two Coursera specializations, one in Java, and another in C.


Unless otherwise indicated, scholarly articles published by Duke faculty members are made available here with a CC-BY-NC (Creative Commons Attribution Non-Commercial) license, as enabled by the Duke Open Access Policy. If you wish to use the materials in ways not already permitted under CC-BY-NC, please consult the copyright owner. Other materials are made available here through the author’s grant of a non-exclusive license to make their work openly accessible.