Lisp gép

A Lisp gép  egy általános célú számítástechnikai gép, amelynek architektúráját a Lisp programok hatékony végrehajtására optimalizálták .

Egyenértékű egy (absztrakt) Turing-géppel (és egy hagyományos személyi számítógéppel ) a polinomiális redukálhatóság kritériuma alapján .

Bár a Lisp gépeket soha nem használták széles körben (1988-ban körülbelül 7000 volt világszerte), a manapság elterjedt ötletek és szoftvertechnológiák közül sokat először Lisp gépekkel fejlesztettek ki, például a Xerox PARC kutatóközpontban használtakat :

A Lisp gépek bőséges lehetőséget biztosítottak a számítástechnika kísérleti fejlesztésére . Az ilyen gépek fejlesztése alapján a mérnöki munkaállomások új generációja jött létre .

Történelem

1973- ban az MIT AI labor programozói , Richard Greenblatt és Thomas Knight elkezdtek dolgozni az MIT Lisp Machine Project-en. Eredetileg egy számítógépes hardver volt, amelyet a Lisp néhány alapvető műveletének elvégzésére adaptáltak 24 bites tagarchitektúrán. Nehézkes volt a Lisp-programokat programozottan feldolgozni, mivel a Lisp-változók beírása futási időben történik, nem fordítási időben, és az ellenőrzések és az elágazások miatt két változó egyszerű hozzáadása normál számítógépeken akár öt percig is eltarthat. A gép szekvenciális (" Arénának " nevezett) szemétgyűjtést is végzett . A Lisp gépeken végzett tesztelés során párhuzamosan hagyományosabb módszereket is alkalmaztak - ha az egyidejű tesztek kudarcot vallanak, akkor az eredményt visszaállították és újraszámolták; sok esetben gyorsulást jelentett. Ezt a közelítést a tömbhatárok tesztelésében és más memóriakezelési műveleteknél is használták (nem feltétlenül szemétgyűjtéssel vagy tömbökkel kapcsolatos).

A típusellenőrzést ezt követően továbbfejlesztették és automatizálták, amikor a hagyományos 32 bites gépi szóméretet 36 bitre növelték a Symbolics 3600 Lisp gépeken , sőt 40 bitre vagy többre (általában az extra biteket hibajavító kódokhoz használták). Az első extra bitblokk az adattípust tárolta (ami az architektúrát címkézte), a többit pedig CDR-kódolásra használták (amikor egy linkelt lista közönséges elemeit körülbelül a felére tömörítették), nagyságrenddel leegyszerűsítve a szemétgyűjtést. További fejlesztést jelentett két olyan utasítás, amelyek speciális módon támogatták a Lisp függvényeket, 20 ciklusra csökkentve a függvények hívási költségét (a Symbolics egyes megvalósításaiban).

Az első gép, amelyet a listás építőipari üzemeltetőről neveztek el Lispben, a CONS volt . Gyakran helytelenül "Knight's Machine"-ként emlegetik, valószínűleg Knight értekezése miatt. Továbbfejlesztett változata – a CADR  – megközelítőleg ugyanazon az architektúrán alapul. Körülbelül 25 CADR prototípust adtak el körülbelül 50 000 dollárért . Népszerűvé vált a lelkes fejlesztők körében, és sok népszerű programot gyorsan portoltak rá (például az Emacs 1975 - ben ). Az 1978 -as MIT Mesterséges Intelligencia Konferencián olyan jó fogadtatásra talált, hogy a DARPA finanszírozta a fejlesztését.

A számítási teljesítmény exponenciális növekedésének egy bizonyos pontján ( Moore-törvény ) a lambda-számítás hardveres támogatásának már nem volt gazdasági értelme a fogyasztói számítógépek számára, és a Lisp-gépek gyártói elhagyták a piacot.

Linkek