Lisp-Maschine

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
MIT CADR Lisp-Maschine im MIT-Museum
Symbolics 3640 Lisp-Maschine

Eine Lisp-Maschine (kurz oft LispM) ist ein Computer, dessen Prozessor für die Ausführung von LISP-Programmen optimiert ist und dessen Betriebssystem in LISP geschrieben ist. Des Weiteren sind auch typische Anwendungen in Lisp geschrieben. Lisp-Maschinen boten eine komfortable Entwicklungsumgebung. Manche Lisp-Maschinen wurden aber auch ohne Entwicklungsumgebung für die Nutzung von Lisp-Anwendungen eingesetzt. Lisp-Maschinen wurden in den 1970er und 1980er Jahren entworfen, um Aufgaben im Bereich der Künstlichen Intelligenz (KI) besser erledigen zu können. Auch für Animation wurden einige Maschinen benutzt. Die Anzahl der eingesetzten Lisp-Maschinen war sehr gering. Es gibt Schätzungen zwischen 5000 und 7000 Stück.[1]

Trotz dieser geringen Stückzahl wurden einige Konzepte heutiger Computersysteme auf Lisp-Maschinen erprobt und erstmals produktiv eingesetzt, wie farbige Grafik, Fenstersysteme, Computermäuse, Rechnernetze, Hypertext, inkrementelle Kompilierung und das Konzept von Einzelbenutzer-Workstations.

Wegen der großen Fortschritte in der Prozessor-Technologie in den 1990er Jahren, die auch ausreichend schnelle allgemeine Mikroprozessoren ermöglichten, und dem KI-Winter stürzten die Lisp-Maschinen-Hersteller in eine Krise und die Produktion von Lisp-Maschinen endete.

Technische Idee hinter den Lisp-Maschinen[Bearbeiten]

Für Forschungsprojekte zur Künstlichen Intelligenz wurde während der 1960er und 1970er Jahre meistens die Programmiersprache Lisp verwendet. Die verfügbaren Computer waren darauf optimiert, Programme in Sprachen wie Assembler oder Fortran mit möglichst wenig Speicherverbrauch und Rechenzeit zu verarbeiten. Die Ausführung von Lisp-Programmen erforderte dagegen für damalige Verhältnisse erhebliche Ressourcen. Ein Grund dafür waren die komplexer werdenden Lisp-Programme und die großen Datenmengen, die in KI-Anwendungen verarbeitet wurden.

Lisp verwendet Dynamische Typisierung und dynamische Speicherverwaltung (Garbage Collection). Die Lisp-Maschinen bieten oftmals generische Operationen. Die Maschinen-Operation + akzeptiert zur Laufzeit beliebige Zahltypen. Der Prozessor ermittelt die Typen der Argumente, überprüft diese auf Anwendbarkeit, führt Konvertierungen durch, wählt die passende Addition aus und wendet diese dann an. Dazu wurden die Datenwörter mit Typ-Informationen versehen (getagt). Die Typ-Überprüfung konnte parallel erfolgen und war wesentlich schneller als eine Software-Implementierung. Typische Wortlängen für Lisp-Maschinen sind 32 Bit (z.B. TI Explorer Microprocessor), 36 Bit (Symbolics 3600) oder 40 Bit (Symbolics Ivory). Mit einer Wortlänge von 36 Bit passen auch Daten mit 32 Bit und Tags mit 4 Bit in ein Datenwort.

Außerdem wurde virtueller Speicher eingeführt und die Garbage Collection durch die Hardware unterstützt. In kommerziellen Lisp-Maschinen wurden auch ganze Lisp-Funktionen in Hardware umgesetzt.[2]

Um den Anwendern möglichst viel Rechenleistung zu bieten, wurden Lisp-Maschinen als Einzelplatz-Rechner (mit Unterstützung für Bitmap-Bildschirme, Tastatur, Maus, Netzwerkschnittstelle, Festplatten, Bandlaufwerke und diverse Erweiterungssteckplätze) entworfen. Dies war für die damalige Zeit unüblich, in der Großrechner über Terminals als Mehrbenutzersystem verwendet wurden. Um das gemeinsame Arbeiten von mehreren Benutzern zu ermöglichen, wurden Lisp-Maschinen mit der Fähigkeit entworfen, Rechnernetze zu bilden (zunächst Chaosnet, später auch Ethernet), was für die Zeit ebenfalls unüblich war.[3]

Auch im Bereich Hypertext waren Lisp-Maschinen damals führend. Das Dokumentationssystem des Lisp-Maschinen-Herstellers Symbolics gewann mehrere Auszeichnungen.[3]

Auf Lisp-Maschinen laufen nicht nur Lisp-Programme. Es existieren auch Compiler für z.B. C, Pascal, Fortran, Ada und Prolog. Diese Compiler wurden meist auch in Lisp geschrieben und können ebenso interaktiv verwendet werden wie der Lisp-Compiler.

Geschichte[Bearbeiten]

Anfänge am MIT AI Lab und bei Xerox[Bearbeiten]

1973 begannen Richard Greenblatt und Thomas Knight mit der Entwicklung eines Prototyps für eine Maschine, die Lisp-Code optimiert ausführen sollte. Die erste Maschine, über die Knight seine Masterarbeit schrieb, wurde CONS machine (nach der Lisp-Funktion cons) genannt und 1976 fertiggestellt. Die CONS machine hatte eine 24 Bit Architektur und benötigte noch eine PDP-10 zum Betrieb. Nach einer Vorstellung der Maschine 1978 bei einer Konferenz über KI begann die DARPA damit, das Projekt zu finanzieren, und Firmen äußerten ihr Interesse am Erwerb einer Lisp-Maschine. Dies führte zur Entwicklung der CADR machine (nach der Lisp-Funktion cadr), von der 25 Stück produziert wurden. Das große Interesse an Lisp-Maschinen führte dazu, dass die Gründung einer Firma für die Vermarktung geplant wurde.[4]

Parallel zur Entwicklung am MIT entwickelte BBN Technologies eine eigene Lisp-Maschine (Jericho [5]), die jedoch nie vermarktet wurde. Das enttäuschte Team wurde dann von Xerox abgeworben und entwickelte am Xerox PARC 1979 eine Lisp-Maschine mit dem Namen Dolphin. Die Xerox-Lisp-Maschinen basierten auf InterLisp, im Gegensatz zu den MIT-Maschinen, die auf MacLisp basierten.[6]

Kommerzialisierung: Symbolics Inc., Lisp Machines Inc.[Bearbeiten]

1979 kam es zum Streit zwischen Russell Noftsker und Greenblatt über das Geschäftsmodell der Firma. Noftsker wollte eine traditionelle Firma aufbauen, während Greenblatt vor allem ein mit der Hacker-Ethik des MIT AI Labs zu vereinbarendes Geschäftsmodell anstrebte, das auf Risikokapital verzichten sollte. Da Noftsker, der das AI Lab 1973 verlassen hatte, um in der freien Wirtschaft zu arbeiten, bereits Erfahrungen in der kommerziellen Welt hatte und es auch aus anderen Gründen zu Streit zwischen Greenblatt und einigen Mitarbeitern am AI Lab kam, gelang es Noftsker viele Mitarbeiter, unter anderem Thomas Knight, für seine Pläne zu gewinnen und er gründete Symbolics Inc. Greenblatt blieb zunächst passiv und war sehr verärgert über Noftsker. Control Data Corporation (kurz CDC) zeigte jedoch großes Interesse, eine MIT CADR Maschine zu erwerben, und Alexander Jacobson, ein Consultant von CDC, trieb daher Greenblatt dazu, endlich eine eigene Firma zu gründen. Greenblatt gründete daraufhin Lisp Machines Inc. (kurz LMI). 1980/1981 brachte Symbolics die LM-2 auf den Markt, die eine neuverpackte MIT CADR Maschine war. LMI brachte ebenfalls eine MIT CADR Maschine heraus, die LMI CADR Maschine.[4][7][8]

Der Konkurrenzkampf zwischen LMI und Symbolics führte dazu, dass die Mitarbeiter beider Firmen das AI Lab verlassen mussten. Nur Richard Stallman und Marvin Minsky blieben zurück. Außerdem hatten LMI und Symbolics ihre Technik und Software zwar vom MIT lizenziert und räumten dafür dem MIT ein Nutzungsrecht ihrer Veränderungen ein, aber Symbolics verweigerte dem MIT die Änderungen in den ursprünglichen Prototyp und die Software zu integrieren, damit LMI diese nicht nutzen konnte. Dies verärgerte Stallman, der dadurch zum Advokaten freier Software wurde. Stallman nutzte den Zugang am MIT zu den Lisp-Maschinen, um die Änderungen zu rekonstruieren und LMI zur Verfügung zu stellen.[4][7] LMI hielt jedoch eigene Änderungen an der Lisp-Maschine ebenso verschlossen.[8]

LMI lizenzierte ihre Lisp-Maschinen an die Firma Texas Instruments, die mit Explorer I/II auf der LMI Lambda basierende Maschinen produzierte.

Ende der Lisp-Maschinen[Bearbeiten]

Gegen Ende der 1980er und Anfang der 1990er Jahre brach der ohnehin kleine Markt der Lisp-Maschinen zusammen. LMI war bereits 1986 insolvent und ein Versuch, die Firma als GigaMos Systems wiederzubeleben scheiterte an juristischen Problemen des Investors[9]. Xerox hatte schon relativ früh die Entwicklung weiterer Lisp-Maschinen gestoppt.

Gründe für den Zusammenbruch gibt es viele. Zum einen war der Markt sehr klein. Spekulationen gehen von zwischen 5000 und 7000 Maschinen aus. Dies sorgte dafür, dass die Hersteller weniger Geld in die technische Weiterentwicklung der Lisp-Maschinen investieren konnten, während die Hersteller herkömmlicher Computer immer bessere Verfahren entwickelten und Lisp-Maschinen bald an Geschwindigkeit einholten und sogar überholten. Firmen wie Lucid Inc. und Franz Inc. fingen an Lispumgebungen für Microcomputer zu verkaufen. Die Portierung der Symbolics-Betriebssystemsoftware Genera von 1992 auf ein DEC Tru64 UNIX/Alpha-System war dreimal so schnell wie die schnellste Lisp-Maschine[10].

Außerdem erfüllten sich die überzogenen Erwartungen an die Künstliche Intelligenz nicht, weshalb die Gelder für viele KI-Forschungsprojekte gekürzt wurden (der sogenannte KI-Winter). Besonders die massiven Kürzung der Mittel für das SDI-Projekt (auch Star Wars-Projekt genannt) trafen den Markt hart. Viele KI-Forschungsprojekte (besonders im Bereich Expertensysteme) waren über SDI-Mittel finanziert worden[3]. Damit brach der wichtigste Markt für Lisp-Maschinen ein.[11]

Hersteller von Lisp-Maschinen[Bearbeiten]

Lisp-Maschinen[Bearbeiten]

Lisp-Maschinen
Erscheinungsjahr Name Besonderheit
1975/1976 MIT CONS Erste Lisp-Maschine; 24 Bit Architektur
1977/1978 MIT CADR
1979 Xerox 1100 (Dolphin) Basierend auf dem Xerox Alto
1980/1981 Symbolics LM-2 umverpackte MIT CADR
1980/1981 LMI CADR umverpackte MIT CADR
1981 Xerox 1108 (Dandelion) Basierend auf dem Xerox Star
1982 Symbolics 3600 Mit 36 Bit Datenwort und 28 Bit Adressraum; Inklusive Macsyma und Prolog
1982 Xerox 1109 (Dandetiger) baugleich mit Xerox 1108, aber größerer Speicherausbau
1983 LMI Lambda
1983 Texas Instruments Explorer I LMI Lambda in Lizenz produziert
1983 Xerox 1132 (Dorado)
1984 Symbolics 3650
1985 Xerox 1185/1186 (Dove/Daybreak) 1185 nur mit Laufzeitumgebung, 1186 mit kompletter Programmierumgebung
1985 Lisp-Chip von Texas Instruments Integrierter Mikroprozessor; 32 Bit
1986 Fujitsu FACOM alpha Lisp und Prolog Coprocessor für Fujitsu Mainframes. Einzige japanische Lisp-Maschine.[12][13]
1986 LMI K-Machine Komplett neuer Hardware-Entwurf; Integrierter Mikroprozessor; Konnte wegen Insolvenz LMIs nicht fertiggestellt werden
1986 Symbolics 3620
1986 IIM IIM produzierte einige Prototypen
1987 Symbolics Ivory Integrierter Mikroprozessor; 40 Bit + 8 Bit ECC; Basis für mehrere Lisp-Maschinen
198? Symbolics XL400 Ivory basierende Workstation mit VME-Bus
1987 Texas Instruments Explorer II basiert auf TI's Lisp Chip
1988 Symbolics MacIvory I Nubus-Einsteckkarte für Apple Macintosh Rechner, Ivory-basierend
1988 Symbolics XL400 Ivory basierende Workstation mit VME-Bus
1988 Texas Instruments MicroExplorer Nubus-Einsteckkarte für Apple Macintosh Rechner, basiert auf TI's Lisp Chip
1989 Symbolics MacIvory II Nubus-Einsteckkarte für Apple Macintosh Rechner, Ivory-basierend
1989 Symbolics UX400 Ivory basierendes VME-Bus-Koprozessor-Board für SUN-Rechner
1990 Symbolics XL1200 Ivory basierende Workstation mit VME-Bus
1990 Symbolics UX1200 Ivory basierendes VME-Bus-Koprozessor-Board für SUN-Rechner
1991 Symbolics MacIvory III Nubus-Einsteckkarte für Apple Macintosh Rechner, Ivory-basierend
1992 Symbolics XL1201 Ivory basierende Desktop-Workstation mit VME-Bus
1992 Symbolics NXP1000 Ivory-basierende Lisp-Maschine ohne eigenes Display
1993 Symbolics Open Genera Virtuelle Lisp-Maschine für Tru64 UNIX auf DEC Alpha

Literatur[Bearbeiten]

  • Paul Graham: Anatomy of a Lisp Machine. In: AI Expert. 3, 12, Dezember 1988, ISSN 0888-3785, S, 26–32.
  • Andrew R. Pleszkun, Matthew J. Thazhuthaveetil: The Architecture of Lisp Machines. IEEE Computer, 20, 3, März 1987, S. 35–44.
  • Charles L. Ditzel, Douglas Schuler, Virginia Thomas: A Lisp Machine Profile. Symbolics 3650. In: AI Expert. 2, 1, Januar 1987, S. 69–73
  • Peter M. Kogge: The Architecture of Symbolic Computers. McGraw-Hill, New York NY u. a. 1991, ISBN 0-07-035596-7 (Mc-Graw-Hill series in supercomputing and parallel Processing).

Weblinks[Bearbeiten]

Quellen[Bearbeiten]

  1. http://www.andromeda.com/people/ddyer/lisp/lispm-faq-and-history.html
  2. Symbolics Inc: Symbolics Technical Summary, 1985
  3. a b c http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/Symbolics.pdf
  4. a b c Steven Levy: Hackers: Heroes of the Computer Revolution 1984, New York, ISBN 0-385-19195-2
  5. Computing Facilities for AI: A Survey of Present and Near-Future Options, AI Magazine Volume 2 Number 1
  6. http://www.andromeda.com/people/ddyer/lisp/
  7. a b http://www.gnu.org/gnu/rms-lisp.html
  8. a b Dan Weinreb: Rebuttal to Stallman’s Story About The Formation of Symbolics and LMIVorlage:Webarchiv/Wartung/Nummerierte_Parameter, 11. November 2007
  9. http://fare.tunes.org/tmp/emergent/kmachine.htm
  10. http://blog.b9.com/archives/000049.html
  11. http://pt.withy.org/publications/LispM.html
  12.  Martin Fransman: The market and beyond: information technology in Japan. Cambridge University Press, ISBN 978-0521435253 (Facom-alpha&f=false).
  13. http://portal.acm.org/citation.cfm?id=17356.17377