問題タブ [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 投票する
2 に答える
1167 参照

c# - この行はPythonで何を意味しますか?

このコードが取得しようとしているCPU情報。このコードは、より大きなパッケージの一部です。私はPythonプログラマーではないので、このコードをC#に変換したいと思います。

あなたがPythonプログラマーであり、このコードが何をしているのかを知っているなら、それは私にとって大きな助けになるでしょう。

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

cpu - Intel i7 プロセッサの CPUID

新しい i7 ベースのマシンで CPUID ベースのコードに問題があります。CPU が、それぞれ 2 つの HT ユニットを備えた 4 つのコアではなく、8 つの HT ユニットを備えた単一のコアを持つものとして検出されます。

CPU から返される CPUID 情報の結果を誤解しているに違いありませんが、その方法がわかりません。

基本的に、Windows から見える各プロセッサを反復処理し、スレッド アフィニティをそのスレッドに設定してから、一連の CPUID 呼び出しを行います。

このシーケンスは、システム内の残りの CPU に対して繰り返されます。

誰もこれに直面したことがありますか?

0 投票する
3 に答える
42781 参照

c++ - C++でのCPUIDの実装

この辺りの誰かが、マネージド.net言語のいずれかから参照できるC++CPUID実装の良い例をいくつか持っているかどうか知りたいです。

また、これが当てはまらない場合は、X86とX64の特定の実装の違いに注意する必要がありますか?

CPUIDを使用して、ソフトウェアが実行されているマシンに関する情報(crashreportingなど)を取得したいと思います。また、すべてを可能な限り広く互換性を保ちたいと考えています。

私が尋ねる主な理由は、CPUレジスタなどの基本的な知識はありますが、おそらくすべてのマシン命令になるものを書くことに関しては、私はまったくの初心者だからです...

人々が私にGoogleに話し始める前に:私はいくつかの例をオンラインで見つけましたが、通常、それらはマネージコードからの対話を許可することを意図しておらず、どの例もX86とX64の両方を対象としていませんでした。ほとんどの例はX86固有のようです。

0 投票する
3 に答える
1018 参照

c - アセンブリなしでCPU機能を検出

私はCPUとその機能(SEE、SSE2など)を決定する方法を検討してきました。

ただし、私が見つけたすべての方法には、cpuid命令を使用したアセンブリコードが含まれていました。コンパイラとターゲットの間でc/c ++でアセンブリを実行する方法が異なることを考えると(VCでは64ビットターゲットのインラインアセンブリはありません)、idはむしろそれを避けます。

この情報を取得するための簡単なライブラリ、またはOS関数(WindowsとLinuxの両方)はありますか?

現在、私はx86およびx86-64 CPUを使用するプラットフォームにのみ興味があり、少なくともAMDとIntelをサポートする必要があります。

0 投票する
7 に答える
20924 参照

java - javaでcpu-idを取得するには?

Javaで暗号化を作成したい。
とにかく、CPU ID や、BIOS などの PC で一意のものを取得する方法はありますか ...

たとえばSystem.getCpuId();、それは単なる例です

どうもありがとう ...

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

c++ - C++ ワードからバイトへ

C++でアセンブラを使ってCPUIDを読み取ろうとしました。に関数があることは知っていますが、asmの方法が必要です。そのため、CPUID が実行された後、eax、ebx、ecx レジスタに ASCII コード文字列を入力する必要があります。しかし、私の問題は、asm アドレスでフルまたはハーフ eax レジスタしかできないため、その 32 ビットを 4 バイトに分割する方法です。私はこれを使用しました:

0 投票する
8 に答える
18408 参照

c# - C#のx86 / x64 CPUID

他の質問に関連して、 「不明なモジュールでタイプ「System.AccessViolationException」の未処理の例外が発生しました。追加情報:保護されたメモリの読み取りまたは書き込みを試みました。これは、他のメモリが破損していることを示していることがよくあります。」のデバッグにご協力ください。コードをステップスルーすると、del()が実際に呼び出されるまですべてが機能し、その行で失敗します。

このコードは、この記事のサンプルとPythonで動作するこのPythonコードに基づいています。コード例をそのまま使用することもできませんが(同じ例外)、少し古くなっているか何かであると期待しています。

編集:私たちがここにたどり着いた方法に関心がある場合は、編集履歴を参照してください。これは興味深いことではありません。

完成した作業バージョン:

CPUID0は正しい順序で読み取る必要があることに注意してください。

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

visual-c++ - インライン アセンブラに関するいくつかの質問

こちらでも同様の質問をしましたが、まだエラーが発生するので、何が間違っているのか教えていただければ幸いです。私はアセンブラーを知っており、8051 アセンブラーでいくつかのプロジェクトを行ってきましたが、同じでなくても、x86 asm に近いことを知っておいてください。

VC++ 2010 Express で試したコード ブロックがあります (CPUID 命令から情報を取得しようとしています)。

簡単にまとめると、配列の最初の要素への void ポインターを作成しようとしましたが、間接アドレス指定を使用するよりも、レジスターから値を移動するだけです。しかし、このアプローチでは「b変数の周りのスタックが実行時エラーで壊れています」というメッセージが表示されますが、その理由はわかりません。

助けてください。ありがとう。そして、これは単なる学習目的です.CPUIDの関数があることは知っています....

編集: また、x86 VC++ 2010 インライン アセンブラーで直接アドレッシングを使用するにはどうすればよいですか? つまり、8051 での即時数値ロードの一般的な構文はmov src,#number、VC++ asm ではmov dest,number# 記号なしです。では、メモリ セル アドレス x に直接アクセスすることをコンパイラに伝えるにはどうすればよいでしょうか。

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

c# - WMIを介してCPUIDを取得しようとしたときに生成された「見つかりません」例外

私はこのコードを使用してプロセッサIDを取得しています:

Windows732ビットのVisualStudio2008を実行しています。残念ながら、mc.GetInstances()メソッドの呼び出しによって「見つかりません」という例外が発生しています。

これが同様のコードです(HDDシリアルをフェッチします):

このコードも失敗します。「disk.Get()」メソッドは「無効なクラス」例外を発生させます。

このコードをUACをオフにしてからオンにして実行しましたが、何も役に立ちません。

私は何が間違っているのですか?

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

x86 - CPUID 命令を使用した x86 MONITOR 命令のアドレス範囲の決定

Intel の MONITOR のドキュメントには、次のように書かれています。

MONITOR 命令は、EAX で指定されたアドレスを使用して、アドレス監視ハードウェアを準備します (監視ハードウェアがストア操作をチェックするアドレス範囲は、CPUID を使用して決定できます)。指定されたアドレス範囲内のアドレスへのストアは、監視ハードウェアをトリガーします。モニター ハードウェアの状態は、MWAIT によって使用されます。

したがって、「監視ハードウェアがストア操作をチェックするアドレス範囲は、CPUIDを使用して決定できます」を取得するために、CPUIDにどのEAXの値を指定する必要があるかを正確に知っている人はいますか。

それとも、MONITOR アドレス範囲はキャッシュ ラインのサイズですか?