Architectural Support for Dynamic Memory Management

  • Authors:
  • Affiliations:
  • Venue:
  • ICCD '00 Proceedings of the 2000 IEEE International Conference on Computer Design: VLSI in Computers & Processors
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recent advances in software engineering, such as graphical user interfaces and object-oriented programming, have caused applications to become more memory intensive. These applications tend to allocate dynamic memory prolifically. Moreover, automatic dynamic memory reclamation (garbage collection, GC) has become a popular feature in modern programming languages. As a result, the time consumed by dynamic storage management can be up to one-third of the program execution time. This illustrates the need for a high-performance memory management scheme.This paper presents a top-level design and evaluation of the proposed instruction extensions to facilitate heap management. These instructions are h_malloc for memory allocation, mark, and sweep for garbage collection. Simulation results show that the hit ratio for 2 Kbits and 8 Kbits buffer range from 84-99% and 95-99%, respectively. The hardware complexity of the proposed scheme is O(n), where n is the size of the bit-vector. For a design with 20K gates and 97% miss rate, the overall speedup can be as high as 1.41.