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

Opteron登場、ベンチマークも好調」記事へのコメント

  • by Anonymouse Coward (13650) on 2003年04月23日 11時40分 (#303661) ホームページ
    32bitのWindowsアプリケーションと64bitのWindowsアプリケーションが同時に動作している様子は“衝撃的”と言うほか無い。
    “衝撃的”……どこが?

    # Win32に紛れてた16bitのコードは衝撃っつーか足枷だったわけですが
    --


    # ACなのでAC
    • by Anonymous Coward
      32,64ビットコードが変換とか介さずにシームレスに実行されてるって事だろ
      Win9x系のは違ったと思うが・・・
      • by Anonymous Coward
        Win9x でも変換とはは介してませんが。
        CPUのモードを切り替えるだけですね。
        • Re:? (スコア:2, 参考になる)

          by tietew (6130) on 2003年04月23日 15時18分 (#303802) ホームページ
          「サンク」によって
            KERNEL.EXE ==> KERNEL32.DLL
            USER.EXE   <== USER32.DLL
            GDI.EXE    <=> GDI32.DLL
          という変換が常時行われています。
          ウィンドウプロシジャの中でアクセス違反が起こるとOSごとおかしくなるのは 16bit の USER.EXE が噛んでいる所為。
          親コメント
        • by Average (3404) on 2003年04月23日 12時59分 (#303720) 日記

          Win9x でも変換とはは介してませんが。
          CPUのモードを切り替えるだけですね。

          それを変換を介している、とは言わないのでしょうか。:-)
          16ビットモード時と32bitモードでセグメントレジスタの指すアドレスが(意味的に)変わるわけですから・・・・
          --
          -----------------
          #そんなワタシはOS/2ユーザー:-)
          親コメント
          • by Anonymous Coward
            変換してましたっけ?
            モード切替した直後には、セグメントレジスタ、セレクタの設定をプログラム側がしなければならなかったことのように思いますが。

            # プロテクトモードに切り替えた後に、最初にする作業はレジスタの設定だ、と教わったAC
          • by Anonymous Coward
            何か誤解しているようです。仮想86モードもプロテクトモード下の16ビットのセグメントも同じプロテクトモードの一部です(よく誤解がされますが16ビットのプロテクトモードというものはありません)。仮想86モードでは中間アドレスの生成の意味合いが変わりますが、最終的にページングを経てプ
            • by Anonymous Coward
              >ただ、これは変換しているといってもいいかもしれません。

              訂正します。言わないほうがいいですね。CPUの機能的には統合されているので変換していると言うべきではないです。ついつい、仮想86モード環境下でエミュレーションをしているレイヤーを思い浮かべてしまいましたが、これはソフトウェアの仕様でありCPUの仕様ではないですものね。
    • by Anonymous Coward
      そもそもOSの扱うbit数とCPUの扱うbit数
      って必ず一致しなきゃいけないものでもないですよね?
      なので64bitのCPUで32bitのコードを走らせるのは
      OS側で対応すれば何とかなるものだと思います。
      32bitのi486で16bitのDOSとか動いていたわけですし。
      こんな感じ?
       i486(32bit)-DOS系(16bit)-16bitコード
       i486(32bit)-win9x系(32bit)-16bitコード(OSで細工)

      で今回のOpteronの場合はどうなんでしょう?
       Opteron(32-64bit)-対応OS(64bit)-32bitコード

      ここで32bitコード
      • Re:? (スコア:1, すばらしい洞察)

        by Anonymous Coward on 2003年04月23日 13時32分 (#303740)
        専門家ではないけど。

        32ビットCPUの上で16ビットのコードを動かすには「リアルモード」か「仮想86モード」というモードで動かさないといけなかった。32ビットコードはそのまま「プロテクトモード」で動作する。32ビットのOSの上で16ビットのコードを動かすときには一時的に「仮想86モード」に切り替えていたはず。
        Opteronはそういう手法じゃないんだろうね。

        それと「衝撃」の件は、たぶん今までの64ビットWindowsが動いていたItaniumが、既存のx86のプログラムを走らせることができなかったからなんだろうなぁ、と思う。Itaniumが下位互換性を持っていればOpteronに衝撃はなかったんじゃなかろうか。
        親コメント
        • Re:? (スコア:3, 参考になる)

          by tietew (6130) on 2003年04月23日 15時18分 (#303803) ホームページ
          i386系のプロテクトモードには,
          • 16bitモード (i80286のプロテクトモードっぽいもの)
          • 32bitモード(i386本来のプロテクトモード)
          • 仮想86モード(i8086エミュレーション)
          の3種類があって(前二者はアドレッシングモードがデフォルトで 16bit か 32bit かの違いのみ),Win16プログラムは16bitモード,Win32プログラムは32bitモード,DOS窓は仮想86モードで動きます。モードの切り替えはタスクスイッチのときにCPUが半自動的に行うので,一時的,という表現は微妙。

          以下はWin9x系でのお話: (詳細は Windows95内部解析 … 絶版かな? [amazon.co.jp]) でも

          DOS窓は各々独立したVM (Virtual Machine)を持ち,VMM.VxDがGUIアプリとは独立して制御します (GUIアプリは単一のVM上で動く)。なので変換を介しているとは言えないと思います。(VxDが直接システムコールを受け取り,MS-DOSやBIOSに受け渡す)

          GUIアプリは単一のVMに放り込まれ,KERNEL32.DLLが一所懸命各プロセス間の連携を行いつつ,Thunkという仕組みでKERNEL/GDI/USERの基本APIを変換しながら最終的にVxDへのシステムコールを行って動きます。なのでWin16/32アプリは相互に変換されながら動いていたと言っていいと思います。

          なお,NTではWOW(Windows on Windows)というエミュレーションレイヤが存在する(NTVDM.EXE)ので話はまた別。

          親コメント
        • by Anonymous Coward
          Itaniumですが、MS-DOSだって動きましたよ。
          WindowsXP 64bit版では、32ビットと64ビットの両方のバイナリが動きましたが。

          Hammerに過剰な期待をする人は、Itaniumが高くて買えなかった人なんじゃないかと勘繰りたくなります。
          • Re:? (スコア:4, 興味深い)

            by SteppingWind (2654) on 2003年04月23日 15時04分 (#303796)

            ItaniumではIA32命令のプログラムは動きますが, 極端に性能が落ちましたよね. で, 実質的に使えないという評価になってしまったのだと.

            で, Opteronの方なのですが, AMDの話だとIA32命令の実行もそれなりの性能を出すということで期待されていたわけです. それが本当なのか? 例えば同価格帯のXeonと比べてIA32命令の実行速度はどうか? というあたりが問題だと思います. 私がざっと見たところ, ベンチマークは主にspec fp/intで行われているみたいですが, 今後例えばWinbenchみたいなIA32でのベンチマークが出てくれば面白いでしょう.

            もしOpteronのIA32性能が宣伝通りなら

            • 64bitバックエンドDBエンジン+32bitアプリケーションサーバ
            • 64bit技術計算プログラム+32bit可視化ツール

            の様な使い方が比較的低価格な環境で可能になると思います.

            親コメント
          • by crypt (12091) on 2003年04月23日 15時03分 (#303794)
            Itaniumはインストラクションレベルでのアーキテクチャを変えて64bitでのパフォーマンスを上げることを優先し、32bitコードのパフォーマンスを捨てたアーキテクチャじゃありませんでしたっけ。Opteronは32bitコードも高速だったりするのでは?
            親コメント
          • by Anonymous Coward
            そのとおりではないかと思います。
            コストパフォーマンスという点は、選定・購入の動機として大きいですよね?
            • by Anonymous Coward
              早期開発用のマシンだと割り切るしかないです。
              遅いけど動く実機として、昨日までありがとう。

              Windowsな人は、もうちょっとIA-64で我慢。
              その代わり、x86-64対応Windowsが出たらすぐに対応アプリ出るよ。
    • by Anonymous Coward

      なんでもいいからもっと仲良くやれおまえら。

    • by Anonymous Coward
      32bitのSolarisアプリケーションと64bitのSolarisアプリケーションが同時に動作している様子をみても特に衝撃的とは思いませんしね.

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

処理中...