パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Sun、SPARCプロセッサをオープンソース化」記事へのコメント

  • すごく単純な意見ですけど、どこぞの誰かが回路図(HDLソース)を解析して、とてつもなく最適化された機械語を吐いてくれるコンパイラとか書いてくれそうですよね、
    それこそ秘孔を突くような、パイプラインの段数とかも考慮に入れたようなのを吐き出してくれるやつ。
    あとは、アセンブラ直書きのライブラリとか。

    #某国産RISCチップの機械語を読んで、Cのコードを書きかえて速度アップをさせた経験あり。
    #そんなに大きなコードではありませんでしたが。
    • by astro (17245) on 2006年03月28日 10時46分 (#910250) 日記
      Pentium(P5)全盛だった頃、友人がPentiumGCCで再コンパイルすると
      速くなると言って、片っ端から再コンパイルしてた記憶があります。

      昔では386と486でも高速に動かすにはコードの最適化が必要でだったはずです。
      たとえば386ではJumpはDword境界で行ったほうが効率がいいので、
      境界整合のためNOPを入れたりしたようですが、486では意識せずによくなったとか、
      命令ごとのクロックサイクルを意識することもなくなったとかいうのも
      プロセッサの設計からくる最適化ネタですかね。
      親コメント
      • by Anonymous Coward on 2006年03月28日 12時25分 (#910321)
        最適化ネタといえばそうかもしれませんが方向が逆ですね。

        コードの最適化をシリコン上でon the flyでやってしまうことがプロセッサの大きな進化です。CISC命令をRISCライク命令に変換、レジスタリネーミング、アウトオブオーダー、データプリフェッチなどなど、最適化の塊です。デコードステージがやたら長く、実行ステージがわずかなのはその証明ですね。

        そうして、コンパイラはあまり最適化など考えないでよい方向になってしまいました。それはそれでインストラクションアーキテクチャの意味がより大きくなって良いことではあります。

        こってこてのコンパイルをやるというのなら回路図から最適な最適化方法を推定するというのもありかもしれませんが。

        親コメント
        • > コードの最適化をシリコン上でon the flyでやってしま
          > うことがプロセッサの大きな進化です。CISC命令をRISC
          > ライク命令に変換、レジスタリネーミング、アウトオブ
          > オーダー、データプリフェッチなどなど、最適化の塊で
          > す。デコードステージがやたら長く、実行ステージがわ
          > ずかなのはその証明ですね。

           そのはずなんですけどね~。コンパイラが最適化を考え
          なくていいどころか、プログラマーがCのソースコード上
          で、ループアンロールまでやらないといけないのが現実
          だったりして。
           Pentium4 + IntelC++コンパイラですけど、本当のレジ
          スタなんか見えないはずなのに、Cのソース上でループ
          アンロールをはじめとする、姑息な最適化が結構効果が
          あったりしました。
          親コメント

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

処理中...