パイプライン,スーパースカラについて http://home.impress.co.jp/magazine/dosvpr/q-a/0002/qa0002_1.htm
パイプライン
• 1命令の実行をいくつか(n)の工程に分解し異なる工程を並列に動作させる.
• 結果的に数個の命令が並列動作しているようにみせかけ1命令あたりの消費クロック数を少なくみせるしかけ.
つまりひとつの命令を終わらせるのにかかる時間は一緒(たぶん)
n個に分解した時のプログラム全体の実行速度は(きっと)n^2/2n倍じゃないかなぁ
パイプライン構造(処理の高速化云々について) http://www.comp.tmu.ac.jp/morbier/work/gradcpu2007/cpu2007lectureno3.pdf
8.6.1 命令用のキャシュとデータ用のキャシュ キャシュを命令用とデータ用に分けるのが一般的 命令実行のパイプラインにおいて, 命令フェッチ データのメモリアクセス の競合(構造ハザード)が回避できる
2014-08-04 00:45:046.6 まとめ - パイプラインによる性能向上の三つの制約 データハザードによるストール発生 制御ハザードにより分岐が遅くなる パイプラインレジスタのオーバヘッド(ラッチ遅延)
2014-08-04 00:47:18このページの後半にダイレクトマップ方式の説明あるよ http://news.mynavi.jp/column/architecture/007/
データの局所性について http://news.mynavi.jp/column/architecture/009/
7.2.1 時間的局所性 最近アクセスした命令/データが再度アクセスされやすい 7.2.2 空間的局所性 アクセスした命令/データの(アドレス空間上で)近くの命令/データが 再度アクセスされやすい
2014-08-04 02:15:447.2.3 局所性が成り立つ理由 7.2.3.1 命令 プログラムでの繰り返し(ループ)の存在 - 時間的局所性 ループ内の命令は何度も繰り返して読み出される 命令は順次実行される - 空間的局所性 読み出す命令の位置は(分岐がなければ)順次すすむ
2014-08-04 01:58:267.2.3.2 データ 同一データの読み書きが多い - よく使われる変数とか - 時間的 配列要素など隣接データを順次アクセスすることが多い - 空間的
2014-08-04 01:58:322012年のダイレクトマップの問題.
CPUの出すアドレス(32ビット)のうち,キャシュのインデック
スとして使われるのはどの範囲のビットか.(最下位ビットの位置を0とする)
しくみ(図7.7)
ブロックサイズは1語(4バイト)
キャシュのブロック数 1024 (10bit)
タグ: そのブロックに収容されているデータの本来のアドレス(の上位ビット) - (32-10-2 = 20bit)
だから…えーっと,13~32かな?
キャッシュメモリのマッピング方式 ダイレクトマッピング方式 セットアソシアティブ方式 フルアソシアティブ方式 ameblo.jp/gokaku-kigan/e…
2014-08-04 00:52:50