1994 · 110 citations · 30 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureHardware-software Co-designBenchmarkingCachingCpu SchedulingLatency OptimizationMemory Hierarchy OptimizationPerformance OptimizationCache DesignCache LatencyCache Miss PenaltyCode TranslationComplexity - Performance RelationshipEvaluation BenchmarksInstrumentation ArchitectureInstrumentation System Design
Non-blocking loads are a very effective technique for tolerating the cache-miss latency on data cache references. We describe several methods for implementing non-blocking loads. A range of resulting hardware complexity/performance tradeoffs are investigated using an object-code translation and instrumentation system. We have investigated the SPEC92 benchmarks and have found that for the integer benchmarks, a simple hit-under-miss implementation achieves almost all of the available performance improvement for relatively little cost. However, for most of the numeric benchmarks, more expensive implementations are worthwhile. The results also point out the importance of using a compiler capable of scheduling load instructions for cache misses rather than cache hits in nonblocking systems. This Research Report is a preprint of a paper to appear at the 21st Annual International Symposium on Computer Architecture. d i g i t a l Western Research Laboratory 250 University Avenue Palo Alto, ...
30
Amitabh Srivastava, Alan Eustace · 1994 · 1K citations · Full text
Limits of instruction-level parallelism
David W. Wall · 1991 · 631 citations
Lockup-free instruction fetch/prefetch cache organization
David Kroft · 1998 · 564 citations · Full text
The multiflow trace scheduling compiler
P. Geoffrey Lowney, Stefan M. Freudenberger, Thomas J. Karzes et al. · The Journal of Supercomputing · 1993 · 379 citations