To be presented at the 22nd International Symposium on Computer Architecture,To appear in the June 22nd 18 International - 24, 1995, Symposium Santa Margherita on Computer Ligure, Architecture, Italy. Santa Magherita Ligure, Italy, June, 1995. Instruction Fetching: Coping with Code Bloat Richard Uhlig David Nagle Gesellshaft für Mathematik und Datenverarbeitung (GMD) Department of ECE, Carnegie Mellon University Schloβ Birlinghoven, 53757 Sankt Augustin, Germany Pittsburgh, PA 15213
[email protected] [email protected] Trevor Mudge and Stuart Sechrest Joel Emer EECS Department, University of Michigan Digital Equipment Corporation 1301 Beal Ave., Ann Arbor, Michigan 48109-2122 77 Reed Road HLO2-3/J3, Hudson, MA 01749 {tnm,sechrest}@eecs.umich.edu
[email protected] Abstract grams to grow in size and examines the impact of these trends on one important aspect of memory-system design: the fetching of Previous research has shown that the SPEC benchmarks instructions. achieve low miss ratios in relatively small instruction caches. This As application and operating system software evolves to paper presents evidence that current software-development prac- include more features and to become more portable, maintainable tices produce applications that exhibit substantially higher and reliable, it also tends to consume more memory resources. instruction-cache miss ratios than do the SPEC benchmarks. To The “bloating” of code affects a memory-system hierarchy at all represent these trends, we have assembled a collection of applica- levels and in a variety of ways: the larger static sizes of program tions, called the Instruction Benchmark Suite (IBS), that provides executables occupy more disk space; the larger working sets of a better test of instruction-cache performance.