Lisp maskin

De Lisp maskiner er maskiner laget for å tolke Lisp effektivt og smertefritt. På en måte var de de første single-user arbeidsstasjonene som ble utgitt. Til tross for det lille antallet Lisp-maskiner (rundt 7000 enheter i 1988 ), er mange teknologier vanlige i dag (for eksempel effektiv søppelinnsamling , laserutskrift , vindusgrensesnitt , mus , bitmaps med høy oppløsning, gjengivelsesmotorer og flere innovasjoner innen nettverksfelt. ) ble først utviklet på Lisp-maskiner som de som ble brukt av Xerox PARC forskningssenter .

Historie

Kontekst

De programmene av kunstig intelligens (AI) i 1960 og 1970 krever datamaskiner ansett på den tiden som en stormakt (det vil si å ha en rask prosessor og mye minne). Disse strømbehovene ble forsterket av det faktum at amerikansk forskning innen AI ble implementert nesten utelukkende med programmeringsspråket Lisp , mens alt kommersielt materiale ble designet og optimalisert for monteringsspråk eller Fortran . I begynnelsen var kostnaden for slike maskiner slik at de måtte deles av flere brukere. Men da integrert kretsteknologi begynte å redusere størrelsen og kostnadene til datamaskiner (sent på 1960-tallet), og når minnekravene til AI-programmer begynte å overstige adresseplassen til de vanligste datamaskinene i verden. Forskningssentre ( DEC PDP-10 ), forskerne vurderte en ny tilnærming: en datamaskin designet spesielt for å skrive og kjøre store AI-programmer, og tilpasset semantikken til programmeringsspråket Lisp. For å holde et operativsystem (relativt) enkelt, bør ikke disse maskinene deles, men dedikeres til en enkelt bruker.

Første utvikling

I 1973 , Richard Greenblatt og Thomas Knight , programmerere ved Massachusetts Institute of Technology (MIT) Artificial Intelligence Lab initiert MIT Lisp Machine-prosjektet ved først å bygge en datamaskin som kan utføre på maskinvarenivå, i stedet for på programvaren nivå, noen grunnleggende Lisp-operasjoner, i en 24-biters arkitektur. Maskinen hadde også en inkrementell søppeloppsamler (kalt "Arena"). Siden Lisp-variabler er skrevet ved kjøretid og ikke ved kompileringstid, kan et enkelt tillegg av to variabler ta fem ganger lengre tid på en konvensjonell maskin på grunn av test- og greninstruksjoner. Lisp-maskiner utfører disse testene parallelt med beregningen av tillegget, fordi resultatene av tilsetningen tidligere ble mistet og beregnet på nytt, hvis testene mislyktes, noe som i mange tilfeller kunne multiplisere beregningstiden. Denne samtidige kontrolltilnærmingen brukes også til å teste for arrayoverløp og andre problemer med minnestyring. Typekontrollen ble deretter forbedret ytterligere når det konvensjonelle 32-biters ordet ble utvidet til 36 bits for I-maskinen , deretter til 40 bits og mer (vanligvis telles ikke de ekstra bitene fordi de brukes som korreksjonskoder ). Den første gruppen ekstra biter inneholder typedata, og det følgende brukes til å implementere CDR-programmering (som er å komprimere elementene i koblede lister), noe som hjelper søppeloppsamleren betydelig. En endelig forbedring var tillegg av to maskininstruksjoner som var spesifikke for Lisp- funksjoner , og reduserte kostnaden for en funksjonsanrop til bare 20 klokkesykluser (for noen Symbolics-implementeringer).

Den første maskinen ble kalt CONS-maskinen (med referanse til listen over bygningsoperatører consi Lisp. Den blir også noen ganger kalt "Knight machine", kanskje fordi det var gjenstand for Ridders avhandling). Det har blitt betydelig beriket i en andre versjon kalt CADR (en ordspill, cadrer instruksjonen som gir tilgang til det andre elementet i en liste i Lisp, det blir uttalt "kay'-deur" eller "kah '-deur") i hovedsak basert på den samme arkitekturen. Cirka tjuefem prototyper av disse maskinene ble solgt (på MIT og utenfor MIT) for rundt $  50.000  ; de ble raskt hackers favorittmaskiner , de fleste av de viktigste programvareverktøyene ble raskt portert til disse maskinene (f.eks. ble Emacs portet i 1975 ). De var så vellykkede på konferansen om kunstig intelligens som ble holdt på MIT i 1978 at DARPA gikk med på å finansiere deres utvikling.

Dele

I 1979 , Russel Noftsker , overbevist om at Lisp-maskiner var dømt til kommersiell suksess takket være kraften i Lisp-språket og dets effektivitet når de ble materielt akselerert, fremmet et forslag til Greenblatt: å kommersialisere denne teknologien. I strid med filosofien til hackerne ved AI-laboratoriet, sa Greenblatt, og trodde at han kunne gjenskape den uformelle og produktive stemningen til laboratoriet sitt i næringslivet, omtrent som Apple . Men denne tankegangen var helt annerledes enn Noftsker. Til tross for deres lange forhandlinger var ingen enige om et kompromiss. Ettersom virksomheten bare kunne lykkes med full støtte fra alle hackerne i laboratoriet, følte Noftsker og Greenblatt at valget av skjebnen til denne virksomheten lå hos dem, og lot dem derfor bestemme.

De påfølgende diskusjonene delte laboratoriet i to leirer. IFebruar 1979, kom det en enighet: hackere var på Noftskers side og trodde at et selskap som var grunnlagt på forretningsprinsipper var mer sannsynlig å overleve og selge Lisp-maskiner enn den selvstyrte oppstarten som ble foreslått av Greenblatt. Greenblatt hadde tapt kampen.

Greenblatt var opprørt og inaktiv da Noftskers selskap (kalt Symbolics ) sakte dannet og betalte hackere , men hadde ingen lokaler eller utstyr å tilby dem på MIT; Han forhandlet derfor med Patrick Winston (direktør for AI-laboratoriet) om tillatelse til å la Symbolics-ansatte jobbe utenfor MIT i bytte for gratis intern bruk av programmer utviklet av Symbolics. Det var da en konsulent fra CDC , som lette etter en Lisp-maskin for å jobbe med et naturlig programmeringsspråk, møtte Greenblat omtrent åtte måneder etter den katastrofale forhandlingen med Noftsker om kommersialisering av maskinene. Greenblatt som hadde bestemt seg for å starte sin egen konkurrerende virksomhet hadde ikke gjort noe. Konsulenten, Alexander Jacobson , var overbevist om at den eneste måten Greenblatt faktisk kunne starte sitt firma og bygge maskinene Jacobson desperat ventet på, var å presse ham og hjelpe ham i gang. Jacobson satte opp en forretningsplan , retning og partner for Greenblatt, kalt F. Stephen Wyle . Det nye selskapet ble dannet som LISP Machine, Inc. (LMI), og finansiert med aksjer i CDC, gjennom Jacobson.

Omtrent samtidig ble Symbolics, som ble hemmet av Noftskers løfte om å la Greenblatt lede det første året og flere betydelige forsinkelser i finansieringen, i drift. Symbolikk hadde fremdeles den store fordelen av å ha tatt løven sin andel: 14 av hackerne i AI-laboratoriet hadde blitt rekruttert mot bare 3 eller 4 av LMI. Bare to personligheter fra MITs AI Lab hadde holdt seg borte fra disse selskapene: Richard Stallman og Marvin Minsky .

Etter en rekke interne tvister kom Symbolics ut av skyggen i 1980 og 1981 og solgte CADR under navnet LM-2 , mens Lisp Machines, Inc. solgte den under navnet LMI Lisp Machine . Symbolics hadde ikke til hensikt å produsere mange LM-2-er , ettersom en annen generasjon skulle komme på markedet kort tid, men ble stadig forsinket, så Symbolics endte med å produsere rundt 100 LM-2-er , hver solgt til en pris på 70.000  USD . De to selskapene utviklet andre generasjons CADR- baserte maskiner  : L-Machine og LMI Lambda (som LMI klarte å selge i rundt 200 enheter). Den G-Machine , utgitt et år for sent, utvidet CADR ved å oppgradere standarden ordet til 28 bits, utvide adresserommet , og legge til maskinvare for å øke hastigheten på noen vanlige funksjoner implementert i mikro i maskinen. CADR. Den LMI Lambda , utgitt året før G-maskin (i 1983 ), var forenlig med CADR (det kan kjøre CADR mikrokode), men skilte seg vesentlig. Texas Instruments (TI) ble med i løpet ved å kjøpe LMI Lambda- patentet og produsere sin egen versjon, TI Explorer .

Symbolics fortsatte å utvikle G-Machine og operativsystem ( Genera ), og designet Ivory , en VLSI- implementering av Symbolics-arkitekturen. Fra 1987 ble det utviklet flere maskiner basert på Ivory-prosessoren: hovedkort for Sun og Mac, arbeidsstasjoner og til og med innebygde systemer. Texas Instruments miniatyriserte Explorer til MicroExplorer. LMI forlot CADR- arkitekturen og utviklet sin egen teknologi , men selskapet gikk konkurs før maskinen kunne bringes på markedet.

Disse maskinene hadde maskinvaren til å utføre forskjellige primitive instruksjoner for språket Lisp (typekontroll, CDR-programmering ) og for å utføre minnegjenoppretting trinnvis. De kunne kjøre store Lisp-programmer veldig effektivt. Symbolmaskiner, som konkurrerte med mange kommersielle PCer, ble aldri tilpasset konvensjonelle datamaskinoppgaver. Imidlertid har de likevel blitt solgt i andre markeder enn AI, som grafikk, modellering og animasjon.

Lisp-maskiner avledet fra de på MIT tolket en Lisp-dialekt kalt ZetaLisp , arvet fra MacLisp , også fra MIT. Operativsystemer ble skrevet i Lisp fra bunnen av, ofte ved hjelp av objektorienterte utvidelser . Senere støttet disse maskinene også varianter av Common Lisp (som Smaker , Nye Smaker og CLOS ).

Andre historiske maskiner

BBN utviklet også sin egen Lisp-maskin, kalt Jericho, som brukte en versjon av Interlisp , som aldri ble utgitt. Frustrert sluttet hele AI-teamet og registrerte seg primært med Xerox . Den Xerox PARC derfor utviklet for å slå sin maskiner Interlisp (og Common Lisp senere) samt andre språk som Smalltalk , men de hadde ikke klart å trenge inn i markedet og funnet seg langt bak LMI og symbolikk . Blant disse maskinene var Xerox 1100 (aka Dolphin , 1979 ); Xerox 1132 (aka Dorado ); Xerox 1108 (aka Løvetann , 1981 ); Xerox 1109 (aka Dandetiger ); og Xerox 6085 (aka Daybreak ). Selv om Xerox-maskiner var en kommersiell feil, påvirket det etableringen av Macintosh fra Apple . Operativsystemet til Lisp Xerox-maskinene har også blitt portet til en virtuell maskin tilgjengelig for flere plattformer kalt Medley. De samme maskinene var også kjent for sitt avanserte utviklingsmiljø, deres banebrytende grafiske grensesnitt og for sine innovative applikasjoner som NoteCards (en av de første hypertekstapplikasjonene ).

Et britisk selskap , Racal-Norsk, forsøkte å bruke sin Norsk Data supermini som en Lisp-maskin ved mikroprogrammering av en tolk for Symbolics 'ZetaLisp-språk.

Det var også flere forsøk fra japanerne på å gå på Lisp-maskinmarkedet, inkludert koprosessor Facom-alpha fra Fujitsu (utgitt faktisk i 1978), og flere forskningsinnsatser fra universitetet som førte til prototyper som en del av prosjektet Femte generasjons datamaskin  (en ) .

En Lisp-maskin ble også designet i Frankrike mellom 1977 og 1982 ved Paul-Sabatier University i Toulouse av et team ledet av Jean-Paul Sansonnet som deretter ble industrialisert og bygget mellom 1982 og 1986 av Marcoussis- laboratoriene (programvareaspekter) og CNET fra Lannion. (materielle aspekter). Dette var MAIA-maskinen, basert på en 40-biters prosessor (8-bit for typen, 32-bit for dataene) og en Common Lisp- kompilator fullstendig ombygd hos Marcoussis.

Lorsqu'arriva vinteren av kunstig intelligens  (i perioden (interessen for kunstig intelligens falt) og PC-revolusjonen (som utfalt produsentene av arbeidsstasjoner og superminis i konkurs), ble stasjonære datamaskiner i stand til å kjøre Lisp-programmer på en lavere kostnader og raskere enn Lisp-maskiner uten å bruke spesifikk maskinvare. Ikke lenger i stand til å bruke betydelige marginer på maskinvaren, de fleste Lisp-maskinbyggere opphørte aktivitetene sine tidlig på 1990-tallet eller ble programvareutgivere. Sammen med Xerox er Symbolics den eneste Lisp-maskinbyggeren som overlever til i dag, og selger Lisp Open Genera- operativsystemet og Macsyma- datamaskinalgebra-programvaren .

På slutten av 1990-tallet , Sun Microsystems og andre selskaper planlagt å bygge Java- maskiner , med samme konsept som Lisp maskiner.

Merknader og referanser

  1. Newquist, Harvey. The Brain Makers , Sams Publishing, 1994. ( ISBN  0-672-30412-0 )
  2. (in) en Lisp-maskinmodell distribuert i serien Symbolics XL-400, UX-400 og I Macivory (kilde Symbolics Lisp Machine Museum).
  3. (no) Lisp-maskinen. L-Machine med Symbolics 3600-serien, deretter senere med 3640 og 3670-serien (kilde Symbolics Lisp Machine Museum).
  4. (in) G-Machine var en ny modell av andre generasjons Lisp-maskiner, men L-machine ga allerede en 28-biters adressering siden 1982 (kilde Symbolics Lisp Machine Museum).
  5. (in) [ http://www.andromeda.com/people/ddyer/lisp/ Den siste maskinen Lisp Symbolics 3600-serien.
  6. (in) [ http://www.andromeda.com/people/ddyer/lisp/ Macivory Code name.

Eksterne linker