Lilith: A personal computer for the software engineer
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.
KeywordsBase Address Definition Module Implementation Module Implementation Part Store Instruction
Unable to display preview. Download preview PDF.
- 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.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.N. Wirth. Modula-2. Institut fur Informatik, ETH. Report 36, 1980.Google Scholar
- 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.N. Wirth. Modula: A language for modular multiprogramming. Software — Practice and Experience, 7, 3–35. Jan. 1977.Google Scholar
- 7.L. Geissmann. Modulkonzept und separate Compilation in der Programmiersprache Modula-2. In "Microcomputing", 98–114, (see Ref. 2)Google Scholar
- 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