This page contains a description of the funded projects for which David Whalley is a principal investigator. The publications listed for each project are only those that are directly related to the project's goals.
An instruction register file (IRF) can be used to hold the most frequently occurring instructions within an application. The instructions in the IRF can be referenced by a single packed instruction in ROM or a L1 instruction cache (IC). Use of an IRF can decrease code size due to referencing multiple IRF instructions within a packed instruction, reduce energy consumption since a 32 entry IRF requires much less power to access than a L1 IC, and reduce execution time due to a smaller footprint in the IC and the ability to execute instructions during an IC miss. In this project we are evaluating compiler and architectural techniques to address limitations on the number of packed instructions and how an IRF can be used to complement other compiler optimizations and architectural features that save energy and reduce code size. This is a collaborative project with Gary Tyson at Florida State University, sponsored by NSF from 09/06 to 08/09.
Predicting the WCET (worst-case execution time) of tasks is needed for real-time systems. One issue that limits the set of applications whose WCET can be predicted is determing the worst-case number of iterations that each loop will iterate. We are developing a timing analyzer that can predict the WCET of applications where the number of loop iterations is known at run-time. Rather than predicting a constant number of cycles, we will instead produce a WCET formula, which can be quickly evaluated at run-time to support dynamic scheduling decisions. We have also integrated a timing analyzer with a compiler to support the development of compiler optimizations to decrease WCET. This is a collaborative project with Chris Healy at Furman University and Frank Mueller at North Carolina State University, sponsored by NSF from 09/03 to 08/06.
Conditional branches are expensive since they are frequently executed, consume cycles, and can be mispredicted which can cause pipeline stalls. We are investigating how to reduce the number of executed branches by merging branch conditions. This is a collaborative project with Mark Bailey at Hamilton College and Robert van Engelen and Xin Yuan at Florida State University, sponsored by NSF from 09/02 to 08/05.
VISTA (Vpo Interactive System for Tuning Applications) allows embedded application developers to interact with a low-level compiler to tune their code. Features include visualization of the program representation, selecting the order and scope of compiler optimizations, entering code-improving transformations by hand, automatic selection of optimization phase sequences according to specified performance criteria, and undoing of previously applied transformations. This is a collaborative project with Jack Davidson at University of Virginia, Doug Jones at University of Illinois-Champaign, and Kyle Gallivan at Florida State University, sponsored by NSF from 10/00 to 09/05.
Embedded applications are often developed entirely or partially in assembly code. In this project we investigated techniques for validating both manually and automatic code-improving transformations. This was a collaborative project with Robert van Engelen and Xin Yuan at Florida State University, sponsored by NSF from 09/99 to 08/03.
This project involved the development of optimization techniques that can be used on large applications. This was a collaborative project with Rajiv Gupta at University of Arizona, Lori Pollack at University of Delaware, and Mary Lou Soffa at University of Pittsburgh, sponsored by NSF from 10/98 to 09/02.
Predicting the worst-case execution time (WCET) of tasks is required for real-time systems. This project involved the development of a timing analysis techniques that could automatically predict the WCET of programs in the presence of modern architectural features such as caches and pipelines. This was a collaborative project with Marion Harmon at Florida A&M University, sponsored by ONR from 10/93 to 09/96.