Lisp Machine

Stroj Lisp  je univerzální počítačový stroj, jehož architektura je optimalizována pro efektivní provádění programů Lisp .

Ekvivalentní k (abstraktnímu) Turingovu stroji (a konvenčnímu osobnímu počítači ) podle kritéria polynomiální redukovatelnosti .

Přestože stroje Lisp nebyly nikdy široce používány (asi 7 000 po celém světě v roce 1988), mnoho nápadů a softwarových technologií, které jsou dnes běžné, bylo poprvé vyvinuto pomocí strojů Lisp, jako jsou ty, které se používají ve výzkumném středisku Xerox PARC :

Stroje Lisp poskytovaly dostatek příležitostí pro experimentální vývoj v počítačové vědě . Na základě vývoje těchto strojů vznikla nová generace strojírenských pracovišť .

Historie

V roce 1973 začali programátoři laboratoře MIT AI Richard Greenblatt a Thomas Knight pracovat na projektu MIT Lisp Machine Project. Původně to byl počítačový hardware přizpůsobený k provádění některých základních operací Lisp na 24bitové architektuře tagů. Bylo těžkopádné zpracovávat Lisp programy programově, protože Lisp proměnné se zadávají za běhu, ne za kompilace, a kvůli kontrolám a větvení mohlo pouhé přidání dvou proměnných na normálních počítačích trvat až pět minut. Stroj také prováděl sekvenční (nazývaný " Aréna ") svoz odpadu . Při testování na strojích Lisp se paralelně používaly i tradičnější metody – pokud simultánní testy selhaly, pak byl výsledek resetován a přepočítán; v mnoha případech to znamenalo zrychlení. Tato aproximace byla také použita při testování hranic polí a dalších operacích správy paměti (ne nutně shromažďování odpadu nebo související s polem).

Kontrola typu byla následně vylepšena a automatizována, když byla velikost tradičního 32bitového strojového slova zvýšena na 36 bitů na strojích Symbolics 3600 Lisp a dokonce na 40 bitů nebo více (obvykle se extra bity používaly pro kódy opravy chyb). V prvním bloku extra bitů byl uložen datový typ (který učinil architekturu tagovanou) a zbytek byl použit pro kódování CDR (když byly běžné prvky v propojeném seznamu komprimovány přibližně na polovinu), čímž se zjednodušil sběr odpadu o řád. Dalším vylepšením byly dvě instrukce, které speciálním způsobem podporovaly funkce Lisp, čímž se snížila cena volání funkcí na 20 cyklů (v některých implementacích Symboliky).

První stroj, pojmenovaný po operátorovi seznamové stavby v Lisp, byl CONS . To je často nesprávně odkazoval se na jako “rytířský stroj”, možná kvůli Knightově disertační práci na něm. Jeho vylepšená verze – CADR  – je založena na přibližně stejné architektuře. Asi 25 prototypů CADR se prodalo za cenu kolem 50 000. Stal se oblíbeným mezi nadšenými vývojáři a rychle na něj bylo přeneseno mnoho populárních programů (například Emacs v roce 1975 ). Na konferenci MIT Artificial Intelligence v roce 1978 byla tak dobře přijata, že DARPA financovala její vývoj.

V určitém bodě exponenciálního růstu výpočetního výkonu ( Moorův zákon ) přestala hardwarová podpora lambda kalkulu pro spotřebitelské počítače ekonomický smysl a výrobci strojů Lisp opustili trh.

Odkazy