Implementing a Prolog machine with multiple functional units

  • Authors:
  • A. Singhal;Y. N. Patt

  • Affiliations:
  • Computer Science Division, University of California, Berkeley;Computer Science Division, University of California, Berkeley

  • Venue:
  • MICRO 21 Proceedings of the 21st annual workshop on Microprogramming and microarchitecture
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the microarchitecture of the PLUM, a high performance Prolog machine. Multiple specialized functional units, each with a port to memory, operate in parallel using data driven control. Instructions are dynamically scheduled by a Prefetch Unit to execute on several specialized functional units. Out of order execution is allowed, and instructions execute when their operands are available. Special synchronization techniques that ensure correct parallel unification and pipelined operation are discussed. The performance of the PLUM is limited by unification, since almost all other operations execute in parallel with unification. Unification time is reduced by parallel unification, resulting in an overall speedup of approximately a factor of 4 over the Berkeley PLM.