忍者ブログ

≪ 前の記事

次の記事 ≫

  • [PR]

    ×

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

    comments

  • レジスタとキャッシュメモリ


    レジスタとキャッシュメモリはどちらもCPU内部の保存領域です。

    では、何が違うのか。


    拍手[11回]


    (1).使用目的
    (2).保存内容
    (3).アクセス速度
    (4).容量


    使用目的

    レジスタ
     CPUでの演算を高速にするためのもの。

    キャッシュメモリ
     メインメモリへのアクセスを減らし、データの読み込みを高速にするためのもの。


    どちらも処理の高速化が目的ではありますが、高速化の対象が「演算」か「読み込み」に別れます。

    保存内容

    レジスタ
     CPUでの演算中に必要な情報。計算結果やメモリアドレスなど。
     データレジスタやアドレスレジスタ、汎用レジスタなど目的に合わせた種類がある。

    キャッシュメモリ
     計算結果やメモリアドレスなどの様々なデータ。
     CPUでの演算とは無関係なデータも含む。


    アクセス速度

    レジスタ
     1番速い

    キャッシュメモリ
     L1キャッシュ:2番目に速い(Level1キャッシュ、一次キャッシュ)
     L2キャッシュ:3番目に速い
     L3キャッシュ:4番目に速い
        :
        :


    どこの解説でも上記のように書かれているのですが、具体的な速度の説明が無い。
    一体どのくらいのスピードなのでしょうか。

    と言うことで調べてみました。
    レジスタは情報がありませんでしたが、キャッシュメモリは大体以下のような感じでした。

    (例)Intel core i7 6700K 以下、大雑把です
     L1キャッシュ:800GB/s
     L2キャッシュ:400GB/s
     L3キャッシュ:200GB/s


    レジスタは、とある本・サイトでは「数百ピコ秒~数ナノ秒」・「CPUと同速」という記述があったので、CPUの周波数が4GHzだとすると250ピコ秒。
    GB/s単位にするとどれくらい?(変換できるのか?)

    容量

    レジスタ
     4番目に大きい

    キャッシュメモリ
     L1キャッシュ:3番目に大きい
     L2キャッシュ:2番目に大きい
     L3キャッシュ:1番大きい


    どこの解説でも(以下略

    (例)Intel core i7 6700K
        レジスタ:3KB
     L1キャッシュ:128KB(32KB×4)
     L2キャッシュ:1MB(256KB×4)
     L3キャッシュ:8MB




    0 comments

Comment