2013年のメモ #0003
2013.08.21 Wed
- neriさんはCLEをスタックマシンベースに改造するらしいです。
2013.08.24 Sat
- しかし3レジスタの16に勝つのは難しい。とはいえ、OSECPUの場合
|12|4|4|8| add a,b,c
- なので、28だったりする。・・・あれ?
- OSECPUの3項型addが長いのは、2項型を優先しているため。
|8|4|8| add a,b
- これなら20で済む。
- OSECPUの第三項が8なのは定数を優先しているため。
|8|4|4| add a,2
- これなら16で済む。
- スタックマシンの場合2項型とかを工夫することはできず、つねに24になる気がする。
- でもloadをひとつつぶしてそれをaddにするなら、addだけは20にできます。でもこれをやりすぎると、短い形式でloadできるものが減ります。
- あとstoreも、load元へ書き戻すという命令を作れば、そしてそれもloadをつぶして実現するなら、2項演算みたいになって、addはついに16になるかも!
- まあload元へ書き戻すのはよくても、add命令を4にするのはやりすぎかなあ。他の演算命令はどうするんだっていう話になるし。だからやっぱり演算子は8のままで。
- ちなみにOSECPUの改善案では、演算子に応じてよく使う定数演算が変わるだろうということで、それを配慮してもっとコンパクトにしようとしています。つまり、文脈が活かせるレジスタマシンはやっぱり機能密度的に有利なんじゃないかと。
2013.08.25 Sun
- CLEはレジスタと変数の区別があるから苦労しているんだなあと思いました。・・・OSECPUみたいに仕様上は全部レジスタにしてしまって、実際のところはJITコンパイラでごまかしてしまえばいいのに。そうすれば、レジスタマシンの3項演算タイプが文句無く最強になって、機能密度追及は存分にできるのに。
2013.09.21 Sat #0
- なんか最近はneriさんブログの感想ばかり書いているけど、でも面白いんだから仕方ない。・・・で、今日もneriさんブログの話題。
2013.09.21 Sat #1
2013.10.18 Fri
2013.11.06
2013.12.29 Sun
- エネループをお買い物(買い足し):
- アマゾンブランドの単3を8本、アマゾンブランドの単4を8本
- 容量や繰り返し回数は最近の本家のエネループには及ばないけど、このスペックで不満は無いので価格重視でこれを選択。
- 充電器 K-KJ11MCC40 を購入
- これは充電器と電池のセット。2,930円だった。充電器の型番は BQ-CC11 。
- 今まで古い充電器を使っていて、4本充電できるタイプがほしかったので。
- 待機電力がすごく少ないところが気に入った。他の充電器よりも割高で、しかもその差額を待機電力の差で取り返すのも容易ではないのは分かった上で、それでもこっちが好き。
- 電池ケース DG-BT5C
- 通貨の2進数化:
- 僕は2進数が大好きで、通貨も今の10進数ベースをやめて、将来は2進数化されるべきだと思っている。
- その際、1円玉、2円玉、4円玉、8円玉・・・としていくと、金種計算がややこしいことこの上ない。ということで、1円玉、4円玉、0x10円玉、0x40円玉、0x100円玉・・・と4進数ベースにするのがいいのではないかと思った。
- ただそれだけの思いつき。
2013.12.30 Mon
- neriさんはCLEにメモリアクセスをつける決心をしたみたいだ。
- この方針は正しいと思う。僕もosecpuを作る前からkhabaの設計においてメモリアクセスをずっと悩んでいた。今の形式は「もうこれでいいや」と勢いで実装した。メモリアクセスを作らないとセキュアなことは何もできないので、osecpu化にあたってそれまでで一番マシなアイデアを形にすることにした。
- ということで、やっぱり同じ道を行くんだなあと思った。
こめんと欄
|