問題タブ [micro-architecture]

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 投票する
1 に答える
2997 参照

system - アーキテクチャとマイクロアーキテクチャ

誰かがプロセッサのアーキテクチャとそのマイクロアーキテクチャの違い、およびそれらの関係を広く説明できますか?

1つは機能部分に関連しているはずですが、もう1つはわかりません

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

assembly - ADD の説明で EIP が何度も更新されるのはなぜですか?

ADD( const, memory)このコード シーケンスは次のようになります。

  • メモリから命令バイトをフェッチします。
  • 次のバイトを指すように EIP を更新します。
  • 命令をデコードします。
    • 必要に応じて、実効アドレス計算で使用するディスプレイスメントをフェッチします
    • 必要に応じて、変位値を超えるポイントに EIP を更新します。
  • メモリから定数値を取得し、ALU に送信します。
  • (メモリ内の次の命令で) 定数の値を超えるポイントに EIP を更新します。
  • ソースオペランドの値をメモリから取得し、ALU に送信します。
  • 値を追加するように ALU に指示します。
  • 結果をメモリ オペランドに格納します。
  • 加算演算の結果でフラグ レジスタを更新します。

これは The Art of Assembly Language book からのものです。EIP が 2 回も 3 回も更新されているのはなぜですか?

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

performance - 実行スループットを最大化するための依存関係チェーンの最小数は?

(a->b->c)->(a->b->c)->... のように、真の依存関係によってリンクされ、定期的に繰り返される (つまり、ループ) 一連の命令があるとします。

アウトオブオーダー実行の恩恵を受けるために、いくつかのより短く独立したサブ依存チェーンに分割できると仮定します。

  • (a0->b0->c0)->(a0->b0->c0)->...
  • (a1->b1->c1)->(a1->b1->c1)->...

アウトオブオーダー エンジンは、各命令を対応する CPU ユニットにスケジュールします。これらの CPU ユニットには、待ち時間と逆数のスループットがあります。

実行スループットを最大化するサブ依存チェーンの最適な数は?

Agner のマニュアルOptimizing subroutines in assembly languageのセクション 12.15 によると、「CPU に他に何もすることがない場合のアキュムレータの最適数は、依存関係チェーンで最も重要な命令のレイテンシを、その命令の逆数スループットで割った値です」。「最も重要な命令」とはどういう意味ですか? この種の問題に取り組んでいる他の技術文書はありますか?

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

assembly - 小分岐予測演習(宿題ではありません)

これは宿題ではありません。私はこのサイト(IMO)を読んでいて、分岐予測についてかなりよく紹介されており、講義に続いて問題を解決しようと決めました。

次のコードを検討してください [分岐遅延スロットなし]:

最初の追加命令はアドレス 0 にあります。

  1. 2 つのエントリを持つパターン履歴テーブルを使用した場合の予測ミス率は? [予測ミス率 = 予測ミス数 / 予測数]
  2. 2 エントリのローカル履歴テーブルと 4 エントリのパターン履歴テーブルを持つローカル履歴予測子を使用するとどうなるでしょうか?

まず、条件にエラーがあり、両方の add 命令が、残りの命令と同様に、$0 の代わりに即値 0 を持つ addi でなければならないのではないかと思います。この件について詳しい人はコメントできますか?

第二に、私は問題を解決しようとしました (上記のように、add が即時 0 のaddiであると見なします) 。私の答えは次のとおりです。

1. 予測ミス率 8/10 (予測ミス 8 回、予測 10 回) 2. 予測予測ミス率 13/5
(予測ミス 13 回、予測 5 回)
講義の内容を本当に理解できたのだろうか。ありがとう。

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

branch-prediction - 長いパイプラインでの遅い lhr / ghr 更新

若い分岐命令が分岐予測メカニズムによって既に処理されているが、対応する lhr (または実装によっては ghr) がまだ古い分岐の実際の結果で更新されていない場合、長いパイプラインで実行可能なシナリオであるかどうか疑問に思っています。パイプラインの長さのため。

これは実行可能なシナリオですが、どのように回避されますか?

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

cpu-architecture - 明示的なシングルサイクル データパスが必要ないのはなぜですか?

PC がシングル サイクル データパスで明示的な書き込み信号を必要としないのはなぜですか? マルチサイクル データパスで明示的な書き込み制御信号が必要なのはなぜですか?

ありがとうございました