Кіріспе
Lisp-ті орындауға мамандандырылған компьютерлер – Lisp машиналары, негізгі бағдарламалық жасақтамасы және бағдарламалау тілі ретінде Lisp-ті, әдетте аппараттық қолдау арқылы тиімді орындауға арналған жалпы мақсаттағы компьютерлер. Олар жоғары деңгейдегі тілдік компьютерлік архитектураның мысалы болып табылады. Шын мәнінде, олар алғашқы коммерциялық бір пайдаланушыға арналған жұмыс станциялары еді. Саны шамалы болғанына қарамастан (1988 жылғы мәліметтерге сәйкес, шамамен 7000 дана), Lisp машиналары коммерциялық жолмен қазір кең таралған көптеген технологияларды енгізді, олардың ішінде тиімді қоқыс жинау, лазерлік басып шығару, терезелік жүйелер, компьютерлік тышқандар, жоғары ажыратымдылықтағы биттік карталы растрлық графика, компьютерлік графиканы көрсету және Chaosnet сияқты желілік жаңалықтар бар. 1980-ші жылдары бірнеше компания Lisp машиналарын жасап сатты: Symbolics (3600, 3640, XL1200, MacIvory және басқа модельдер), Lisp Machines Incorporated (LMI Lambda), Texas Instruments (Explorer, MicroExplorer) және Xerox (Interlisp D жұмыс станциялары). Операциялық жүйелер Lisp Machine Lisp, Interlisp (Xerox) және кейінірек ішінара Common Lisp тілдерінде жазылды.
the type of computer
Lisp machines are general purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high level language computer architecture. In a sense, they were the first commercial single user workstations. Despite being modest in number (perhaps 7,000 units total as of 1988) Lisp machines commercially pioneered many now commonplace technologies, including effective garbage collection, laser printing, windowing systems, computer mice, high resolution bit mapped raster graphics, computer graphic rendering, and networking innovations such as Chaosnet. Several firms built and sold Lisp machines in the 1980s: Symbolics (3600, 3640, XL1200, MacIvory, and other models), Lisp Machines Incorporated (LMI Lambda), Texas Instruments (Explorer, MicroExplorer), and Xerox (Interlisp D workstations). The operating systems were written in Lisp Machine Lisp, Interlisp (Xerox), and later partly in Common Lisp.
Тарихи контекст
1960 және 1970 жылдардағы жасанды интеллект (AI) компьютерлік бағдарламалары процессор уақыты және жад кеңістігімен өлшенгенде, сол кезде өте көп компьютерлік қуатқа мұқтаж болды. AI зерттеулерінің қуат талаптары Lisp символдық бағдарламалау тілімен күшейді, себебі коммерциялық аппараттық құралдар құрастыру және Фортран сияқты бағдарламалау тілдері үшін жобаланып, оңтайландырылған еді. Бастапқыда мұндай компьютерлік жабдықтың құны оны көптеген пайдаланушылар арасында бөлісуді қажет етті. Интегралды схемалар технологиясы 1960 және 1970 жылдары компьютерлердің өлшемдерін және құнын төмендеткен кезде, ал AI бағдарламаларының жад қажеттілігі ең көп қолданылатын зерттеу компьютері – Digital Equipment Corporation (DEC) PDP 10-ның адрестік кеңістігінен асып кеткенде, зерттеушілер жаңа тәсілді қарастырды: үлкен жасанды интеллект бағдарламаларын жасау және іске қосу үшін арнайы құрылған, Lisp тілінің семантикасына бейімделген компьютер. Операциялық жүйені (салыстырмалы түрде) қарапайым ұстау үшін бұл машиналар ортақ пайдалануға арналмай, бір ғана пайдаланушыға берілді.
Бастапқы дамуы
1973 жылы Массачусетс технология институтының (МИТ) Жасанды интеллект зертханасының (AI Lab) бағдарламашылары Ричард Гринблатт пен Томас Найт 24 биттік таңбаланған архитектурада, бағдарламалық қамтамасыз етуде емес, Lisp-тің негізгі операцияларын тікелей аппараттық құралдарда орындау үшін компьютер құрастыруды бастағанда, MIT Lisp Machine Project жобасын бастады. Машина сонымен қатар инкременттік (немесе Arena) қоқыс жинауды жүзеге асырды. Атап айтқанда, Lisp айнымалылары компиляция уақытында емес, орындалу уақытында типтелгендіктен, екі айнымалыны қосу операциясы дәстүрлі жабдықта сынау және тармақтау нұсқауларына байланысты бес есе көп уақыт алатын. Lisp машиналары сынақтарды дәстүрлі бір нұсқамалық қосымшалармен параллель түрде орындады. Егер бір уақытта жүргізілген сынақтар сәтсіз аяқталса, нәтижелер жойылып, қайта есептелді, бұл көп жағдайда жылдамдықты бірнеше есе арттырды. Осы бір уақытта тексеру әдісі массивтердің шектерін сілтемелегенде және басқа да жадты басқару қажеттіліктерін (қоқыс жинау мен массивтерден өзге) тексеру кезінде де қолданылды. Типтік тексеру 32 биттік стандартты байт сөзін Symbolics 3600 үлгісіндегі Lisp машиналары үшін 36 битке дейін, ал кейін 40 битке немесе одан да көпке дейін ұзарту арқылы одан әрі жақсартылды және автоматтандырылды (әдетте, келесілерге есептелмеген артық биттер қателерді түзету кодтары үшін пайдаланылды). Қосымша биттердің бірінші тобы типтік деректерді сақтау үшін пайдаланылды, бұл машинаны таңбаланған архитектураға айналдырды, ал қалған биттер CDR кодтауын іске асыру үшін қолданылды (әдеттегі байланысты тізім элементтері кеңістіктің шамамен жартысын алу үшін қысылды), бұл қоқыс жинауға бір рет өлшеммен көмектесті. Тағы бір жетістік – Lisp функцияларын тікелей қолдайтын екі микрокодтық нұсқау, бұл кейбір Symbolics жүзеге асыруларында функцияны шақыру құнын 20 тактылық циклға дейін төмендетті. Алғашқы машина CONS машинасы деп аталды (Lisp-тегі тізім құрастыру операторының атынан). Ол көбінесе Найт машинасы деп аталды, мүмкін Найт осы тақырыптағы магистрлік диссертациясын жазғандықтан; ол өте жақсы қабылданды. Кейін CADR деп аталған нұсқаға жаңартылды (Lisp-те тізімнің екінші элементін қайтаратын cadr функциясы, кейбіреулер "cadre" сөзін айтқандай), ол негізінен бірдей архитектураға негізделген. MIT-де және одан тыс жерлерде шамамен 25 CADR прототипі ~50,000 долларға сатылды; ол көптеген хакерлер үшін сүйікті машинаға айналды (мысалы, Emacs 1975 жылы ITS жүйесінен оған көшірілді). 1978 жылы MIT-де өткен жасанды интеллект конференциясында оны осыншалықты жақсы қабылдады, содан кейін Қорғаныс жоғары технологиялық зерттеулер агенттігі (DARPA) оның дамуын қаржыландыруды бастады.
MIT Lisp машинасының технологиясын коммерцияландыру
1979 жылы Рассел Нофтскер, Lisp тілінің күштілігі мен аппараттық үдеткіштердің болуы Lisp машиналарының жарқын коммерциялық болашағына ие екеніне көз жеткізген соң, Гринблаттке технологияны коммерцияландыруды ұсынды. AI Lab хакері үшін күтпеген қадам болған Гринблатт, мүмкін, Лабораторияның бейресми және өнімді атмосферасын нағыз бизнесте қайта жаңғыртуға үміттене отырып, келісім берді. Бұл идеялар мен мақсаттар Нофтскердің ойларынан едәуір өзгеше болды. Екеуі де ұзақ келіссөздер жүргізді, бірақ ешқайсысы да ұстанымдарынан бас тартпады. Фирманың табысқа жетуі үшін AI Lab хакерлерінің толық және біржақты қолдауы қажет болғандықтан, Нофтскер мен Гринблатт кәсіпорның тағдыры олардың қолында екенін, сондықтан шешімді хакерлерге қалдыру керек деп шешті. Таңдау мәселесі зертхананы екі лагерьге бөлді. 1979 жылдың ақпан айында мәселе шешімін тапты. Хакерлер Нофтскердің жағына шықты, өйткені коммерциялық венчурлық қормен қолдау көрсетілген фирманың Гринблатт ұсынған өзін-өзі қамтамасыз ететін стартаптан гөрі Lisp машиналарын аман сақтап, коммерцияландыруға мүмкіндігі жоғары деп сенді. Гринблатт бәсекеде жеңіліп қалды. Осы сәтте Нофтскердің кәсіпорны – Symbolics қалыптаса бастады. Нофтскер қызметкерлеріне жалақы төлеп отырғанмен, хакерлер жұмыс істеуге арналған ғимарат немесе жабдықтары болған жоқ. Ол Патрик Уинстонмен келісім жасасты: Symbolics қызметкерлеріне MIT-де жұмыс істеуге рұқсат бергені үшін Symbolics MIT-ге өзі әзірлеген барлық бағдарламалық қамтамасыздықты ішкі және тегін пайдалануға мүмкіндік береді. Noftsker-мен өткен апатты конференциядан сегіз ай өткен соң, Батыс жағалауындағы бағдарламалаушылар тобымен табиғи тілдік компьютерлік қолданбаны құрастыруға тырысып жүрген CDC-тен келген кеңесші Гринблаттке келіп, оның тобы жұмыс істеуі үшін Lisp машинасы сұрады. Гринблатт өзінің бәсекелес фирмасын құруға шешім қабылдаған, бірақ ештеңе істемеген еді. Кеңесші Александр Джейкобсон Гринблатт фирманы ашып, Джейкобсонға өте қажет Lisp машиналарын жасаудың жалғыз жолы – егер Джейкобсон оны фирманы іске қосуға итермелеп, көмектесе берсе деп шешті. Джейкобсон бизнес-жоспарларды, директорлар кеңесін және Гринблатттың серігін (Ф. Стивен Уайл) жинады. Жаңа құрылған фирма LISP Machine, Inc. (LMI) деп аталды және Джейкобсон арқылы CDC тапсырыстары бойынша қаржыландырылды. Осы шамада Symbolics (Нофтскердің фирмасы) жұмыс істей бастады. Оған Нофтскердің Гринблаттке бір жылдық басымдық беру туралы уәдесі және венчурлық капиталды тартудағы үлкен кешігулер кедергі келтірді. Symbolics-тің басты артықшылығы бар еді: 3 немесе 4 AI Lab хакері Гринблатт үшін жұмыс істеуге кеткен болса, қалған 14 хакер Symbolics-ке қол қойды. Екі AI Lab қызметкері ешқайсысының да жұмысына қабылданбады: Ричард Столлман және Марвин Мински. Алайда, Столлман Symbolics-ті AI зертханасы төңірегінде құрылған хакерлер қауымдастығының құлдырауына кінәлады. Екі жыл бойы, 1982 жылдан 1983 жылдың соңына дейін, Столлман Symbolics бағдарламалаушыларының жұмысын көшіру үшін жеке жұмыс істеді, осылайша олардың зертхана компьютерлеріне монополия құруына жол бермеуді мақсат етті. Бірақ бірқатар ішкі шайқастардан кейін Symbolics 1980/1981 жылдары CADR-ді LM 2 ретінде сата бастады, ал Lisp Machines, Inc. оны LMI CADR ретінде сатады. Symbolics LM 2-ні көптеп шығаруды жоспарламады, өйткені 3600 Lisp машиналарының сериясы тез жеткізілуі керек еді, бірақ 3600 бірнеше рет кешіктірілді, ал Symbolics шамамен 100 LM 2 шығарды, олардың әрқайсысы 70 000 долларға сатылды. Екі фирма да CADR негізінде екінші буын өнімдерін жасады: Symbolics 3600 және LMI LAMBDA (LMI шамамен 200 данасын сата алды). 3600 бір жыл кешіктіріліп шығарылды, CADR-де машина сөзін 36 битке дейін кеңейту, адрестік кеңістікті 28 битке дейін кеңейту және CADR-де микрокодпен іске асырылған белгілі бір жалпы функцияларды жеделдету үшін аппараттық жабдықты қосу арқылы жаңартылды. 3600-ден бір жыл өткен соң 1983 жылы шыққан LMI LAMBDA CADR-мен үйлесімді болды (CADR микрокодын орындай алды), бірақ аппараттық айырмашылықтар болды. Texas Instruments (TI) LMI LAMBDA дизайнын лицензиялап, TI Explorer деген өз нұсқасын шығарған кезде бұл күреске қосылды. Кейбір LMI LAMBDA және TI Explorer Lisp және Unix процессорлары бар екі процессорлы жүйелер болды. TI сонымен қатар TI Explorer үшін өзінің Lisp процессорының 32 биттік микропроцессорлық нұсқасын жасады. Бұл Lisp чипі MicroExplorer үшін де қолданылды – Apple Macintosh II үшін NuBus тақтасы (NuBus бастапқыда MIT-де Lisp машиналарында пайдалану үшін әзірленді). Symbolics 3600 отбасы мен оның операциялық жүйесін Genera әзірлеуді жалғастырды және Symbolics архитектурасының VLSI нұсқасы – Ivory-ді жасады. 1987 жылдан бастап Ivory процессоры негізінде бірнеше машиналар жасалды: Suns және Macs үшін тақталар, жеке жұмыс станциялары және тіпті кіріктірілген жүйелер (I Machine Custom LSI, 32 биттік адрестеме, Symbolics XL 400, UX 400, MacIvory II; 1989 жылы қол жетімді платформалар Symbolics XL 1200, MacIvory III, UX 1200, Zora, NXP1000 "pizza box") болды. Texas Instruments Explorer-ді кремнийге сығып, Apple Mac II үшін карта ретінде ұсынды – MicroExplorer. LMI CADR архитектурасын тастап, өзінің K Machine-ін жасады, бірақ LMI машинаны нарыққа шығарудан бұрын банкротқа ұшырады. Күресінің соңында LMI LAMBDA үшін Moby кеңістігін пайдаланатын үлестірілген жүйе жұмысын аяқтады. Бұл машиналар Lisp операцияларының (дәйектерді тексеру, CDR кодтау) әртүрлі негізгі функцияларына аппараттық қолдау көрсетті, сондай-ақ инкременттік қоқыс жинауға аппараттық қолдау көрсетті. Олар үлкен Lisp бағдарламаларын өте тиімді орындады. Symbolics машинасы көптеген коммерциялық суперминикомпьютерлермен бәсекелесе білді, бірақ оны дәстүрлі мақсаттар үшін бейімдеуге болған жоқ. Symbolics Lisp машиналары компьютерлік графика, модельдеу және анимация сияқты AI емес нарықтарға да сатылды. MIT-тен шыққан Lisp машиналары Lisp Machine Lisp деп аталатын Lisp диалектін қолданды, ол MIT-тің Maclisp-інен тараған. Операциялық жүйелер Lisp-те, көбінесе объектіге бағытталған кеңейтімдерді пайдалана отырып, бастапқы кодтан жазылған. Кейінірек бұл Lisp машиналары Common Lisp-тің әртүрлі нұсқаларын да қолдады (Flavors, New Flavors және Common Lisp Object System (CLOS)пен).
Интерлипс, BBN және Ксерокс
Болт, Беранк және Ньюман (BBN) өзінің жеке Lisp машинасы, Interlisp нұсқасын іске қосатын Иерихон жасады. Ол ешқашан саудаға шығарылмады. Көңілі толмағандықтан, бүкіл AI тобы отставкаға кетіп, көбінесе Xerox компаниясына жұмысқа орналасты. Осылайша, Xerox Palo Alto Research Center, Greenblatt-тың MIT-дегі жекелеген әзірлемелерімен бір уақытта, InterLisp (кейін Common Lisp) іске қосуға арналған өздерінің Lisp машиналарын жасады. Сол аппараттық құралдар әртүрлі бағдарламалық жасақтамамен Smalltalk машиналары және Xerox Star кеңсе жүйесі ретінде де пайдаланылды. Олардың ішінде Xerox 1100, Dolphin (1979); Xerox 1132, Dorado; Xerox 1108, Dandelion (1981); Xerox 1109, Dandetiger; және Xerox 1186/6085, Daybreak кірді. Xerox Lisp машиналарының операциялық жүйесі де виртуалды машинаға көшірілді және Medley деп аталатын өнім ретінде бірнеше платформада қолжетімді. Xerox машинасы өзінің озық әзірлеме ортасы (InterLisp D), ROOMS терезе басқарушысы, алғашқы графикалық пайдаланушы интерфейсі және NoteCards сияқты жаңа қолданбалар (алғашқы гипермәтіндік қолданбалардың бірі) үшін танымал болды. Xerox сонымен қатар қысқартылған нұсқаулар жиынтығын есептеу (RISC) негізінде Lisp машинасы үстінде жұмыс істеді, "Xerox Common Lisp Processor" қолданып, оны 1987 жылға қарай нарыққа шығаруды жоспарлады, бірақ бұл жоспар орындалмады.
Интегралды қорытынды машиналар
1980 жылдардың ортасында Integrated Inference Machines (IIM) Inferstar деп аталған Lisp машиналарының прототиптерін құрастырды.
АҚШ-тан тыс жерлерде Lisp машиналарын дамыту
1984–1985 жылдары Racal және Norsk Data компанияларының бірлескен еншілес компаниясы Racal Norsk, Norsk Data компаниясының ND 500 суперминиін CADR бағдарламалық жасақтамасын (KPS) іске қосатын микрокодталған Lisp машинасы ретінде қайта қолдануға тырысты. Жапондық өндірушілер Lisp машиналар нарығына бірнеше рет енуге әрекеттенді: Fujitsu Facom alpha негізгі процессордың қосымша процессоры, NTT Elis, Toshiba AI процессоры (AIP) және NEC LIME. Бірнеше университеттердің зерттеу жұмыстары жұмыс істейтін прототиптерді жасады, соның ішінде Кобе университетінің TAKITAC 7, RIKEN’s FLATS және Осака университетінің EVLIS. Францияда екі Lisp Machine жобасы пайда болды: Тулуза Пауль Сабатье университетіндегі M3L және кейін MAIA. Германияда Siemens RISC негізіндегі Lisp қосымша процессорын COLIBRI жобалады.
Lisp машиналарының соңы
AI қысының басталуымен және микрокомпьютер революциясының алғашқы кезеңдерімен, ол миникомпьютерлер мен жұмыс станцияларын жасаушыларды құлатты, арзан үстел компьютерлері арнайы аппаратты пайдаланбастан, Lisp бағдарламаларын тіпті Lisp машиналарынан да жылдам орындай алатын болды. Жоғары пайда әкелетін аппараттық бизнесінен айырылған Lisp машиналарын жасаушылардың көпшілігі 90-шы жылдардың басына қарай банкротқа ұшырады, нәтижесінде тек Lucid Inc. сияқты бағдарламалық қамтамасыз етумен айналысатын фирмалар немесе құлдыраудан сақтану үшін бағдарламалық қамтамасыз ету мен қызметтерге көшкен аппараттық жасаушылар ғана қалды. Xerox және TI-ден басқа, Symbolics – Open Genera Lisp машиналық бағдарламалық ортасын және Macsyma компьютерлік алгебра жүйесін сататын жалғыз Lisp машинасы фирмасы болып табылады.
Мұра
Түрлі Lisp машиналары үшін ашық кодты эмуляторлар жазуға бірнеше әрекет жасалды: CADR эмуляциясы, Symbolics L Lisp машинасы эмуляциясы, E3 жобасы (TI Explorer II эмуляциясы), Meroko (TI Explorer I) және Nevermore (TI Explorer I). 2005 жылдың 3 қазанында MIT CADR Lisp Machine бастапқы кодын ашық бастапқы код ретінде жариялады. 2014 жылдың қыркүйегінде PicoLisp әзірлеушісі Александр Бергер PilMCU-ды, PicoLisp-ті аппараттық құралдарда іске асыруды хабарлады. Bitsavers PDF құжат архивінде Symbolics Lisp машиналары, TI Explorer және MicroExplorer Lisp машиналары, сондай-ақ Xerox Interlisp D Lisp машиналары үшін кең көлемді құжаттаманың PDF нұсқалары сақталған.
Қолданбалар
Lisp машиналарын пайдаланған салалар көбінесе жасанды интеллекті қолданбаларының кең ауқымында, сондай-ақ компьютерлік графика, медициналық бейнелерді өңдеу және тағы да көптеген салаларда қолданылды. 80-ші жылдардың басты коммерциялық сарапшы жүйелері: Intellicorp компаниясының Білімдік инженериялық ортасы (KEE), The Carnegie Group Inc. компаниясының Білімді қолөнер және Inference Corporation компаниясының ART (Автоматты қорыту құралы) болды.