10

C# でシミュレーターを作成する必要があります。このシミュレーターは、構成可能な CPU 速度と限られた RAM サイズ (144MHz と 50 MB など) で 2 番目のスレッドを実行できる必要があります。
もちろん、シミュレーターが実際のハードウェアほど正確ではないことはわかっています。しかし、私はほぼ同様のパフォーマンスを得ようとしています。
現時点では、時々停止/スリープするスレッドを作成することを考えています。必要な CPU 速度に応じて、シミュレーターはこのスレッドのスリープ時間を調整し、異なる CPU 周波数をシミュレートする必要があります。達成された速度を測定するために、PerformanceCounters の使用について考えました。しかし、このアプローチでは、スレッドが使用できる RAM サイズを制限する方法がわからないという問題があります。
このようなシミュレータを実現する方法について何かアイデアはありますか?

前もって感謝します!!

4

4 に答える 4

3

vmware などの仮想マシンを使用すると、メモリを制限するのは簡単です。一部のオーバークロック ツールを使用して CPU 速度を変更できます。たとえばhttp://cpu.rightmark.org/products/rmclock.shtml 頑張ってください!

于 2010-05-26T16:23:54.980 に答える
2

CPU速度制限?これを確認する必要があります。おそらく、(少なくともある程度は) 役立つでしょう。 CPU エミュレーションと特定のクロック速度へのロック

于 2010-05-26T16:21:17.687 に答える
1

オペレーティング システム環境のシミュレーションに関心がある場合、1 つの答えは、メモリや CPU パラメーターなどを制御できる仮想マシン環境を使用することです。

スレッドの一時停止\停止はCPU周波数をシミュレートするのに役立つかもしれませんが、スレッドを一時停止するとスケジュールが解除されるため、これは非常に不正確になります。 「ある時点、つまり、あなたが制御できない時点。

メモリの制限に関しては、コードをホストする新しいプロセスを開始するオプションがあり、そのプロセスのメモリを制限します。たとえば、次のようになります。

http://www.codeproject.com/KB/threads/Setting_Max_Memory_Limit.aspx

ただし、これは全体的な OS メモリの制限を実際にシミュレートするものではありません。

于 2010-05-26T16:17:54.077 に答える
0

ゲスト オペコードのソフトウェア実行をスリープ状態にするスレッド ?

動作すると思いますが、早送り、一時停止、ff、一時停止など、少し奇妙です...

プロセスをスピードダウンしたいだけの場合は、これを試してください: cpu シングルステップ機能を使用して、プロセスを「デバッグ」します。CPU シングル ステップ トラップ用のカスタム ハンドラを作成する必要があります。ハンドラー ジョブは、NOP の大きなループにすぎません。

各命令間に細かい遅延があります。

于 2011-11-26T21:29:14.607 に答える