Abstract
The instruction sets of general-purpose microprocessors are designed to offer good performance across a wide range of programs. The size and complexity of the instruction sets, however, are limited by a need for generality and for streamlined implementation. The particular needs of one application are balanced against the needs of the full range of applications considered. For this reason, one can “design” a better instruction set when considering only a single application than when considering a general collection of applications. Configurable hardware gives us the opportunity to explore this option. This paper examines the potential for automatically identifying application-specific extended instructions and implementing them in programmable functional units based on configurable hardware. Adding fine-grained reconfigurable hardware to the datapath of an out-of-order issue superscalar processor allows 4–44% speedups on the MediaBench benchmarks [1]. As a key contribution of our work, we present a selective algorithm for choosing extended instructions to minimize reconfiguration costs within loops. Our selective algorithm constrains instruction choices so that significant speedups are achieved with as few as 4 moderately sized programmable functional units, typically containing less than 150 look-up tables each.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
C. Lee, M. Potkonjak, and W. H. Mangione-Smith, MediaBench: A Tool for Evaluating Multimedia and Communications Systems. Proc. Micro 30, 1997
R. Razdan, and M.D. Smith: A High-Performance Microarchitecture with Hardware-Programmable Functional Units. Proc. 27 thIntl. Symp. On Micro, pp. 172–180, Nov., 1994.
Xilinx Inc. The Programmable Logic Data Book, Xilinx 2100 Logic Dr. San Jose, CA 1998
R. Razdan, K. Brace, and M. Smith. PRISC Software Acceleration Techniques. Proc. Int. Conf. on Computer Design. Oct. 1994.
D. Burger, T.M. Austin, and S. Bennett. Evaluating future microprocessors: The Simple Scalar tool set. TR-1308, Univ. of Wisconsin-Madison CS Dept, July 1996
G. S. Sohi. Instruction Issue Logic for High-Performance, Interruptible, Multiple Functional Unit, Pipelined Computers. IEEE Trans. on Computers, 39(3): 349–359, March 1990
Xilinx Inc. Foundation Series Quick Start Guide 1.5, Xilinx 2100 Logic Drive. San Jose, CA
J. Arnold et al. The Splash 2 Processor and Applications. Proc. Int. Conf. on Computer Design, Oct 1993
P. Berlin, D. Roncin, and J. Vuillemin. Introduction to Programmable Active Memories. Systolic Array Processors, J. McCanny et al. Eds., Prentice Hall, 1989
C. R. Rupp and M. Landguth et al. The NAPA Adaptive Processing Architecture. Proceedings IEEE Symp. on FPGAs for Custom Computing Machines. Napa Valley, CA, USA 15–17, April 1998
S. Sawitzki, A. Gratz and R.G. Spallek: Increasing Microprocessor Performance with Tightly-Coupled Reconfigurable Logic Array, Proc. of Field-Programmable Logic and Applications, Tallinn, Estonia, August 1998
R. D. Wittig and P. Chow: One Chip: An FPGA Processor With Reconfigurable Logic, Proc. IEEE Symp. on FPGAs for Custom Computing Machines, CA, April 1996
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhou, X., Martonosi, M. (2000). Augmenting Modern Superscalar Architectures with Configurable Extended Instructions. In: Rolim, J. (eds) Parallel and Distributed Processing. IPDPS 2000. Lecture Notes in Computer Science, vol 1800. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45591-4_129
Download citation
DOI: https://doi.org/10.1007/3-540-45591-4_129
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67442-9
Online ISBN: 978-3-540-45591-2
eBook Packages: Springer Book Archive