タグ付けされた質問 「cpu-architecture」

CPUまたはマイクロコントローラーのハードウェアマイクロアーキテクチャー(x86、x86_64、ARMなど)。

4
Intel SandybridgeファミリCPUのパイプライン用のプログラムの最適化解除
私はこの割り当てを完了するために一週間頭を悩ませてきました、そして私はここの誰かが正しい道に向かって私を導くことを望んでいます。インストラクターの指示から始めましょう: あなたの割り当ては、素数プログラムを最適化することでした最初のラボの割り当ての逆です。この割り当ての目的は、プログラムを悲観的にすること、つまりプログラムの実行を遅くすることです。これらは両方ともCPUを集中的に使用するプログラムです。ラボPCでの実行には数秒かかります。アルゴリズムを変更することはできません。 プログラムを最適化解除するには、Intel i7パイプラインの動作方法に関する知識を活用してください。WAR、RAW、およびその他の危険性を導入するために命令パスを並べ替える方法を想像してみてください。キャッシュの効果を最小限に抑える方法を考えてください。悪魔のような能力がない。 この割り当てでは、砥石またはモンテカルロのプログラムを選択できました。キャッシュ効果のコメントは、ほとんどがWhetstoneにのみ適用されますが、私はモンテカルロシミュレーションプログラムを選択しました。 // Un-modified baseline for pessimization, as given in the assignment #include <algorithm> // Needed for the "max" function #include <cmath> #include <iostream> // A simple implementation of the Box-Muller algorithm, used to generate // gaussian random numbers - necessary for the Monte Carlo method below …

3
レトポリンとは何ですか?
カーネルまたはクロスプロセスメモリの開示(Spectre攻撃)を緩和するために、Linuxカーネル1は、いわゆるretpolineを介した間接呼び出しを実行するために-mindirect-branch=thunk-extern導入された新しいオプションでコンパイルされます。gcc これは、Googleの検索でごく最近の使用のみが検出されるため(通常はすべて2018年)、新しく発明された用語のようです。 retpolineとは何ですか?それは最近のカーネル情報開示攻撃をどのように防ぎますか? 1 Linux固有ではありませんが、他のOS での緩和策の一部として、類似または同一の構造が使用されているようです。

3
Visual Studioの[32ビット優先]設定の目的は何ですか、また実際にはどのように機能しますか?
必要なときにコンパイラーが64ビット用にコンパイルする方法をコンパイラーがどのように自動的に認識するかは不明です。自信を持って32ビットをターゲットにできる場合、それはどのようにしてわかりますか? 私は主に、コンパイラーがコンパイル時にどのアーキテクチャーをターゲットにするかを知る方法に興味があります。それはコードを分析し、見つけたものに基づいて決定を下しますか?

6
コアとプロセッサの違い
コアとプロセッサの違いは何ですか? 私はすでにGoogleでそれを探しましたが、マルチコアおよびマルチプロセッサの定義を持っているだけですが、探しているものと一致しません。



2
sjljとdwarfとsehの違いは何ですか?
プロジェクトのコンパイルに使用するコンパイラを決定するのに十分な情報が見つかりません。プロセスをシミュレートするさまざまなコンピューター上にいくつかのプログラムがあります。Linuxでは、GCCを使用しています。すべてが素晴らしいです。私はコードを最適化することができます、それは速くコンパイルし、それほど多くのメモリを使用しません。 私はMSVCおよびGCCコンパイラーで独自のベンチマークを行います。後で、(サブアーキテクチャごとに)わずかに高速なバイナリが生成されます。コンパイル時間はMSVCよりはるかに長いですが。 そこで、MinGWを使用することにしました。ただし、例外処理メソッドとそのMinGWでの実装に関する説明は見つかりません。異なるオペレーティングシステムとアーキテクチャに異なるディストリビューションを使用できます。 考慮事項: コンパイル時間とメモリは、私の使用にとって重要ではありません。重要なのはランタイムの最適化だけです。プログラムが十分に高速である必要があります。遅いコンパイラでも問題ありません。 OS:Microsoft Windows XP / 7/8 / Linux アーキテクチャ:Intel Core i7 / Core2 /およびXPを実行している非常に古いi686:P


16
ランタイムコード変更のスマートなケースはありますか?
ランタイムコードの変更(実行時にプログラム自体のコードを変更するプログラム)の正当な(スマートな)使用について考えられますか? 最新のオペレーティングシステムでは、検出を回避するためにウイルスがこの手法を使用しているため、これを実行するプログラムを嫌うようです。 私が考えることができるすべては、コンパイル時に知ることができない実行時に何かを知ることによっていくつかのコードを削除または追加するような、ある種のランタイム最適化です。

10
なぜx86は醜いのですか?他の人と比較して、なぜ劣っているのですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 最近、私はいくつかのSOアーカイブを読んでいて、x86アーキテクチャに対するステートメントに遭遇しました。 サーバーとミニ/メインフレーム、ミックスコアに異なるCPUアーキテクチャが必要なのはなぜですか?言う 「PCアーキテクチャは混乱である、任意のOSの開発者はあなたにそれを言うだろう。」 アセンブリ言語を学ぶことは、努力する価値がありますか?(アーカイブ)は、 「 x86アーキテクチャはせいぜい恐ろしいものであることを理解している」と述べています。 x86アセンブラを学ぶ簡単な方法はありますか? 「ほとんどの大学はMIPSのようなものでアセンブリを教えています。理解するのがはるかに簡単だからです。x86アセンブリは本当に醜いです。」 のような多くのコメント 「ほとんどのアーキテクチャーと比較して、X86はかなりひどい。」 「X86がMIPS、SPARC、PowerPCよりも劣っているのは間違いなく従来の知識です」 「x86は醜い」 検索してみましたが、理由はわかりませんでした。これが私がよく知っている唯一のアーキテクチャであるため、x86が悪いとは思わない。 他の人と比較してx86を醜い/悪い/劣っていると考える理由を誰かが親切に教えてくれますか?

5
「FS」/「GS」レジスタの目的は何ですか?
だから私は次のレジスタとその使用法が何であることになっているのか知っています: CS =コードセグメント(IPに使用) DS =データセグメント(MOVに使用) ES =宛先セグメント(MOVSなどに使用) SS =スタックセグメント(SPに使用) しかし、以下のレジスタが何のために使用されることを意図していますか? FS = "ファイルセグメント"? GS = ??? 注:私は特定のオペレーティングシステムについて尋ねるのではなく、CPUが何のために使用することを意図していたかについて尋ねます。

10
x86-64システムに48ビットの仮想アドレス空間しかないのはなぜですか?
本で私は以下を読みました: 32ビットプロセッサには2 ^ 32の可能なアドレスがありますが、現在の64ビットプロセッサには48ビットのアドレス空間があります 私の予想では、64ビットプロセッサの場合、アドレススペースも2 ^ 64になるはずです。 だから私はこの制限の理由は何だろうと思っていましたか?

14
ワードとバイトの違いは何ですか?
私はいくつかの研究をしました。バイトは8ビットで、ワードはメモリ上でアドレス指定できる最小単位です。単語の正確な長さはさまざまです。私が理解していないのは、バイトを持つことの意味は何ですか?8ビットと言ってみませんか? 私は教授にこの質問をしたところ、最近のほとんどのマシンはバイトアドレス指定可能であると彼は言ったが、それは何を意味するのだろうか?

5
ライトバックとライトスルーキャッシング?
私の理解では、2つの方法の主な違いは、「ライトスルー」方法ではデータがキャッシュを介してメインメモリにすぐに書き込まれるのに対し、「ライトバック」方法ではデータが「後で」書き込まれることです。 まだ「遅い時間」にメモリを待つ必要があるので、「ライトスルー」の利点は何ですか?

3
アトミック操作コスト
アトミック操作(コンペアアンドスワップまたはアトミック加算/デクリメントのいずれか)のコストはいくらですか?どのくらいのサイクルを消費しますか?SMPまたはNUMAで他のプロセッサを一時停止しますか、それともメモリアクセスをブロックしますか?アウトオブオーダーCPUのリオーダーバッファをフラッシュしますか? キャッシュにはどのような影響がありますか? x86、x86_64、PowerPC、SPARC、Itaniumなどの最新の人気のあるCPUに興味があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.