[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/