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

Alphaは死なず!」記事へのコメント

  • IA64にどうやって HT(Hyper Threading)を付け足すのか興味がある.

    Pentium4は,スーパースケーラのアーキテクチャを取っているので,実行時に使用されるリソースが動的に決定される.だから,Pentium4に HTを実装ときに,アーキテクチャとの親和性が高いのはわかる.

    IA64は VLIWのアーキテクチャだから,実行前にリソースの割り当てが決定されている.1つの命令ユニットにパックされたいくつかのopは,かならず同時に実行するはず.そういう前提で HTを実装すると,各リソースごとではなく,命令ユニットごとのスケジューリングにならないだろ

    • by shiba (273) on 2002年02月06日 10時45分 (#60297) ホームページ
      >全部の CPUの実行リソースとキャッシュメモリを共通化するところが
      >違う.こうすることで,コストパフォーマンスがかなり上がるはず
      >だ.

      2つなら1,4~1.9倍に,4つなら3倍程度にダイサイズ?(シリコン
      チップの大きさ)が大きくなると思いますが.そうなると,
          ウェハーあたりの製品数が減る
          歩留まりが悪くなる
      の2点からコストパフォーマンスが『かなり』上がるとは考えにくい
      のですが.(かえって悪くなる?)

      それに複数のプロセスでキャッシュメモリを共通化(共有)しても,
      共通部分(共有可能部分)が実質ないので,キャッシュのヒットミス
      が増えると思いますが.

      (私が何か勘違いしているのかな?)
      親コメント
      • ダイサイズ?(シリコンチップの大きさ)が大きくなる
        と言えば、NEWS.COMのこの記事 [com.com]に依れば、 McKinleyのダイサイズは 464 square millimetersもあるそうです。
        親コメント
      • by task_o (5050) on 2002年02月06日 11時59分 (#60325)
        ソースは失念しましたが、
        プロセスルールが進み集積度が上がっても
        性能向上のためロジックを投入すべき有効な
        マイクロアーキテクチャがもう他に見あたらない
        (増えるトランジスタの使い途が他にない) ので、
        あとはワンチップSMPぐらいかな?という経緯だったはず。
        親コメント
      • by WindKnight (1253) on 2002年02月06日 14時03分 (#60373) 日記
        P4の場合、ダイサイズに占めるキャッシュメモリーの面積は、かなり大きかったような。

        2次キャッシュを共通化した場合、2CPUでも1.3~1.5倍くらいで済むと思いますよ。

        ちなみに、HTで2CPUに似せた場合なら、1.1倍以下だそうな。
        親コメント
      • > それに複数のプロセスでキャッシュメモリを共通化(共有)して
        > も,共通部分(共有可能部分)が実質ないので,キャッシュのヒッ
        > トミスが増えると思いますが.

        それは正しいと思います。

        ただ、もう一つ複数の Processor Element(PE) でキャッシュ
        を共有すると、ひとつの PE とキャッシュ間のバス幅が見掛け
        上減ってしまう問題がありまして、こちらの方がより深刻だ
        と思います。

        つまり、HT なしのプロセッサが 1サイクルに 2ワード分のデ
        ータをキャッシュからレジスタに転送できるとすると、2way
        HT のプロセッサは、1スレッドあたりの転送量は半分。
        1サイクルに1ワード分になります。

        HT (というかSMT) の出発点は CPU 内に暇なファンクション
        ユニットがあるからこれを有効活用しようという話のはずで
        すが、CPU 内に暇なファンクションユニットが出来る最大の
        理由は load/store にあると思うのですが、、、
        --
        コンタミは発見の母
        親コメント
        • 確かに,CPUのクロックが上がっていく速度に,メモリの速度アップがついていっていないので,実行リソースの利用率が下がっていっていますね.しかし,SMTには,キャッシュミスで停止したスレッド以外のスレッドで,実行リソースを使うという面があります.

          個人的見解ですが,Pentium4の HTで問題になるのは,PEとキャッシュ間の実効帯域幅の低下よりも,キャッシュのヒット率の低下だと思います.Pentium4では,はじめから HTの実装がなされていたという疑惑があり,もしそうであれば,最初からキャッシュの実行帯域幅の低下については,何らかの対策がなされていると思うからです.

          また,Pentium4で L1キャッシュがあのような構造になっているのは,ストール時のレイテンシを下げるという目的と,命令キャッシュの実効帯域幅の向上という目的があると思います.そのことで,PEと命令キャッシュ間の実効帯域幅の低下については,対策がなされているのではないでしょうか.

          そういう前提で考えると,Pentium4の HTでは,これから製造プロセスの微細化に伴ってキャッシュの容量を増やし,残るキャッシュのヒット率の問題をクリアしていくというのが,Intelの読みかも知れませんね.

          親コメント
      • by seldon (5637) on 2002年02月07日 13時44分 (#60599)
        歩留まりが悪くなる
        の2点からコストパフォーマンスが『かなり』上がるとは考えにくい のですが
        欠陥のあるチップはシングルプロセスプロセッサとして売れば多少は元が取れます。
        名前はそう、SXです :-)
        親コメント
      • by Psychs (7786) on 2002年02月08日 1時54分 (#60836)

        Hyper Threadingで,複数のスレッドを処理するメリットは,「空いている実行リソースを使うこと」であり,そういう意味で,コストパフォーマンスがよくなるわけです.

        ILP(Instruction Level Parallelism)を利用することで,平均して並列度1.5から1.8程度の実行効率が得られますが,ILPのみでは行き詰まっており,TLP(Thread Level Parallelism)が利用されることになったという経緯があります.

        たとえば,Athlonはスーパースケーラ(ILP)で,並列度3の実行に耐えられるようにできていますが,実際は並列度1.5程度の実行効率しか得られていません.しかし,スレッド数2のTLPを利用することで,おそらく並列度2を上回る実行効率が得られると思います.

        ここで,あらかじめ並列度6を許容する実行リソースを用意して,スレッド数4の TLPを利用することを考えるわけです.こうすることで,実行リソースは元の2倍でありながら,おそらく並列度4以上の実行効率が得られると思います.

        そうすると,元のリソースの 2倍と少しのリソースで,少なくとも3倍弱の実行効率が得られるわけです.これから,半導体の製造プロセスが微細化していくでしょうが,キャッシュメモリばかり増やしていっても,それほどパフォーマンスは上がりません.現状でも,CPUダイ上でキャッシュメモリの占めるリソースの割合はかなり大きいのです.

        ですから,これからの CPUは ILPだけではなく,TLPを考慮に入れ,そのスレッド数を増やすことで,パフォーマンスとコストパフォーマンスの両面で改善が進められていくと思うわけです.

        親コメント

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

処理中...