最も古くアクセスされたラインをリフィルする方法

June 06 [Fri], 2014, 19:03

ダイレクトマップ方式 (Direct Mapped)
1組のタグにより構成(連想度1)されるデータ格納構造。アドレスにより一意に配置が決まるため、タグの構造が非常に単純。だが、同一エントリに異なるフレームアドレスが転送されると必ずラインの入れ替えが発生する。ラインの入れ替えが頻発しスループットが落ちることをキャッシュスラッシングというが、この状態が起こりやすくヒット率は他の方式に比べ高くない。
セットアソシアティブ方式 (Set Associative)

複数のタグにより構成(連想度2以上)されるデータ格納構造。同一エントリに異なるフレームアドレスのデータを複数格納することができる。連想度が上がるほどキャッシュヒット率は上昇するが製造は困難になっていくため、システムによりバランスのよい実装が異なる。n個のタグにより構成された場合、nウエイセットアソシアティブ方式と呼ぶ。最近はCAM (連想メモリ:Content Addressable Memory)がタグとして使われ出し、32など非常に高い連想度を実装できるようになってきた。ダイレクトマップ方式や下記のフルアソシアティブ方式はこの方式の特殊な場合である。

フルアソシアティブ方式 (Fully Associative)

エントリアドレスによる振り分けはなく、全てのラインが検索対象となる構造。従って連想度はライン数分となる。キャッシュスラッシングは起こり難くヒット率は最も優れているが、実装コストや複雑度の面から通常用いられることはない。
ライン入替え方式 (Refill)[編集]ラインの入替え(リフィル)は該当エントリの全ラインにデータが格納されてなお同一エントリ新規フレームアドレスが入力されてキャッシュミスした(ヒットしなかった)場合に発生する。その場合どのラインを掃出して新規アドレスと入替えるかのアルゴリズムによってキャッシュのヒット率が変動する。代表的なアルゴリズムを記す。
キャッシュに更新されたデータが滞留して主記憶装置など下位レベルのメモリには最新のデータが存在しない可能性がある。この時に複数のCPUが同一の記憶領域を参照/更新しようとすると、データの不整合が起こり正しい結果が得られないため、これを解決しどのCPUも必ず最新のデータにアクセスできるようにする必要がある。このための代表的なアルゴリズムにスヌープ方式やディレクトリ方式、共有キャッシュがある。


スヌープ方式 (Cache Snooping)
上記キャッシュコヒーレンシのアルゴリズムにおいて、特に各キャッシュ自身に搭載される方法としてスヌープ方式がある。これは各々のキャッシュが自身や他CPUのキャッシュのライン更新状態を把握/管理し、他のキャッシュと更新状態の情報を交換することで、どのキャッシュに最新のデータが存在するかを知り、各キャッシュが必要なときに最新のデータを取得できるように自身の状態を変更したりラインのパージを行う。この情報交換は共通のデータバスを介して行われるため、情報の通知と実際のデータ転送との順序が保たれ、破綻を起こすことはない。逆に共通バスを持たない分散型メモリシステムには用いることが困難などの制約もある。このプロトコルとして下記のものが知られている


銀行の場合、日本銀行から借りたお金や、一般の人々から預かった預金等々を資金としてそれを貸し出す。


法人相手の融資について解説すると、借りることを望む法人(キャッシング=資金需要者)全てに融資を行っているわけではなく、日本の銀行などでは一般に、一定の内部基準をあらかじめ設定しておき、資金需要者がそれらの基準(財政状態、経営の状況、業務内容、信用情報、担保の価値など)を満たしているかどうか内部審査を行い、審査を通過したものに対してだけ資金を貸している。一般に、小法人などで、貸したお金が返ってこない可能性が高いと判断される場合は、融資は行っていない。結果として中小法人(そのほとんどは潤沢な資金や担保は持たない)には滅多なことではお金を貸さない、という判断になり、いわゆる「雨に濡れている者には傘を貸さない」(晴れている者に対して傘を貸す)と一般に言われる判断になっていることが多い。


なお、米国では事業評価の専任のプロなどもいて、担保が一切ない法人、まだ実績が全く無い法人などであっても、純粋に事業の成長可能性や、資金を投入した場合に将来生むであろう利益を評価して、融資を行っているケースが多々ある。が、日本の銀行では現在でも、その時点で担保があることをあたかも絶対条件のように扱い、事業の成長可能性を判断していない(個々の事業の評価をできるようなプロフェッショナルが金融機関内に全くいない、あるいは育てていない)場合がほとんどである、と言われている。


大手企業に対しては、予め一定金額までの融資枠を設定しておいて、その枠内でなら借りられる、という形にすることがある



複数のキャッシュから参照があるアドレスに対しあるキャッシュが更新を行う場合、そのアドレスはダーティであるとして参照中の全キャッシュの該当ラインを無効化する。これにより更新されたラインがありながら他のキャッシュで古いデータをキャッシングしている状態がなくなり、コヒーレンシが保たれるキャッシング 方法。MESI(Illinoisプロトコル)、MOSI(Berkeleyプロトコル)などがある。
更新型プロトコル (Update Protocol)
複数のキャッシュが参照しているアドレスに対してデータ更新を行うときはライトスルー型となり、単独でアクセスしている場合はライトバック型となるような制御を行うことで更新データを行き渡らせコヒーレンシを保つ。MEI(Fireflyプロトコル)、MOES(DRAGONプロトコル)などがある。
ディレクトリ方式 (Directory-based Protocol)
スヌープ方式と異なり、メモリの一貫性をディレクトリと呼ぶ専用領域にて一元管理する方式。この領域は実装上の各メモリ領域に分散してよく、分散メモリ型システムに適している。
プロフィール
  • プロフィール画像
  • アイコン画像 ニックネーム:arterija
読者になる
2014年06月
« 前の月  |  次の月 »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
最新コメント
ヤプミー!一覧
読者になる
P R
カテゴリアーカイブ
月別アーカイブ
http://yaplog.jp/arterija/index1_0.rdf