- Lisp Machine
-
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.
Inhaltsverzeichnis
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 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
Anfänge am MIT AI Lab und bei Xerox
1973 begannen Richard Greenblatt und Thomas Knight mit der Entwicklung eines Prototypen 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 fertig gestellt. 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-Funktioncadr
), 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, 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.[5]
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 (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][6][7]
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][6] LMI hielt jedoch eigene Änderungen an der Lisp-Maschine ebenso verschlossen.[7]
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[8]. 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. Die Portierung der Symbolics Betriebssystemsoftware Genera von 1992 auf ein DEC Tru64 UNIX/Alpha-System war dreimal so schnell wie die schnellste Lisp-Maschine[9].
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.[10]
Hersteller von Lisp-Maschinen
- Symbolics
- Lisp Machines Inc. (kurz LMI)
- Integrated Inference Machines (kurz IIM)
- Texas Instruments
- Xerox
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 LMI K-Machine Komplett neuer Hardware-Entwurf; Integrierter Mikroprozessor; Konnte wegen Insolvenz LMIs nicht fertig gestellt 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
- Paul Graham, Anatomy of a Lisp Machine, AI Expert, Dezember 1988
- Pleszkun and Thazhuthaveetil, The Architecture of Lisp Machines, IEEE Computer, März 1987
- Ditzel, Schuler and Thomas, A Lisp Machine Profile: Symbolics 3650, AI Expert, Januar 1987
- Peter M. Kogge, The Architecture of Symbolic Computers, McGraw-Hill 1991, ISBN 0-07-035596-7
Weblinks
- Lisp Maschinen Handbuch (englisch)
- Lisp-Maschinen FAQ (englisch)
- Lisp-Maschinen Wiki (englisch)
- Lisp-Maschinen Emulatoren (MIT CADR, Symbolics, TI Explorer, …) und Original Quellcode der MIT CADR (englisch)
- Linksammlung (englisch)
Quellen
- ↑ http://www.andromeda.com/people/ddyer/lisp/lispm-faq-and-history.html
- ↑ Symbolics Inc: Symbolics Technical Summary, 1985
- ↑ a b c http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/Symbolics.pdf
- ↑ a b c Steven Levy: Hackers: Heroes of the Computer Revolution 1984, New York, ISBN 0-385-19195-2
- ↑ http://www.andromeda.com/people/ddyer/lisp/
- ↑ a b http://www.gnu.org/gnu/rms-lisp.html
- ↑ a b Dan Weinreb: Rebuttal to Stallman’s Story About The Formation of Symbolics and LMI, 11. November 2007
- ↑ http://fare.tunes.org/tmp/emergent/kmachine.htm
- ↑ http://www.b9.com/blog/archives/2003/12/opengenera_benc.html
- ↑ http://pt.withy.org/publications/LispM.html
Wikimedia Foundation.