Lilith: A personal computer for the software engineer

  • N. Wirth
Part of the Lecture Notes in Computer Science book series (LNCS, volume 126)


The personal work station offers significant advantages over the large-scale, central computing facility accessed via a terminal. Among them are availability, reliability, simplicity of operation, and a high bandwidth to the user. Modern technology allows to build systems for high-level language programming with significant computing power for a reasonable price.

At the Institut fur Informatik of ETH we have designed and built such a personal computer tailored to the language Modula-2. This paper is a report on this project which encompasses language design, development of a compiler and a single-user operating system, design of an architecture suitable for compiling and yielding a high density of code, and the development and construction of the hardware. 20 Lilith computers are now in use at ETH.

A principal theme is that the requirements of software engineering influence the design of the language, and that its facilities are reflected by the architecture of the computer and the structure of the hardware. The module structure is used to exemplify this theme. That the hardware should be designed according to the programming language, instead of vice-versa, is particularly relevant in view of the trend towards VLSI technology.


Base Address Definition Module Implementation Module Implementation Part Store Instruction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    C.P. Thacker, E.M. McCreight, B.W. Lampson, R.F. Sproull, D.R. Boggs. Alto: A personal computer. Xerox Palo Alto Research Center. Report CSL-79-11 (1979)Google Scholar
  2. 2.
    N. Wirth. A personal computer designed for a high-level language. In W. Remmele, H. Schecher, Eds., "Microcomputing", 115–134, Stuttgart, 1979.Google Scholar
  3. 3.
    N. Wirth. Modula-2. Institut fur Informatik, ETH. Report 36, 1980.Google Scholar
  4. 4.
    B.W. Lampson. An open operating system for a single-user machine. Revue Francaise d'Automatique. pp 5–18, Sept. 1975.Google Scholar
  5. 5.
    N. Wirth. Modula: A language for modular multiprogramming. Software — Practice and Experience, 7, 3–35. Jan. 1977.Google Scholar
  6. 6.
    Ch.M. Geschke, J.H. Morris, E.H. Satterthwaite. Early experience with Mesa. Comm. ACM, 20, 8, 540–553, Aug. 1977.CrossRefGoogle Scholar
  7. 7.
    L. Geissmann. Modulkonzept und separate Compilation in der Programmiersprache Modula-2. In "Microcomputing", 98–114, (see Ref. 2)Google Scholar
  8. 8.
    H.C. Lauer, E.H. Satterthwaite. The impact of Mesa on system design. Proc. Int'l Conf. on Software Engineering, Munich, 174–182, IEEE (1979).Google Scholar
  9. 9.
    D.D. Redell et al. Pilot: An operating system for a personal computer. Comm.ACM 23, 2, 81–92 (Feb. 1980)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1981

Authors and Affiliations

  • N. Wirth
    • 1
  1. 1.Federal Institute of Technology (ETH)Zurich

Personalised recommendations