キャッシング
キャッシングの借り入れが原因で自己破産したわけではありませんが、当管理人の知り合いもつい先日自己破産 された方がいます。その方はご商売をされていたのですが、不況のあおりを受けて店をたたむ事となりました。残念な事にまだ借り入れ(独立支援システムによる会社からの借り入れ)による借金が残っていて、新たに働く会社の給料では、生活が出来そうにもなかったらしく、弁護士に相談したそうです。その弁護士さんの勧めで、自己破産の申請をしました。
主婦でも借りれる無利息キャッシング自己破産を認めてもらうには、2つの手続きが必要です。まず。破産の宣告を受けその後、免責(借金の責任を免れる)の決定を地方裁判所で決めてもらう事になります。免責の審査は厳しいので、素人では荷が重く、大変なので、弁護士さんや司法書士さんなどに頼む事になります。
主婦でも借りれる無利息当たり前のことですが、注意です。私の知り合いのように『頑張ったんだけど、どうしようも無い』といった場合のみ自己破産という最終手段があるわけで、ギャンブルや自己の欲を満たすだけの浪費による借金では免責不許可とはんだんされ、借金はなくなりません。
審査 甘い
キャッシュメモリは、通常は下位レベルの記憶装置より小容量で高速なスタティックRAMを用いて構成される。データ本体の一部とそのアドレス、フラグなど属性情報のセットを固定容量のメモリに格納する構造で、データ格納構造、ライン入替え、データ更新方式などに多数のアーキテクチャが存在する。以前はCPUチップの外部に接続されていたが、LSIの集積度の向上や要求速度の上昇に伴いCPUチップ内部に取り込まれることが普通となった。また最近のCPUとメモリの性能差の拡大、マルチスレッドなどアクセス範囲の拡大に対応するため、キャッシュも多段構造とする例が増えている。この場合CPUに近い側からL1(レベル1)キャッシュ、L2(レベル2)キャッシュと呼ばれ、2004年時点ではL3キャッシュまでCPUに内蔵する例も存在する。
キャッシング
データ格納構造 [編集]
キャッシュメモリはデータをライン(ブロック)と呼ぶある程度まとまった単位で管理する(例えばIntel Pentium4の8kByte L1キャッシュはラインサイズ64Byte)が、データのアクセス要求があった時にそのデータがキャッシュに存在しているか、あるならどのラインかなどを瞬時(多くの場合1サイクルのスループット)に検索する必要がある。そのためデータ格納アドレスの一部、具体的にはライン単位アドレスの下位数ビット(エントリアドレス)によりある程度の格納位置を限定することで検索速度を高める。各ラインにはライン単位アドレスの上位ビット、即ちフレームアドレスを格納しておき、キャッシュ検索時には検索アドレスのフレームアドレス部と、キャッシュ内に格納されている検索エントリアドレス位置(エントリアドレス部をデコードしラインが1つ選択される)に対応したフレームアドレスとを比較することでキャッシュのヒットを検出する。このフレームアドレス格納バッファが(図中)タグである。複数セットのタグを持てば同じエントリアドレスでも複数データの格納を行うことが可能となる。このタグのセット数(ウエイ)を連想度と呼ぶ。データ格納構造の相違は連想度の相違でもある。
審査 甘い
ダイレクトマップ方式 (Direct Mapped)
1組のタグにより構成(連想度1)されるデータ格納構造。アドレスにより一意に配置が決まるため、タグの構造が非常に単純。だが、同一エントリに異なるフレームアドレスが転送されると必ずラインの入れ替えが発生する。ラインの入れ替えが頻発しスループットが落ちることをキャッシュスラッシングというが、この状態が起こりやすくヒット率は他の方式に比べ高くない。
セットアソシアティブ方式 (Set Associative)
複数のタグにより構成(連想度2以上)されるデータ格納構造。同一エントリに異なるフレームアドレスのデータを複数格納することができる。連想度が上がるほどキャッシュヒット率は上昇するが製造は困難になっていくため、システムによりバランスのよい実装が異なる。n個のタグにより構成された場合、 nウエイセットアソシアティブ方式と呼ぶ。最近はCAM (連想メモリ:Content Addressable Memory)がタグとして使われ出し、32など非常に高い連想度を実装できるようになってきた。ダイレクトマップ方式や下記のフルアソシアティブ方式はこの方式の特殊な場合である。
キャッシング審査甘い会社
フルアソシアティブ方式 (Fully Associative)
エントリアドレスによる振り分けはなく、全てのラインが検索対象となる構造。従って連想度はライン数分となる。キャッシュスラッシングは起こり難くヒット率は最も優れているが、実装コストや複雑度の面から通常用いられることはない。
ライン入替え方式 (Refill) [編集]
ラインの入替え(リフィル)は該当エントリの全ラインにデータが格納されてなお同一エントリ新規フレームアドレスが入力されてキャッシュミスした(ヒットしなかった)場合に発生する。その場合どのラインを掃出して新規アドレスと入替えるかのアルゴリズムによってキャッシュのヒット率が変動する。代表的なアルゴリズムを記す。
ラウンドロビン (Round Robin)
リフィル対象となるラインを順番に交代させる方法。各ラインのアクセス頻度に拘らず順番にリフィルを行うため、あまりヒット率が高くない。
LRU (Least Recently Used)
最も古くアクセスされたラインをリフィルする方法。時間的局所性に鑑みれば、過去最もアクセスのなかったラインは将来にわたってもアクセスされる可能性は少ないと言える。従ってこの方法はヒット率がかなり高い方法としてよく採用されている。ただし各ラインごとにアクセス順履歴を持ちアクセスがある度に頻繁に履歴を入替えるため、複雑な構成となりアクセス性能に影響が出る場合がある。
ランダム (Random)
リフィルラインの選択をランダムに行う方式。各ライン毎にリフィル用機構を持つ必要がなくなるため構成が簡易になる。ヒット率はラウンドロビンよりは良いとされる。
データ更新方式 (Purging) [編集]
キャッシング審査甘い
CPUキャッシュは命令キャッシュとデータキャッシュの2種類が搭載されている場合が多い。命令キャッシュはプログラムという静的なデータを扱うのでデータ更新は存在しないが、データキャッシュはメモリへのライト動作があるためデータ更新が存在する。更新されたデータはいずれかのタイミングで下位レベルのメモリにも反映される必要があり、そのタイミングの相違により2つのアルゴリズムが存在する。
ライトスルー方式 (Write Through Algorithm)
CPUがメモリ書き込みを行ったら、キャッシュにストアすると同時に下位レベルのメモリにも書き戻す方式。必ず下位レベルのバスが活性化するため、バスの競合や下位レベルの低いスループットに律速されるなどの制約はあるが、単純な構成で実現でき、またデータのコヒーレンシを保つことが容易である。出力段にライトバッファを設けることにより、単一CPUであればライトバック方式に比べ遜色のない性能が期待できる。そのためCPUのL1キャッシュなどに実装される場合が多い。
審査甘い会社
ライトバック方式 (Write Back Algorithm)
CPUがメモリ書き込みを行っても、条件が整わない限りキャッシュに留まりメモリへの書き戻しを行わない方式。書き戻す条件は対象エントリにウエイ数以上のフレームアドレスのリード/ライトが行われる、他のバスマスタが対象エントリが保持しているアドレスに対しアクセスを行った時にコヒーレンシを保つために行うなどがある。ライトスルー方式に対し下位レベルのバスが競合を起こしにくく、マルチCPU構成に向くため、記憶階層の同一レベルに複数のキャッシュが接続されているようなL2キャッシュに実装される。