A efficient bit table technique for dynamic storage allocation of 2"-word blocks
Communications of the ACM
Communications of the ACM
Communications of the ACM
Communications of the ACM
Exploration of distributed shared memory architectures for NoC-based multiprocessors
Journal of Systems Architecture: the EUROMICRO Journal
Hi-index | 14.98 |
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.