問題タブ [cpuid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
11038 参照

c++ - CPUID のような情報の組み込み関数?

私は C++ でコーディングしていることを考慮して、可能であれば、組み込み関数のようなソリューションを使用して、ハードウェアに関する有用な情報を読みたいと思います。私の懸念/考慮事項は次のとおりです。

  • 私はアセンブリをよく知りません。この種の情報を取得するだけでもかなりの投資になります (CPU のように見えますが、値を反転してレジスタを読み取るだけです。)
  • asm には少なくとも 2 つの一般的な構文 ( Intel と AT&T ) があるため、断片化されています。
  • 奇妙なことに、組み込み関数は、最近では asm コードよりも人気があり、サポートされています
  • 現在、私のレーダーにあるすべてのコンパイラがインライン asm をサポートしているわけではありません。MSVC 64 ビットはその 1 つです。私が使用しなければならないさまざまなコンパイラの機能セットをさらに掘り下げているうちに、他の同様の欠陥が見つかるのではないかと心配しています。
  • 組み込み関数に賭ける方が生産的であると私が考えるトランズを考えると、それはどの asm コードよりもはるかに簡単なはずです。

そして、私が答えなければならない最後の質問は、組み込み関数で同様のことを行うにはどうすればよいかということです。この種の情報を取得するための CPUID オペコード以外に何も見つからなかったからです。

0 投票する
2 に答える
978 参照

c - PowerPC で利用できる x86 cpuid() のようなものはありますか?

x86 で cpuid を使用して実行できるように、PowerPC でプロセッサ属性を照会できる C コードをいくつか書きたいと思います。ブランド、モデル、ステッピング、SIMD 幅、利用可能な操作などを調べて、問題が発生する前に互換性のあるプラットフォームでコードが使用されていることを実行時に確認できるようにしています。

PowerPC でこれを行うための一般的なメカニズムはありますか? もしそうなら、どこでそれについて読むことができますか?

0 投票する
1 に答える
153 参照

assembly - CPUID 出力は操作の順序によって異なります

コマンドラインであるはずのおもちゃのOSを書いています。機能に CPUID を追加しようとしましたが、CPUID を連続して呼び出すと、奇妙な結果が得80000002hられ80000003hます80000004h。他の順序で呼び出すと、正常に動作します。

連続注文

連続注文

別の注文:

別の注文

これは、コードの問題のある部分です。

CPU ブランド文字列の最後の部分をコピーしない場合でも、コードはこのように動作します。つまり、`jmp prnt.

この部分は単独でファイル内で正常に動作するため、コード全体をここに投稿しました。

私は解決策を探しているのではなく、何が起こっているのかについての説明を求めていることに注意してください。

0 投票する
2 に答える
893 参照

c++ - で __cpuid() を使用するとリンク エラーが発生する?

エラーは言う:

しかし、MSDN _cpuidにどのライブラリを追加する必要があるかは指摘されていません

それを解決する方法?

0 投票する
1 に答える
191 参照

assembly - AMD CPU にモジュールがあるかどうかを検出する

一部の Intel CPU にはハイパースレッディングがあり、レジスタ EDX のビット 28 を CPUID から読み取ることで検出できます。AMD CPU にはハイパースレッディングはありませんが、一部の CPU には 2 つの整数ユニットと 1 つの浮動小数点ユニットを持つモジュールがあります。CPUID などを使用して、CPU にモジュールがあるかどうかを検出する方法はありますか?

編集:Jesterの回答に基づいて、「計算ユニット」(別名モジュール)あたりのコア数を決定するために、次のテストされていない関数(AMDプロセッサにアクセスできません)を思いつきました。

http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/42301_15h_Mod_00h-0Fh_BKDG1.pdf