2017-05-14 18 views
1

メモリ読み取りと書き込みのCPU命令(プログラムの読み込み命令を含む)の割合を調べたいが、そのような統計は見つからない。妥当な量は、1命令読み出し、1データ読み出し、1データ書き込みとすることができる。したがって、書き込みと比較すると2/1になる可能性があります。しかし、それは私が(3/1のような何かのような)より高いはずです。その情報は?CPU読み取り/書き込み命令の統計情報(プログラムの読み込みを含む)

+0

これは実際に実行しているタスクの種類によって異なります。配列を要約するかドットプロダクトを行うことはすべての読み取りです。データのコピーは1:1などのようになります。 – Leeor

+0

明らかですが、デスクトップオフィスの使用に関する「平均」ユーザ統計が必要です。 。少なくとも何か考えることができるもの。 –

答えて

2

ヘネシーとパターソンのコンピュータアーキテクチャ:は、MIPSのための5つのSPEC CPU2000の整数ベンチマーク(ギャップ、GCC、GZIP、MCF、perlbmk)の統計情報を提供して定量的アプローチ:

  % loads % stores 
gap   26.5  10.3 
gcc   25.1  13.2 
gzip   20.1  5.1 
mcf   30.3  4.3 
perlbmk  28.7  16.2 

あなたが見ることができるように、まともな経験則は約4分の1の命令であり、負荷の半分のストアがあります。

整数ワークステーションのベンチマークの中でも重要な違いがあることがわかります。

ISAとコンパイラ(および最適化レベルが選択されている)の影響を見ることはできません。複雑な命令の可用性は、実行される命令の数を減らす傾向がある。より高いコンパイラ最適化の下でより多数のレジスタは、メモリトラフィックの量を減少させる傾向がある。

コンパイラの最適化を実行すると、実行される命令の数を減らすことができます(たとえば、ループ展開によって分岐命令を排除できます)または増加します(たとえば、定数による乗算をシフトおよび加算に減らし、命令数を増やす)。コンパイラの最適化は、ロードとストアの数を減らすこともできます(たとえば、リンク時コードの生成またはインライン化による拡張されたライブラリー情報を使用したレジスタの割り当ての向上など)、ロードまたはストアの数を増やすことができますループのソフトウェアパイプライニングにより、動作レイテンシを完全に隠すことを可能にするレジスタ圧力)。

+0

ありがとうございましたが、本をダウンロードしてすぐに見て(700ページ)、関連するページを見つけることができませんでした... –

+0

アイデアは、より遅い書き込みを行うかどうかを知ることです(例: )書き込み命令(プログラムの読み込みとデータの読み込みは同じままです)全体の速度にどのような影響がありますか。あなたが言うように、1/4は1/8の書き込みと5/8の書き込みを読み込みます。その場合、システムは1/8だけ遅れてしまう。 –

+0

@ GeorgeKourtis第4版では、表は付録B(図B.27)にあります。書き込みはバッファリングできるので、書き込み速度は一般的に重要ではありません。 –

関連する問題