A Simple Hardware Buddy System Memory Allocator

  • Authors:
  • E. Von Puttkamer

  • Affiliations:
  • the Department of Computer Science, Unversity of Kaiserslautern

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 1975

Quantified Score

Hi-index 14.98

Visualization

Abstract

The design of a simple hardware memory allocator is described, which allocates blocks of different lengths L = 2h = K, K-1,..., K-n in a memory according to the buddy system algorithm. The binary tree, representing the distribution of free and used blocks in memory is mapped into a set of shift registers. They are connected for end-around shifting and clocked with frequencies different for each register, preserving thereby the internal structure of the binary tree. A small counter, attached to each shift register in the set holds the address of the first free block and can be read out on request within 0.5 µs. A simple control unit realizes the algorithm. Having answered a request the system needs about 130 µs to compute the addresses of free blocks in a total of 511 blocks managed by the device.