[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:19681] Re: make-jについて



石原です.

>   ちょっとマイナーめのCPU Crusoe TM5800 を使っているのですが、これは
> 128bit CPUで32bit命令を4個並列に実行して速度を稼ぐとか、ある意味
> 多パイプラインのような、もしくはHTのようなことをやってわけです。
>
>   で、このCUPをSMPカーネルで使うとシングル用カーネルに比べてバイナリの
> 実行速度が速くなります (といっても自作のプログラムの場合ですので、どんな
> バイナリでも有効なのかってのはよくわかりませんが)。
> 
>   しかしながら、どちらのカーネルで -j 2 をやっても効果はありません。

えっと,Crusoe は x86プロセッサの分岐予測,x86命令のデコード,命令の依存関係
のチェック,レジスタリネーミングなどを CMS でやっているだけなので,
HT のようなことをやっているわけではありません.

当然,OS からは 1CPU にしか見えませんので,make -j 2 で速くなるはずはありません.


> > ところで、AthlonXP のように、パイプラインを横に並べるのと、P4 のように、
> > パイプラインを縦に長くするのとでは、どっちが効くんでしょうね。おそらく
> > 一長一短だとは思うのですが、分岐予測まわりも絡めて考察すると、かなり奥
> > が深そう。
> 
>   個人的には短いパイプラインを横にしたほうが速いんじゃないかなあ、って思
> っています。ベンチマークのような単調な命令をこなすのならばやっぱり深い
> パイプラインのほうが有効なんでしょうけど。

Athron であろうが,Pentium 4 であろうが,Ultra SPARC であろうが,最近の CPU は
スーパーパイプランかつスーパースカラなので,縦にも横にも伸ばしてます.
でも,縦に伸ばし過ぎると分岐予測が外れた時のペナルティが大きくなるし,
横に伸ばしても(並列度を上げても)命令の依存関係をチェックする回路が複雑になるので
どちらもほどほどにですね.

---
ishihara@giga.it.okayama-u.ac.jp

石原 裕基

References
[plamo:19665] Re: make-jについて, Hiroki ISHIHARA
[plamo:19668] Re: make-jについて, Shun-ichi TAHARA (田原 俊一)
[plamo:19670] Re: make -jについて, OHNO Tetsuji

[検索ページ] [メール一覧]
Plamo ML 公開システム