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

x86-64版Windows XP 64 54

ストーリー by Oliver
IA64-vs-x86-64 部門より

yuki-kun曰く、"Promの記事によると、AMDの次期プロセッサHammer用64bit Windows XPのアナウンスが今週末に行われる可能性があるらしい。IA-64用Windows XPは既に存在しているが、IntelのIPF(Itanium Processor Family)が今ひとつぱっとしない事への牽制と保険ということなのだろうか。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by TxG (7966) on 2002年04月24日 17時22分 (#85928)
    過去の命令を一掃して欲しい気持ちでいっぱいです。
    • x86-64 は 64ビットモードでは古い命令は結構排除していますよ。AAA 命令とか。

      ツギハギだらけだけど それなりに「すっきり」した CISC の命令セットにはなっていると思います。

      p.s.

      www.x86-64.org [x86-64.org] から命令セット等の PDF が落とせるけど、AMD は本当に P6 系の命令セットをそのまんま拡張しているんですねぇ。

      一応、汎用レジスタと SSE レジスタが増えています。

          汎用レジスタ 32ビット8本 → 64ビット16本
          SSE レジスタ 128ビット8本 → 128ビット16本

      FPU(x86) レジスタと MMX レジスタは幅も数も そのままなので互換性のためだけに残されたような感じです。

      レジスタは増えたけど演算の型式は RISC 風の 2入力1出力 (A) ではなく、昔ながらの (B) 形式です。

          (A) r0 ← r1 + r2
          (B) r0 ← r0 + r1

      p.p.s.

      ところで x86-64 にはすごい不自然な仕様があります。
      64ビットモードでも 8、16、32ビット幅の演算があるのだけど、演算結果を格納するレジスタの上位ビットの扱いが異なるのです。

      8、16ビット幅の演算の場合は、結果を格納するレジスタの上位ビットがそのまま保持されるのですが、32ビット幅の演算の場合は上位32ビットがゼロ拡張(ゼロクリア)を受けるのです。

      おそらく C コンパイラを作りやすくするための仕様だと思うけど、命令セットだけ眺めるとすごい気持ちが悪いです。
      --
      コンタミは発見の母
      親コメント
      • by youkan (3208) on 2002年04月24日 23時10分 (#86081) 日記
        ムー、20数年前のbitを思い出す。
         Nova->ECLIPSEとPDP->VAXの、16-32へビット長を増やしたのを比較して、VAXのほうのアーキテクチャが成功したという記事。
        親コメント
      • by Pooh (4850) on 2002年04月25日 10時18分 (#86234)
        命令セットのうち整数命令しか書いてなさげなんですが、SSE2命令のうち浮動小数点命令しかサポートしないという話はどうなったんでしょう?実際にどのSSE2命令がHammerでサポートされないのか、知りたいのですが。
        親コメント
    • Re:そろそろ (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2002年04月24日 17時40分 (#85938)
      で、その「技術的に正しい」魔の誘惑に乗ってしまった企業は失敗するってことだね。IntelやMicrosoftが今の支配的地位を築いた理由は、8086やDOSからの曲がりなりにもアップグレードパスを用意したからだと思う。

      僕もいっそうしてほしい気持ちでいっぱいだが、それをしない、というのが企業として正解ではないか。AMDはうまくやるとおもうよ。64ビットCPUの分野で。Intelは正直、失敗に向かっていると思う。x86-64対抗アーキテクチャを出してくるらしいので、それでどれだけ路線を修正できるかどうかが今後の焦点になるはず。

      親コメント
      • それなら (スコア:2, 興味深い)

        by albireo (7374) on 2002年04月24日 22時58分 (#86075) 日記
        「仮想Pentiumモード(以下VP)」を搭載する!
        • ネイティブコードはx86非互換ですっきり
        • VP上でV86モードが動作
        • SSE2やSpeedStepにも対応
        • ついでに3DNow!、x86-64命令もサポート?
          …なんか、コアの大半はPentiumエミュレーションのために浪費しそう。
          ソフトウェアでエミュレーションしろと言うつっこみは却下です(^_^;
        --
        うじゃうじゃ
        親コメント
        • by furukawa (7798) on 2002年04月25日 0時29分 (#86130)
          Itaniumがそれに近いかも。
          親コメント
        • by jdash (8122) on 2002年04月25日 3時17分 (#86172) ホームページ
          コードモーフィングではだめなんでしょうか?
          クールーソーだっけ?
          親コメント
          • by Anonymous Coward
            > コードモーフィングではだめなんでしょうか?
            > クールーソーだっけ?

            コードモーフィングはまさに元コメントに書かれている↓です。

            > ソフトウェアでエミュレーションしろと言うつっこみは却下です(^_^;

            ちなみに .NET は MSIL というバイトコードで構成されていて
            CPU に依存しないバイ
            • by task_o (5050) on 2002年04月25日 10時58分 (#86251)
              JAVA VM より先に、UCSD P-CODE とか Sweet16 とかを
              思い出したわしは爺ぃですか?
              親コメント
              • by Anonymous Coward
                > JAVA VM より先に、UCSD P-CODE とか Sweet16 とかを
                > 思い出したわしは爺ぃですか?

                情報系の人(20代)と MSIL の話をしていたら
                やっぱり USCD P-CODE のことを振られたりしました。
                なので、年齢は関係ないんじゃないでしょうか。
              • by argon (3541) on 2002年04月25日 12時37分 (#86280) 日記
                仮想計算機 COMET とか CASL とかも思い出されます。
                親コメント
              • by Anonymous Coward
                > やっぱり USCD P-CODE のことを振られたりしました。

                USCDじゃなくてUCSD (University of California at San Diego) でしょ。
        • by gand_hi (1923) on 2002年04月25日 12時14分 (#86273)
          ># ネイティブコードはx86非互換ですっきり
          PowerPC615 のことですか?
          親コメント
          • by albireo (7374) on 2002年04月25日 16時20分 (#86346) 日記
            >># ネイティブコードはx86非互換ですっきり
            >PowerPC615 のことですか?

            すみません、意味が掴めません。
            ネイティブコードはx86非互換」なんです。
            単にx86非互換のCPUならたくさんありますし、他の条件(仮想Pentiumモード)とかも満たしてくれないとあまり面白くないと思うのですが。
            それとも、PPC615というのは何か他のPPCファミリとは異なるx86がらみの機能があるのでしょうか?
            --
            うじゃうじゃ
            親コメント
          • by happy (8310) on 2002年04月25日 18時12分 (#86402)
            確かにまず思い出すのは Mac の 680x0 -> PowerPC ですね。

            Java は面白くて、古いコード (クラス、メソッド) はサポートしているものの、コンパイル時とかに「古いの使ってるよ、オプションつけないとコンパイルしないよー」と注意されます。
            これ、わりと有効だと思います。 開発者だけじゃなくて、使用者も知ることができれば更に良いかも。

            なので

            ・X86 コードも遅いながらサポートした環境 (CPU and/or OS) を用意
            ・エンドユーザが「ソフトウェアが古いX86」コードを使っているか簡単に知ることのできる仕組みを用意
            ・するとパソコン雑誌等には「良いソフトですが、ただまだX86コード使っているのが残念」などと書かれたりし、有料ソフトやシェウェアは対応せざるを得ない状況に。

            という展開になるといいな、と個人的には思っています。
            親コメント
      • 過去への互換性のしがらみで既存企業の技術が複雑かつ冗長になっていけば、どこかで斬新かつ革新的なテクノロジーを持った企業との競争で不利になる局面が出てくるのではないかと思います。
        そのようにして時代は変わっていくのではないかと思うのです。もちろんノスタルジーや、独特の味わいなどで、古い技術に愛着を持つ人が居て、それが消えて無くなる事はないのかも知れませんけども。
        親コメント
        • Re:そろそろ (スコア:1, 興味深い)

          by Anonymous Coward on 2002年04月24日 18時49分 (#85964)
          そう思うでしょ。だからこそ甘い誘惑なんだよ。いままでどれだけ革新的な技術が消えていったことか。どれだけ新世代なOSが死んだことか。たとえば、21世紀には当然分散OSなんぞを使っているんだろうと思っていたのが、いまだにたいして代わり映えもしないUNIXを使い続けている。

          ノスタルジーや独特の味わいなんて言うのは関係ない。既存の巨大なインストールベースに対抗するには、生半可な「革新」ではだめなの。IA-64なら、IA-32の10倍の性能くらいだせないと普及は難しいと思う。でないと、よりスムーズなアップグレードパスを提供するHammerに負ける。そゆこと。

          親コメント
          • あ、そう言う意味でなら、私も現時点でIA-64が簡単に商売になるとは思えません。
            X86はまだまだ挑戦者に打ち負かされるほど、引きずっている古いものの重さが過大にはなってないでしょう。
            親コメント
            • > X86はまだまだ挑戦者に打ち負かされるほど、引きずっている古いものの重さが
              > 過大にはなってないでしょう。

              そうなんですよね。
              x86 は命令セットは古いんだけど、x86 命令を μOP やRISC86 と呼ばれる RISC 風命令に置き換えて実行するから、CPU の内部はバリバリのスーパースカラー RISC プロセッサなんですよ。
              Pentium4 では変換後の μOP命令をそのまま溜め込むトレースキャッシュを実装しているので更にペナルティは小さいです。

              一方、SUN の UNIX 機に載っている UltraSPARC 系の石はSPARC(Scalable Processor ARChitecuture) という命令セットを採用しています。
              かつて RISC の星とされたその命令セットですが、 register window という「出た当時は大変便利だと思われた機構」が今では性能向上を阻害する要因になり果てています。
              南無三。
              --
              コンタミは発見の母
              親コメント
              • by boo (899) on 2002年04月25日 9時44分 (#86219) 日記
                > 一方、SUN の UNIX 機に載っている UltraSPARC 系の石はSPARC
                > (Scalable Processor ARChitecuture) という命令セットを採用しています。
                > かつて RISC の星とされたその命令セットですが、 register
                > window という「出た当時は大変便利だと思われた機構」が
                > 今では性能向上を阻害する要因になり果てています。

                SPARCにはもう少し言いたいことがあって、
                ・今ではあるだけ無駄な annul bit 付き delay slot
                ・命令デコードが終わるまでレジスタが決定できない浮動小数点系命令
                 (V9の話ね。64本レジスタがあるのに5bitしかないんだもん。)
                とか、何とかならんかと思います。

                最近では一部の命令は内部でμOPに分解してるそうなので、こちらももうRISCとはいえないかもしれない。
                (過去の資産に頼っているようにも見えるし。)

                # 「スコアの +1 ボーナスを使わない 」なんてできたんだ。内容で勝負ってわけね…
                --
                あぁ、「ン」が消えてるんですよ。「ビーフン・カレー」ね。
                親コメント
              • 亀のように遅いフォローですまんっす。
                いい加減なことを書くのはまずいと思って、PA-RISC について調べものをしていたら遅くなってしまいました。

                > SPARCにはもう少し言いたいことがあって、
                > ・今ではあるだけ無駄な annul bit 付き delay slot

                私は delay slot に関しては、SPARC 一人の罪ではないと許しています。

                MIPS には分岐しない(not-taken) の場合には delay slot を無視する条件分岐命令群が用意されていますから annnul bit 付き branch があるのと実質同じです。

                PA-RISC の条件分岐命令には delay slot が必ず掛かります。
                しかし分岐命令に nullification を指定することで、delay slot に埋めた命令を nullify することが可能です(nullification = 分岐・演算命令に指定できる機能で、演算結果によって後続の命令をスキップする)。
                この機能を使うと delay slot に入った命令を 前方条件分岐の時には分岐する(taken)の時にスキップ、後方条件分岐の時には分岐しない(not-taken)の時にスキップします。annul bit よりも面倒くさいです。

                > ・命令デコードが終わるまでレジスタが決定できない浮動小数点系命令
                > (V9の話ね。64本レジスタがあるのに5bitしかないんだもん。)

                知らない人のために解説しておくと SPARC の前の命令セット(V8)までは FPU には 32本の単精度FP(float, 32bit幅) のレジスタがあるのが基本で、これを 偶数と奇数と 2本づつペアにして使って 16 本の倍精度FPレジスタ(double, 64bit) として使ったり、4本ペアにして倍々精度FPレジスタ(128bit)レジスタとして使ったりしていたのです。
                ただし16本の double レジスタはアセンブラレベルでは f0 ~ f15 なのですが、命令のエンコーディングのレベルでは f0、f2、~ f14 というように偶数番目だけを指定するという方式を取りました。
                つまり下のような感じです。

                ビット表現 00000 00001 00010 00011 000100
                float 演算 f0 f1 f2 f3 f4
                double 演算 f0&f1 未使用 f2&f3 未使用 f4&f5

                これだけならすっきりしていたのですが、V9 になった時に double は16本では少ないので 32本に拡張しました。
                この時、x86 が ax(16bit) → eax(32bit) と拡張したように 各 float レジスタの後ろ側を拡張すればよかったのですが、V8 との互換性を重視したため、float レジスタが 64本に増やした(ような)イメージで拡張してしまったのです。

                実際には、レジスタを指定するフィールドが 5 ビットなので float 演算では拡張された 32 本にはアクセスできず、double 以上でのみアクセス可能なのです。
                ただし、命令のエンコーディングと対応するレジスタの関係が奇々怪々で

                ビット表現 00000 00001 00010 00011 000100
                float演算 f0 f1 f2 f3 f4
                double演算 f0&f1 f32&f33 f2&f3 f34&f35 f4&f5

                なんとも不可思議ですね。

                PA-RISC にも 32本の 64-bit FP レジスタを 2本束ねて 16本の128-bit FP を作る機能がありますが、逆に 64-bit FP レジスタを上下で分割して 64 本の 32-bit FP レジスタを作っています。
                こちらもインデックスに使えるフィールドは 5 ビットなのですが、float 演算に上半分を使う・下半分を使うという指定を付けることで 64本全部使うことが可能です。レジスタ間の直交性には欠けるのですが、、、

                <余談>
                MIPS は 1 CPU に 4 つまで FPU を載せられる命令セットになっています。1 FPU で 32本のレジスタが持てるので、最大 32 ×4 で 128 レジスタですね。
                # でも FPU を 2 つ以上載せた実装を見たことがない。
                </余談>

                > とか、何とかならんかと思います。

                > (過去の資産に頼っているようにも見えるし。)

                なんとも ならんですよ。
                ソフトはハードよりも「固い」のですから。
                --
                コンタミは発見の母
                親コメント
    • by zeissmania (3689) on 2002年04月24日 18時23分 (#85954)
      最近はとんと命令表など見る機会がなくなってしまったのですが、ひょっとして未だに8008の命令が残ってたりするのでしょうか?
      親コメント
  • AMDのプレスリリース [amd.com]

    K8のブランド名も、Opteronだそうで。
    --

    IDENTIFICATION DIVISION.
    AUTHOR YUKI-KUN.
  • by Anonymous Coward on 2002年04月24日 17時59分 (#85947)
    MIPS/ALPHAとありましたが・・。
    NT3.51→NT4.0→W2K
    となるに従ってX86だけになってしまった。

    こういうユーザをコケにした所業を過去にやったM$に
    誰がついて来てくれるのか興味津々。

    # 昔APLHAにNTを入れた方、今どうしてます?
    • Re:かつてのNTは (スコア:2, 参考になる)

      by Joga (8113) on 2002年04月24日 18時32分 (#85957)
      他にもPowerPC版があって、AlphaのNTシステムはそれなりに数出回ったけど、
      MIPS/PowerPCのNTシステムって聞いたことすらない。
      売れなかったんだろうな。
      #PowerPC版は、H/Wもがお蔵入りになったと思ったが。

      ただ、「ユーザーをこけにした」には同意しない。
      企業として、採算が取れない部門から手を引くのは普通なんで。
      親コメント
      • by task_o (5050) on 2002年04月25日 11時06分 (#86254)
        PowerPC 版の NT がこけたのは、MS の責任では無く、
        Apple が CHRP のオープン化を阻害した為だと思うが。
        親コメント
      • by WindKnight (1253) on 2002年04月25日 11時47分 (#86263) 日記
        御意。

        売れないものを作らないのは、企業にとっては普通のことです。

        ただ、そのおかげで、他 CPU への移植性が落ちてしまったのも事実で、
        果たして本当に出来るのかが、楽しみだったりする。(笑)

        その点、gcc や Linux って、凄いよなぁ。
        親コメント
      • by Anonymous Coward
        MIPSは、NECの EXPRESSサーバに搭載されて、オフコンからのリプレースに使われていました。
        そこに NT3.5や 3.51を動かして、その上でオフコンOS(AV-Xとか)をエミュレーションしてました。
        だから実は沢山出回ったのでは?
        うちの会社にも 2台あります。

        #「これからはオープン系ですよ」って持ってきたのがこれかい! とあきれたおぼえが、、。

    • by oku (4610) on 2002年04月24日 18時13分 (#85949) 日記
      NT on 非 x86 使いじゃありませんけど...
      確か NT には PowerPC 版もあったような記憶があります。

      十年近く前、DEC のセールスの人が研究室に AXP を 売り込みに来た時に NT お勧めしてたという話を聞きました。
      高エネ関係なんで迷わず「なんで?VMS だろ?」でしたけど。

      こういうユーザをコケにした所業を過去にやったM$に
      誰がついて来てくれるのか興味津々。
      いずれ i386 (互換) は消滅するので買もアリだとは思いますが その後に来るのが IA-64 とも Hammer とも言い切れないのが難かと。

      親コメント
    • by sham (4555) on 2002年04月24日 20時47分 (#86011)
      それを言ったら、x86同志の
      FM-Towns→Epson互換機→PC9821版
      もですね。
      親コメント
    • by Anonymous Coward
      > # 昔APLHAにNTを入れた方、今どうしてます?

      どーしよーもないので NetBSD 入れました。が HDD がクラッシュ
      してしまい途方に暮れてます(うはは
    • by Anonymous Coward
      >こういうユーザをコケにした所業を過去にやったM$に

      それいったらSoralisのx86版もそうでんがな。
    • by Anonymous Coward
      > こういうユーザをコケにした所業を過去にやったM$に
      > 誰がついて来てくれるのか興味津々。

      AlphaとかMIPSとかでNT使ってた人なんでしょうか?
      誰がついてくるって、Windows全く使ってない方なんでしょうか?
    • by Anonymous Coward
      > # 昔APLHAにNTを入れた方、今どうしてます?

      リース返却済

      #企業だとそういう時期じゃないのかな
typodupeerror

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

読み込み中...