Skip to main content
Log in

Improvements to the control techniques of sequential inference machines — From instructions to hardware organization

  • Regular Papers
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Nondeterminism of PROLOG execution requires that a block of control information or a choice point for each procedure call be stored when there are other candidate clauses to be used. When the currently selected clause fails, the bindings made by the clause must be undone and the stored choice point is reactivated, and then another clause of the candidate ones is chosen to run on it. Storing and reactivating choice points and undoing account for the great overhead are required to control PROLOG execution, which is quite different from conventional programs.

This paper focuses on the techniques used in Sequential PROLOG Engine (SPE) to reduce the overhead of control operations. The control instructions of SPE store no more choice points than the necessary. Its architecture takes the approaches of analysing the potential parallelism in the control operations and developing a fraction of it due to the cost-effect consideration. The results of executing two sample programs on SPE in the form of hand timings are presented, which favor the approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Y. Kaneda, N. Tamura,et al., Sequential PROLOG machine PEK.New Generation Computing,4:1 (1986).

    Google Scholar 

  2. K. Taki, M. Yokata,et al., Hardware design and implementation of the personal sequential inference machine (PSI). FGCS'84.

  3. Japan's ICOT triples speed of its inference machine. Electronics, April 16, 1987.

  4. E. Tick and D. H. D. Warren, Towards a pipelined PROLOG processor. Proc. Int'l. Symp. on Logic Programming, 1984.

  5. H. Xing, D. Xing and C. Li, Sequential PROLOG Engine (SPE). Proc. Int'l. Conf. on New Generation Computer Systems (1989), Beijing.

  6. D. H. D. Warren, An abstract PROLOG instruction set. Tech. report 309, AI center, SRI International, 1983.

  7. D. H. D. Warren, Implementing prolog — compiling predicate logic programs. Report 39, 40, Dept. of AI, University of Edingburg, 1977.

  8. D. H. D. Warren, An improved PROLOG implementation which optimizes tail recursion. Research Paper 156, Dept. of AI, University of Edingburg, 1980.

  9. A. K. Turk, Compiler optimizations for the WAM. Proc. 3rd Int'l. Conf. on Logic Programming, 1986.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Xing, H., Li, C. Improvements to the control techniques of sequential inference machines — From instructions to hardware organization. J. of Compt. Sci. & Technol. 6, 66–73 (1991). https://doi.org/10.1007/BF02943409

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02943409

Keywords

Navigation