[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1044] Re: guide0.
こんばんは、川合です。
Myurika さんは 2000/08/03 19:59:07 の「[OSASK 1042] Re: guide0.
」で書きました:
>> 1つは、「基本的に1文はCPUの1命令に相当する」というルールの
>>ためです。ポインタ変数をそのままポインタとして評価し、機能させる
>>命令はIA-32にはありません。
> なるほど。
> よく考えると、仮にポインタとして評価させるような命令があったとして、じゃ
>あポインタへのポインタはどうするのか? って突き詰めていくと、やっぱりダメ
>になりそうですね。
そうですね。この方針をつらぬく限り、命令がなかったらやっぱりア
ウトです。
> 私にとって最大の思い違いは、ASKAを「アセンブラ的なアプローチの出来る高
>級言語」だと思っていたことでしょう(苦笑)。川合さんの言う、「なにも考えな
>いで書けば勝手に速くコンパクトなコードになる」あたりの発言を拡大解釈して
>いたようです。
ええと、その発言は、[OSASK 676]の
>は僕にはできません)。ASKAで自然に書けば、いつのまにかコンパクト
>で簡潔なコードになります。
のことですね。この発言の直後にASKAのサンプルを公開できれば良かっ
たのでしょうが、実際は間があいてしまって、そのうちにいろいろ期待
が膨らんでしまったのかもしれません。すみませんでした。
この発言のポイントは、「速くなる」、「楽である」とは言っていな
いというところかもしれません(笑)。ASKAではどうしても命令数を意
識させられます。誰だって長いプログラムを延々とは書きたくありませ
ん。それで、結果的に命令数を減らすように努力するはずです。それは
、コードがコンパクトになることにつながります。
コードがコンパクトになると余計なことは極力しなくなるので、たい
ていはそれに伴って実行速度も高速化されますが、必ずというわけでは
ありません。やはり、本当の高速化のためには、命令数ではなくクロッ
ク数で考えなくてはいけないのです。高速化のためにコードサイズが増
加するのは、よくあることです。ですからASKAを使ってコードを書いて
も、「最速」のコードを得るためにはそれなりの努力が必要になります
。
> 実際には「可視性の高いアセンブラ」、ぐらいに認識しているのが良さそうで
>すね。
そうです。そういう風に見れば、まあ、不便さも納得できるのではな
いでしょうか(笑)。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.or.jp
Homepage http://www.imasy.or.jp/~kawai/