lisp machine
Články: The lost cause of lisp machines
Je to klasický příklad tkzv: high-level language computer architecture
Lisp machine byl general-purpose počítač navržený tak, aby na něm běžel Lisp efektivně a byl využíván jako “hlavní” programovací jazyk.
Celá architektura stroje byla navržena tak, aby přímo podporovala vlastnosti Lispu, tedy v té době převratné vlastnosti jako:
- dynamické typování
- garbage collection
- flexibilní struktury dat
Navíc byl Lisp jako takový velmi velký a v té době náročný na provoz.
Hardwarová architektura
Architektura lisp machine se hodně lišila od typické počítačové architektury, na které jsem zvyklý, jako je CISC nebo RISC. Měla specializované hardwarové prvky a využívala takzvanou tagged architecture.
Ta umožňovala hardwarovou kontrolu typům tedy procesor lisp machine byl schopný interpretovat tagy přímo v rámci jediné instrukce.
Zánik
Lisp machines měli plno problémů, které vedli k selhání:
- Lisp Machines byly od začátku velmi drahé a exkluzivní řešení.
- Počítače s RISC procesory (např. Sun Microsystems, HP, DEC) se staly neuvěřitelně rychlé. Standardní 32- a 64bitové procesory, podporované obrovskými investicemi do masové výroby, dosáhly takového výkonu, že dokázaly spouštět Lispové implementace (jako Common Lisp) na standardním hardwaru stejně rychle nebo rychleji a mnohem levněji než specializované Lisp Machines.
- Pokrok v Kompilátorech: Zdokonalení JIT-compiler (Just-In-Time) a AOT-compiler (Ahead-of-Time) kompilátorů dokázalo efektivně implementovat kontrolu typů a GC i na konvenčním hardwaru, čímž eliminovalo hlavní výhodu taggované architektury.