More Related Content Similar to Lisp_chibi_machine 190427 (20) More from たけおか しょうぞう (17) Lisp_chibi_machine 1904274.
1.「リレーショナルデータベースを内在するカーネル
プログラム、方法及び装置」
●
かなり広範囲に適用される…
●
データベースをカーネル空間内で動作させる
●
Data Base in the kernel space
●
特許番号【特許第5711840号】
●
登録日 【2015年3月13日】
●
豊田通商(現在:株式会社ネクスティエレクトロニクスと、
たけおかラボ株式会社との共同特許
●
2.「アプリケーションに依存することなくファイルにアクセ
スするOSプログラム及び方法」
●
データファイルに、データへのアクセス手続きを、くっつ
けておく
●
Access methods in a data file
●
OS API経由で、データファイル内のアクセス手続きを呼び出す
●
どんな形式のファイルでも、データの読み書きができる
●
特許番号【特許第6143038号】
●
登録日 【2017年5月19日】
●
株式会社ネクスティエレクトロニクスと、
たけおかラボ株式会社との共同特許
※たけおかラボ(株)は、(株)アックスの子会社
取得済み特許:今後の基本ソフトウェアの重要な部分
5. たけおかのプロフィール1980年代: UNIXの仮名漢字変換システムWnnや Temporal Prolog
(時相論理Prolog)を京大数解研の地下辺りで作ったり。渋谷や神保町辺りで
国産X Window端末などの設計開発に携わる。TCP/IPスタックを自分で書く
1990年代初頭:豊橋技科大 湯淺研にて、1024PE規模の超並列計算機“SM-1”の
LSIハードウェア、基本ソフトウェアの設計開発に携わる。
現在: 実時間OSを作らせたり、 Linux, BSDのコアな移植をさせたり、
自動運転の研究開発を手伝ったり、
Lispで、AI開発中(推論システム+機械学習のハイブリッドAI)
湯淺研 SM-1 フロントエンドはSparc
開発環境はCommon LispとC
萩谷さんに貰った
(サインはしてくれない)
ザウルス SH-3版
(XTAL採用)
オリンパス デジカメ
(XTAL採用)
6. 6
オレの三目並べ(論理推論AI)•
1977年(高校2年生)に、三目並べ(○×)を打つプログラムを開発
•
”Artificial Intelligence: The Heuristic Programming
Approach”(1971/DEC)の
日本語版,「人工知能 発見的プログラミング」(1972/JAN)を読んで…
•
真面目に木探索. AIが自分で最適な手を見つける
•
私より、プログラムの方が良い手を打った (私は、勝負事に興味が無い)
•
巨大プログラム電卓 500ステップ,30メモリ(2分割使用 可能),命令は
アセンブラ風,浮動小数点数は使い放題
•
同じ年にTK-80を入手し、8080機械語でも記述
•
全メモリ:512Bytes, CPUクロック周波数:2MHz
•
オセロゲームを打つプログラムが流行るのはその何年も後
•
「発見的手法(Heuristic)」がAI
•
人間がプログラミングした以上のことがらを、AIが見つける
並列AI開発が
ライフワーク
15. 通常マシンの特徴 昔 vs 今
- - 昔 - -
メモリがクソ遅い
マイクロコードで回った方が速かった
– 高速ROMからのマイクロコー
ド・フェッチ/ワイヤ制御
– ラッチ(レジスタ)か高速SRAM
で作られた記憶
– 外からマクロ命令をちょっと
読んで、マイクロで回る
– 細粒度並列性は
マイクロコードとハードワイ
ヤで実現
ベクトルマシン
– ベクトル命令を1つ読んで、た
くさん計算
- - 今 - -
キャッシュが大きい
– マクロ命令フェッチ,デー
タ・フェッチ 遅くない
スーパースカラ&投機実行 素敵
– でも、コア内に
• 十分なデータと、
• スレッドが必要
GPU
– ベクトル・アーキテク
チャ
– ベクトル・パイプが多い
17. Lisp マシンのマクロ命令セットの説明
和訳
Lisp マシンのマクロ命令セットの説明
MIT のTom Knight氏の、
"The LISP Machine Macro-instruction Set."
http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/
mit/cadr/Knight-LISP_Machine_Macro_Instruction_Set-
1979.pdf
私が和訳した
http://www.takeoka.org/~take/ailabo/cadr/knight-lispm-
macroinst.html
21. 21
32KBのメモリでなにができるの?
往年の名機との比較 (偉い先生も、よく遊び & よく遊び)
Apple ][
8bit
PC-8001
8bit
PC-9801
16bit
PIC32MX270
32bit
LPC1114
32bit
年代 1977 1979 1982 2016 2011
CPU 6502 @1MHz Z80 @4MHz 8086 @5MHz MIPS
@40MHz
Cortex M0
@50MHz
ROM 8KB 24KB 96KB 256KB 32KB
RAM 4KB~48KB 16KB~32KB 128KB~640KB 64KB 4KB
整数BASIC:
6KB,
BIOS+モニ
タ: 2KB
浮動小数点
BASIC
(拡張版M-
BASIC)
浮動小数点
BASIC,モニタ
MT-
BASIC:21KB
通常
BASIC:16KB
MT-
BASIC:21KB
通常
BASIC:16KB
21世紀
2010年〜
20世紀
1980年頃
23. 23
高級言語マシン
Alto Symbolics
3600
Mac初代 PIC32MX
270
年代 1973 1983 1984 2016
CPU bit slice
(マイクロ・プログラム)
0.3MIPS
Bit slice
@5MHz〜
8MHz
68000
@5MHz
0.3MIPS
MIPS
@40MHz
1.5MIPS
ROM (micro code) (micro code) 64KB 256KB
RAM 128KB~512KB 〜2.3MB 128KB 64KB
16bit word 36bit word 16bit word 32bit word
21世紀
平成
20世紀
1980年代
26. 26
極小Lispマシン (PIC32)
PIC32MX250
– 秋月で¥350円
– ROM:128KB
– RAM:32KB
– CPU速度:約1.5VaxMips(公称)
液晶: Aitendo 1.4inch, 128x64 dot
上下キーで、ワードを選択
– LispのSymbol tableから引いてく
る
• 一度入力したワードは、
補完よりはるかに速く入力可能
●
ケースは、100円ショップの
クリップの入れ物
33. 33
Lisp Badge !?!!!
●
10th January 2019
●
This is a self-contained computer with its own display and keyboard, based on an
ATmega1284, that you can program in the high-level language Lisp:
●
Memory available: 2816 Lisp cells (11,264 bytes).
●
EEPROM: 1024 Lisp cells (4096 bytes), allows you to save the Lisp workspace using
save-image.
●
the AVR version of uLisp Version 2.5
http://www.ulisp.com/show?1AA0
●
Processor: ATmega1284P
●
Clock speed: 16 MHz.
●
ATmega1284はしょぼい
●
偉い!
http://www.technoblogy.com/show?2AEE
36. 36
昔の機械
Apple ][, MZ80K, PC8001 (最初のパソコンらしいパソ
コン)
– 16KB メモリ (Apple][, MZ80Kは4KBからだっけ
か?
– (ROM 24KB: PC8001, MS BASIC入り)
CPU: 6502@1MHz, Z80@4MHz
– 4MHzのZ80は、Intel Core i7 2600Kの「100万分
の5」ぐらいの性能
• http://en.wikipedia.org/wiki/
Instructions_per_second による
–10~15K命令/秒 \(^^;/
37. 37
極小マシンと言えど
– RAM: 32KB vs 16KB ;勝った
– ROM: 128KB vs ROM 24KB; 勝ってるwww
CPU: 1.5Mips vs 15KIPS ; 百倍ぐらい速い
– 15Kipsと 1Mipsの差は極めて大きい
• SUN2 (0.8 Mips程度)と Z80では、できることの質が違いすぎ
る
メモリ総量に対して、CPUが高速過ぎる www
– GCで、いくらメモリをなめても、人間の体感的には気づかない
\(^^)/
– 他のリソースがしょぼすぎるwww
PIO, ADCが Lispから触れるのは画期的だよ!
39. 39
デモ
aaa: クロージャが使える
(set! aaa (let (z) (set! z 0) (lambda (x) (set! z (cons x z)))))
Lise>>(aaa 'a)
(a .0) gc
Lise>>(aaa 'a)
(a a .0) gc
Lise>>(aaa 'a)
(a a a .0) gc
Lise>>(aaa 'a)
(a a a a .0) gc
Lise>>z
NIL gc
Lise>>z
NIL gc
Lise>>(set! z 'qqq)
qqq gc
Lise>>z
qqq gc
Lise>>(aaa 'aa)
(aa a a a a .0) gc
Lise>>aaa
closure-40D0 gc
40. 40
ユビキタスAI
ユビキタス AI 時代が、近日、来る (当社比)
– 俺たち、推論エンジン(Lisp,Prologハイブリッド)を作ってみたら、
超 成績いい!
– ケータイの中で十二分に動作する
センサの中に Lisp
– PIO, ADCが Lispから触れるのは画期的だよ!
– ADC, PIO の入力を、Lispで前処理
– Lispは安全(メモリを踏みつぶしたりしない)
– フィールドで、実機と対話的できる
– 開発環境がなくともデバッグ、調整ができる
ケータイの中に推論エンジン
バックエンド・サーバに、大型 知識ベース
OSに、人工知能 搭載が普通の時代になるっ!!!
47. pic32 minimal Lisp Machine
LCD
Connector
PIC32 Sym pin
△1 CS1 RB0 4
2 RES RB1 5
3 A0 RB2 6
4 SCK RB3 7
5 SDI RB5 14
6 VCC(3.3
V)
7 GND
8 LED+
9 RX U1RX 12
10 VDD VDD 13
11 RB5
12 TX U1TX 11
PIC32 Sym pin Mask
RB15 26 $8000
RB14 25 $4000
RB13 24 $2000
RB11 22 $800
RB9 18 $200
RB8 17 $100
RB7 16 $80
Switch
◎$80
◎$2000
◎$100
◎$200
◎$8000
◎$4000