James E. Smith
1999 Eckert-Mauchly Award Recipient
"For fundamental contributions to high performance micro-architecture, including saturating counters for branch prediction, reorder buffers for precise exceptions, decoupled access/execute architectures, and vector supercomputer organization memory, and interconnects."
Twenty years ago, a microprocessor with 100,000 transistors could execute the instructions of a program one at a time, taking tens of clock cycles. Today, microprocessors hold tens of millions of transistors and execute multiple instructions in a single clock cycle. Smith's work contributed innovations in computer architecture that made possible this improvement to instruction processing rates.
Determining which instructions to process is key to processing instructions at a high rate. Programs typically have elaborate decision making structures (or branch instructions) that determine which parts of the program should be executed. In high-performance computing, instruction processing cannot wait for the outcome of a branch to be known. Smith's 1981 paper "A Study of Branch Prediction Strategies" and related patent "Branch Predictor Using Random Access Memory" were the first publications targeted specifically at techniques for overcoming the performance limitations of branch instructions. Microprocessor designers began to put these techniques into practice in the 1990s. Today, almost every microprocessor makes use of branch prediction methods built on the fundamental methods described in Smith's paper and patent.
Another strategy used to improve processing rate is out-of-order instruction processing. Instructions are processed in the order their input operands are available, and not in the order they occur in the program. This improves the processing rate but creates problems for software and debugging. Smith's article "Implementation of Precise Interrupts in Pipelined Processors" was the first publication to describe a series of techniques that would give the appearance of sequential execution even though the actual instruction execution order was very different. One of these techniques, the Reorder Buffer, is now the standard used by modern microprocessors.
Smith earned his BS, MS and PhD in electrical and computer engineering from the University of Illinois in 1972, '74 and '76 respectively. He joined the ECE faculty in 1976 and took leaves of absence to work in industry between 1979 -'81 and 1984-'89.