1994 · 20 citations · 27 references
EngineeringComputer EngineeringComputer ScienceAccess ManagementComputer ArchitectureSystem-on-chip DesignCachingHardware AccelerationMemory HierarchyMemory Hierarchy DesignMemory Hierarchy OptimizationMemory Subsystem DesignCache Access PatternsMemory Access LocalityMemory Access PatternsMemory BandwidthMemory Bandwidth OptimizationMemory Controller DesignPerformance Bottleneck DetectionSpatial Locality
As microprocessor speeds increase, memory bandwidth is rapidly becoming the performance bottleneck in the execution of vector-like algorithms. Although caching provides adequate performance for many problems, caching alone is an insufficient solution for vector applications with poor temporal and spatial locality. Moreover, the nature of memories themselves has changed. Current DRAM components should not be treated as uniform access-time RAM: achieving greater bandwidth requires exploiting the characteristics of components at every level of the memory hierarchy. The authors describe hardware-assisted access ordering and a hardware development effort to build a Stream Memory Controller (SMC) that implements the technique for a commercially available high-performance microprocessor, the Intel i860. The strategy augments caching by combining compile-time detection of memory access patterns with a memory subsystem that decouples the order of requests generated by the processor from that issued to the memory system. This decoupling permits requests to be issued in an order that optimizes use of the memory system.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
27
Basic Linear Algebra Subprograms for Fortran Usage
C. L. Lawson, Richard Hanson, David R. Kincaid et al. · ACM Transactions on Mathematical Software · 1979 · 1.6K citations · Full text
Optimizing supercompilers for supercomputers
Michael Wolfe · 2020 · 840 citations
Virginia Klema, Jack Dongarra, James R. Bunch et al. · Mathematics of Computation · 1980 · 648 citations