Lisp-Maschine

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Lisp machine)
Lisp-Maschine MIT CADR im MIT-Museum
Lisp-Maschine Symbolics 3640

Eine Lisp-Maschine (kurz oft LispM) ist ein Computer, dessen Prozessor für die Ausführung von LISP-Programmen optimiert ist und dessen Betriebssystem wie auch typische Anwendungen in LISP geschrieben sind. Lisp-Maschinen boten eine komfortable Integrierte 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 des KI-Winters stürzten die Lisp-Maschinen-Hersteller in eine Krise und die Produktion von Lisp-Maschinen endete.

Technische Idee hinter den Lisp-Maschinen

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 beispielsweise 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

Anfänge am MIT AI Lab und bei Xerox

1973 begannen Richard Greenblatt und Tom 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 Künstliche Intelligenz 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.

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 (CDC) zeigte jedoch großes Interesse, eine MIT-CADR-Maschine zu erwerben; Alexander Jacobson, ein Consultant von CDC, brachte daher Greenblatt dazu, endlich eine eigene Firma zu gründen, die Lisp Machines Inc. (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

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. begannen, Lisp-Umgebungen 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

Lisp-Maschinen

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-Koprozessor 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-basierte Workstation mit VME-Bus
1987 Texas Instruments Explorer II basiert auf dem Lisp-Chip von TI
1988 Symbolics MacIvory I NuBus-Einsteckkarte für Apple-Macintosh-Rechner, Ivory-basiert
1988 Symbolics XL400 Ivory-basierte Workstation mit VME-Bus
1988 Texas Instruments MicroExplorer Nubus-Einsteckkarte für Apple-Macintosh-Rechner, basiert auf dem Lisp-Chip von TI
1989 Symbolics MacIvory II Nubus-Einsteckkarte für Apple-Macintosh-Rechner, Ivory-basiert
1989 Symbolics UX400 Ivory-basiertes VME-Bus-Koprozessor-Board für SUN-Rechner
1990 Symbolics XL1200 Ivory-basierte Workstation mit VME-Bus
1990 Symbolics UX1200 Ivory-basierte VME-Bus-Koprozessor-Board für SUN-Rechner
1991 Symbolics MacIvory III Nubus-Einsteckkarte für Apple-Macintosh-Rechner, Ivory-basiert
1992 Symbolics XL1201 Ivory-basierte Desktop-Workstation mit VME-Bus
1992 Symbolics NXP1000 Ivory-basierte Lisp-Maschine ohne eigenes Display
1993 Symbolics Open Genera virtuelle Lisp-Maschine für Tru64 UNIX auf DEC Alpha

Literatur

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

Weblinks

Commons: Lisp machine – Lisp-Maschine

Einzelnachweise

  1. Lispm FAQ and Oral History (Memento des Originals vom 8. November 2007 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.andromeda.com auf andromeda.com
  2. Symbolics Inc: Symbolics Technical Summary (Memento vom 1. November 2012 im Internet Archive), 1985
  3. a b c Alvin Graylin, Kari Anne Hoier Kjolaas, Jonathan Loflin, Jimmie D. Walker: Symbolics, Inc.: A failure of heterogeneous engineering. (Memento vom 9. Mai 2013 im Internet Archive)
  4. a b c Steven Levy: Hackers: Heroes of the Computer Revolution. New York 1984, 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. A Brief History of Lisp Machines (Memento des Originals vom 13. August 2006 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.andromeda.com auf andromeda.com
  7. a b My Lisp Experiences and the Development of GNU Emacs auf gnu.org
  8. a b Dan Weinreb: Rebuttal to Stallman’s Story About The Formation of Symbolics and LMI (Memento vom 13. Dezember 2007 im Internet Archive), 11. November 2007
  9. Lisp Machine Inc. K-machine auf tunes.org
  10. OpenGenera Benchmarks (Memento vom 20. April 2014 im Internet Archive) auf blog.b9.com
  11. The Lisp Machine: Noble Experiment Or Fabulous Failure? auf withy.org
  12. Martin Fransman: The market and beyond: information technology in Japan. Cambridge University Press, 1993, ISBN 0-521-43525-0 (eingeschränkte Vorschau in der Google-Buchsuche).
  13. Evaluation of the FACOM ALPHA Lisp machine auf acm.org