パスワードを忘れた? アカウント作成
2207 story

Alphaは死なず! 36

ストーリー by Oliver
フュージョン 部門より

dai 曰く、 "Intelの手に渡って消えゆく運命と思われたAlphaだがNEWS.COMの記事に依ると、 2004年以降に登場するItaniumのバージョンであるMontecitoやChivanoにAlphaの設計コンセプトが取り込まれるとのこと。具体的にItaniumがAlphaからどのような影響を受けるのかは現時点では不明。
IntelはCompaqから100人を越えるAlphaチームの開発者を受け入れたのだから、当然と言えばそうなのだが、彼らがItaniumをどこまで素晴らしいプロセッサに仕上げるか、期待が膨らむ。"

インテルトピックでAlphaな話題って変な気分だ。技術をむしりとるのではなく、アーキテクチャとしてのAlphaに生き残ってほしかったり。いっそのこと、遅れるIA64を捨てて64-bitアーキテクチャとして業界も技術も成熟しているAlphaに完全転換しようぜ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • CPUの未来 (スコア:3, 興味深い)

    by Psychs (7786) on 2002年02月06日 9時58分 (#60286)

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

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

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

    つまり,HTによって,スーパースケーラなら空きリソースは飛躍的に下がるのはわかる.だが,VLIWの場合は,元々の IPC(Instruction per Clock)の範囲で想定されている数の整数倍のリソースを用意して,それを振り分けることにならないのだろうかということだ.

    未来の CPUは,どんな形態になるだろうか. ISSCC2002での発表によると,もっとも有望なのは「Parallelism(並列性)」だという. たとえば,HTを拡張して,4スレッドの同時実行が可能な CPUを作るとかいうような感じだろう.しかし,スレッドレベルの並列性まで考慮に入れたところで,相変わらずタスクスイッチは必要だろう.

    そこでさらに一歩進めて,プロセスレベルの並列性を取り入れて,マルチプロセスプロセッサを作ってみるのはどうだろう.こうなれば,ワンチップに複数のプロセッサを集積するチップマルチプロセッサと発想が変わらなくなるが,全部の CPUの実行リソースとキャッシュメモリを共通化するところが違う.こうすることで,コストパフォーマンスがかなり上がるはずだ.もちろん,排他制御用のロジックを追加する必要があるが,2とか4くらいのオーダーのプロセス数の処理であれば,大したことはないだろう.

    普段何気なく使っている CPUだが,興味は尽きない.

    • Re:CPUの未来 (スコア:2, 興味深い)

      by Average (3404) on 2002年02月06日 10時14分 (#60291) 日記

      全部の CPUの実行リソースとキャッシュメモリを共通化するところが違う.

      IBMなんかが出している2CPUをワンチップにしているPowerなんかは多分キャッシュメモリは共有しているハズです。2次キャッシュだとおもうけど。んで、キャッシュを書き込むときにコヒーレントをとるようになっているはず。
      で、こういうマルチスレッド対応CPUは早く出てほしいです。スレッドを意識して書いたプログラムは1~8CPUなSMPでは
      ほぼスケーラブルに実行性能が上がりますので、あーんな高い2GのCPUを買わないでも、1Gx2で十分な性能が出ますです、
      となる可能性が出て来ますので。
      --
      -----------------
      #そんなワタシはOS/2ユーザー:-)
      親コメント
      • N倍は無理 (スコア:2, すばらしい洞察)

        by nasb (3002) on 2002年02月06日 11時51分 (#60321) 日記
        CPUはデータ依存解消待ちなど、さまざまな遅延原因により実際のCPUパワーの 数割が無駄になります。Hyper Threadingはこの無駄にしてた時間を、別スレッ ドに切り替えて有効利用する、というものです。スレッドが十分に供給されれ ばリソース枯渇以外の遅延が見えなくなります。

        そういうわけで、Hyper Threadingになったからって、残念ながら実行速度や 効率は何倍にもなりません。例えば ZDNetの記事 [zdnet.co.jp]には「30%の性能向上が得られた」と書かれています。どれだけスレッド 数が上がっても、元々のCPUが踏んでいた無駄足の分が効率化されるだけです。

        2スレッドで30%UPなら、3スレッドで35%UP、4スレッドで38%…というようには あがるかもしれませんが、それならコストパフォーマンスの面で2スレッドで 打ち切るでしょうね。

        親コメント
        • by Psychs (7786) on 2002年02月08日 1時27分 (#60829)

          「30%の性能向上が得られた」ということですが,それは現在の Pentium4に実装されている実行リソースの少なくとも 30%が使われていなかったので,HTを実装することにより空いていた実行リソースが有効活用されたということではないでしょうか.

          だから,「2スレッドで30%UPなら、3スレッドで35%UP、4スレッドで38%…」については,実行リソース数を増やさないという前提であれば,2スレッドで30%アップ,3スレッドで31%アップのようにほとんど変わらないと思います. 逆に,キャッシュミスを考慮しないという仮定のもとに,実行リソースを増やすのであれば,シングルスレッドの N倍に近い性能を出すことができると思います.

          親コメント
    • 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を考慮に入れ,そのスレッド数を増やすことで,パフォーマンスとコストパフォーマンスの両面で改善が進められていくと思うわけです.

        親コメント
    • by nasb (3002) on 2002年02月06日 12時10分 (#60332) 日記
      > しかし,スレッドレベルの並列性まで考慮に入れたところで,相変わらずタスクスイッチは必要だろう.
      > そこでさらに一歩進めて,プロセスレベルの並列性を取り入れて,マルチプロセスプロセッサを作ってみるのはどうだろう.

      Hyper Threadingで言うところの「スレッド」は、そのままプロセスでも構いませんよ。OSがその気になればそのまま複数プロセスをスレッドとして流せます。

      もちろん、別のプロセスを同時にhyper threading実行すると、キャッシュを汚染しあうので、どのスレッドを選んで投入するかはちゃんと考えないといけませんが、まあ、単純には同じプロセスのスレッドを投入するのでしょう。
      親コメント
    • by uni (661) on 2002年02月07日 21時40分 (#60757)
      IA64はVLIWの欠点である、
      • NOPでコードが膨れ上がる
      • アーキテクチャの改善(すなわちbit数の増加)を行うと バイナリ互換性がなくなる
      といった点を改善するために、純粋なVLIWではなく、並列可能性を明示したRISCの様な命令セットとなっているそうです。 (ここ [impress.co.jp]の一番下の章に少し載っています。)

      IA64でコンパイラに移された重要な機能は、並列可能性を発見することであり、CPUの資源管理はコンパイラからは抽象化されていると理解しています(間違っていたら指摘していただけると嬉しい)。 このことから、並列可能な命令のうち、一部だけを実行するのは難しくないと思われます。SMTとの相性も悪くないのではないでしょうか。

      親コメント
  • Alphaは死なず (スコア:2, おもしろおかしい)

    by Anonymous Coward on 2002年02月06日 19時02分 (#60378)
    死んで肉骨粉になった、という感じも否定できない。
  • 日本語では、後藤弘茂のWeekly海外ニュース [impress.co.jp]をどうぞ。古いけど。
  • by SteppingWind (2654) on 2002年02月06日 11時26分 (#60310)

    バスアーキテクチャ等でAlphaの技術を引き継いでいたのではないかと思っていたんですが. ですからAthlon登場時からSMP構成にした場合の素性の良さが期待されていましたし(実際に出るまでは時間がかかりましたが), 何よりもAlphaの開発者の内, かなりの人数がAMDに流れたんじゃありませんでしたっけ?

    • by Anonymous Coward on 2002年02月06日 14時00分 (#60369)
      かなりの人数かどうかは知らないけど、Hammer開発チームにAlpha開発出身者が居るのは確からしいです。AthlonはEV6バス使用くらいしか接点が無いものと思ってましたが…どうなんだろ?

      ふと、98年くらいのPC Expoで出展されていたAlpha(型番忘れた)用マザーボードを説明員が「近いうちにAthlonも挿せるようになります!」と力説していたのを思い出した。どうなったんだろ、あれ。
      親コメント
      • なるほど、AMD750(アイアンゲート)チップセットを使った
        Alphaマシンじゃなかったかな、それ。

        同じEV6バスだし、BIOSと、マザーボードのソケットに合わせた
        CPUを用意すれば動かせるはずですよ。ハード的な相違はないし。

        ただ、最近のAthlonはピンの仕様が変化してるからダメかも。

        どこぞのピンの仕様がプッシュプルに変化して使えない…とか、
        KX133マザーを買った人にトドメを刺すためにVIAの人が
        説明していたように思います。
        # ちなみに私はKX133 SLOT-Aマシンを持っています(涙)
        # Classic Athlon 650MHzで今でも現役…。
        親コメント
      • かなりの人数かどうかは知らないけど、Hammer開発チームにAlpha開発出身者が居るのは確からしいです。AthlonはEV6バス使用くらいしか接点が無いものと思ってましたが…どうなんだろ?

        Alphaの末裔というと話題は多いですけど97年頃に話

    • by route99 (7593) on 2002年02月07日 0時39分 (#60449) 日記
      「Athlonは1年半で倍の性能になる」 K7シリーズ開発者が語る [mycom.co.jp]

      というニューズでは

          マイヤー氏は、Athlonの開発に携わったほか、DEC在籍時には
          Alpha 21064/21264プロセッサの共同設計者としても知られている人物。

      とかかれてありますね。
      親コメント
  • by take0m (4948) on 2002年02月06日 12時37分 (#60343) 日記
    IA64ではコンパイラ開発を担当する予定とリリースされてましたよね、数日前に。たしかにコンパイラは性能を決める重要なファクターなのでしょうけど、なんか窓際感ありませんか?
    • コンパイラ (スコア:2, 興味深い)

      by wmet (7766) on 2002年02月06日 13時59分 (#60368)
      VLIWはハードウェアによる実行最適化をコンパイラに移したものだから、コンパイラこそ肝では。
      ハードウェアの方は製造技術やキャッシュ等の要素技術を除けばアーキテクチャ的には単なる力技っぽいイメージを持ってます。
      親コメント
    • by Dot.Zeile (1169) on 2002年02月06日 14時01分 (#60371) 日記
      いや、VLIWではコンパイラはものすごく重要らしいですよ。聞きかじりですけど。
      親コメント
      • by Anonymous Coward
        アーキテクチャによっては、命令セットの追加はコンパイラ屋さん(gnuにお伺いをたてるそうな)が決めるものらしいので、そんなに窓際じゃなくて実際に重要なのでしょう。
        もっとも、IA-64のようにすでに決まっている命令セットに対するコンパイラ設計ではどのくらい権限があるのかわかりませんが。
        • by take0m (4948) on 2002年02月06日 22時02分 (#60415) 日記
          内部事情知らないんでなんともいえないんですが、
          アルファの開発していた人ってやっぱりハード寄りの人が多いのかなぁと思いましてね。ドクター持っているような人が色々考えて開発していんだろうなーと想像してます。

          そんな人が明日から、コンパイラの設計やれっていわれたら悲壮感ないのかなぁと思いまして・・・ハード屋がソフト作るようなイメージがしていました。
          親コメント
          • by Dot.Zeile (1169) on 2002年02月07日 10時18分 (#60538) 日記
            私も内部事情は知らないしCPUに関する知識も乏しいですけど、聞きかじって理解する限りで書くと、VLIWの場合、1インストラクションの中に何を詰め込むかを決めるのはコンパイラの役目だから、チップの中身を熟知してないと効率的なコードを生成するコンパイラは作れないのだと思います。もちろんソフト屋的素養も必須なんでしょうけど、チップ内部での並列処理の動作理解とかはハード屋さん的素養の方が比重が高いのではないでしょうか。それに、想像するに、いったんアーキテクチャが固まってしまったらコアをハードウェア的に改良するのとかコストダウンするのとかは今までのCPUの手法とあんまり変わらないでしょうから、そういう意味ではVLIWを一番理解している部隊はコンパイラに回される、というのは当然なのだろう、と思われます。
            親コメント
  • > いっそのこと、遅れるIA64を捨てて 64-bitアーキテクチャ
    > として業界も技術も成熟している Alphaに完全転換しようぜ。
    Itanium が仮に駄目になっても IA-64 は死にません。
    IA-64a となって蘇るのです。

    なお IA-64a は Alpha21x64 と完全な命令互換性を備えた
    スーパースカラーアーキテクチャの64ビットプロセッサです (^_^;
    --
    コンタミは発見の母
    • by oku (4610) on 2002年02月07日 0時12分 (#60443) 日記
      なお IA-64a は Alpha21x64 と完全な命令互換性を備えた
      スーパースカラーアーキテクチャの64ビットプロセッサです (^_^;
      しかも、おそらくは i8086 と完全な命令互換性を備えています。 :-)
      親コメント
typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...