Slide 1

Slide 1 text

幻のLispマシン @kotauchisunsun

Slide 2

Slide 2 text

自己紹介 ● こたうち さんさん ● @kotauchisunsun ● 株式会社STYLY 2019年入社 ● サーバーサイド責任者 ● プラットフォーム部 EM

Slide 3

Slide 3 text

今日の話題

Slide 4

Slide 4 text

君たちはLispマシンを知っているか

Slide 5

Slide 5 text

LISPとは ● 関数型プログラミング言語である。S式と前置記法などが特徴 ● 現在でも広範囲に使用されている高水準プログラミング言語の中で はFORTRAN、COBOLに次いで3番目に古い ● LISPの名前は、「list processor」に由来している。リストはLISPの 主要なデータ構造であり、LISPソースコードはそれ自体がリストから できている。 ● by Wikipedia

Slide 6

Slide 6 text

LISPの例

Slide 7

Slide 7 text

LISPマシンとは ● LISPを効率的に実行する汎用コンピュータとして設計 ● 1988年までに約7000台が出荷 ● 主要メーカー: ○ シンボリックス(3600、3640、XL1200、MacIvory) ○ LMI(LMI Lambda) ○ テキサス・インスツルメンツ(Explorer、MicroExplorer) ○ ゼロックス(InterLisp-D搭載ワークステーション) ● プロセッサはLISPを直接実行するわけではなく、コンパイルされたLISPに 最適化された命令セットを持つスタックマシンになっている。 ● by Wikipedia

Slide 8

Slide 8 text

LISPのアセンブリ? リスト (list) の要素それぞれに対して述語 (predicate) を作用させ、「真」を返す要素数を数える関数。

Slide 9

Slide 9 text

LISPマシンの終焉 ● RISCワークステーションの性能対価格比の向上により、これらLISPマ シンの優位は消えた。 ● ミニコンピュータなどともろともに、高水準言語寄りのアーキテクチャは 基本的には「過去の遺物」とみなされるようになった。 ● ワークステーションの後にはパーソナルコンピュータが続き、ワークス テーションのメーカーも一掃された。現代では、一般のデスクトップPC が特別なハードウェア無しでLISPマシンの何倍も高速にLISPを実行で きるようになった。 ● 1990年代初めにはLISPマシンを製造していた企業は商売が成り立た なくなった。 ● by Wikipedia

Slide 10

Slide 10 text

そんな・・・Lispマシンはもう見れないの・・・?

Slide 11

Slide 11 text

関西にLispマシンの 実機が存在します

Slide 12

Slide 12 text

神戸大学Lispマシン FAST LISP 製造年 1978年〜1979年 製造者 神戸大学工学部システム工学科 所有者 神戸大学大学院システム情報学研究科 史料所 在地 〒657-8501 兵庫県神戸市灘区六甲台町 1-1 神戸大学大学院システム情報学研究科玄関ロビー 神戸大学六甲台キャンパス内に静態展示されています。

Slide 13

Slide 13 text

若き日のこたうちさんの話 ??? 行きたくもないのに大学編入させられて、同級 生もできないし、なんか人が少ない研究棟に課 題提出に行かされて本当にここであってんの か・・・? 生きてる意味あるのだろうか・・・? うん?なんでデカい古い PCがおいてあるんや ・・・?

Slide 14

Slide 14 text

LISPマシンとの出会い LISPマシン LISPマシンやんけ!! 資料でしか見たことないぞ!!

Slide 15

Slide 15 text

FAST LISPの話

Slide 16

Slide 16 text

ハードウェア構成 FACOM 230-38 OSII/メインフレーム ミニコン

Slide 17

Slide 17 text

LISPプロセッサー内部実装 通信 算術

Slide 18

Slide 18 text

ハードウェアのおもろポイント 名称 正式名称 説明 ICAR input car register ICDR input cdr register OCAR output car register OCDR output cdr register STP stack top register スタックの先頭を表す SAR stack address register STKLIM stack limit register スタックオーバーフロー時に 1 NILREG nil register 演算結果がNILのとき1 lisp特有のレジスタが定義されている

Slide 19

Slide 19 text

関数一覧

Slide 20

Slide 20 text

コンパイル例

Slide 21

Slide 21 text

制御方式のイメージ AIモジュール Raspberry Pi AIモジュール プログラム転送 実行・制御 結果の転送 結果の転送

Slide 22

Slide 22 text

制御方式のイメージ Raspberry Pi AIモジュール プログラム転送 実行・制御 結果の転送 結果の転送 FACOM 230-38 OSII/メインフレーム LSI-11 LISP プロセッサ

Slide 23

Slide 23 text

まとめ・感想 ● LISPって言語があるよ ● LISPマシンというLISPを実行する専用のマシンが作られていたよ ● 実物が実は神戸大学に置かれてるよ ● 「LISPマシン」で調べてもあまり情報はないよ ● FAST LISPで調べると結構細かい情報が残ってるよ ● いわゆる一般的なレジスタマシンにはない変わったアーキテクチャが見られるよ ● なんかのタイミングで見れるかもしれないのでLISPマシンをみんなで見に行こう!

Slide 24

Slide 24 text

参考文献 ● LISPマシンの試作 ○ 瀧 和夫・金田 悠紀夫 ○ https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=16342&ite m_no=1&attribute_id=1&file_no=1