Title :
A Simple Hardware Buddy System Memory Allocator
Author :
Von Puttkamer, Ewald
Author_Institution :
the Department of Computer Science, Unversity of Kaiserslautern
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.
Keywords :
Binary tree representations, buddy system reprerentations, hardware: substitution of software, operating systems: memory allocation.; Algorithm design and analysis; Binary trees; Central Processing Unit; Clocks; Computer errors; Frequency; Hardware; Memory management; Operating systems; Shift registers; Binary tree representations, buddy system reprerentations, hardware: substitution of software, operating systems: memory allocation.;
Journal_Title :
Computers, IEEE Transactions on
DOI :
10.1109/T-C.1975.224100