ERI Developer's BBS
  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
64 / 172 ←次へ | 前へ→

Re:CPUID
 L.Entis  - 02/7/13(土) 21:10 -

引用なし
パスワード
   ▼/|/ |/さん:
>Illegal Instruction例外で強制終了させられたと思います、たしか。
>OS側で、命令をフィルタリングしているのかな?

それはナゾな現象ですね。
私のほうでも環境を探して試してみます。
もしそうだとすると、しかしある意味納得のいく動作ではあります。
私の想像ですが、コントロールレジスタ(CR#)に XMM の実行許可フラグなどが追加されていて、FPU のための EM フラグのようなものがあるのかもしれませんね(私の持っているIntelのPDFには普通のFPUと同様のようなので、これのみでは、OSが FPU レジスタを退避する処理をインプリメントしていれば(インプリメントの方法にもよりますが)、(レジスタの内容が正しくないものの)おそらくは実行されてしまいそうな気もしますが…)

>あとわ、IntelとかAMDのサンプルを見てると、
>SSE命令はxorps xmm0, xmm0 などxmmレジスタの浮動小数点演算を
>実際に実行してみる必要があるみたい?
>SSE整数命令だけではダメなのかもしれないです。

これはやっておいて損は無いと思うので、コードを挿入することにします。

>それから、SSEに関しては、bit24も見る必要があると思います。
>FXSAVE/FXRSTORをサポートしていないと、
>SSEの状態が退避できないので、実質使えないことになります?

FXSAVE、FXSTOR命令は、高速にレジスタを保存するための命令なので、SSE に対応しているOSであれば、この命令をサポートしていれば高速なレジスタ退避を、そうでなければ普通のレジスタ退避をやるのではないでしょうか??

>あと、movhlpsとmovlhpsは、KatmaiのB-step以降でしか使えないそうなので、
>もし使用しているなら、そのチェックも必要かと思います。

今のところ使用していないのですが、今後使用する予定なのですが、SSE の中でもコードの切り分けをするのが面倒なので、SSE を検出したときに、この命令を実行してみるのが良いかもしれませんね(^^;

70 hits
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa2-43.kcom.ne.jp>

CPUID L.Entis 02/7/9(火) 23:56
┗ Re:CPUID /|/ |/ 02/7/10(水) 2:09
 ┗ Re:CPUID /|/ |/ 02/7/10(水) 2:11
  ┗ Re:CPUID L.Entis 02/7/11(木) 22:24 [添付]
   ┗ Re:CPUID /|/ |/ 02/7/13(土) 1:05
    ┗ Re:CPUID L.Entis 02/7/13(土) 21:10

  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
64 / 172 ←次へ | 前へ→
ページ:  ┃  記事番号:
7920 C-BOARD v3.02 is not Free?