pulpul 日本の試験

システム監査技術者 概念書 · コンピュータ構成要素

メモリの仕組み

要点と定義

DRAMは、コンデンサに蓄えた電荷でデータを保持する揮発性メモリです。電源が入っている間も電荷が失われるため、定期的なリフレッシュが必要で、主記憶に使われます。過去の出題で扱った補足として、SRAMはフリップフロップで記憶し、リフレッシュが不要で、キャッシュメモリなどに使われるという違いがあります。

メモリインタリーブは、主記憶を複数の独立したバンクに分け、アクセスを振り分ける方式です。別のバンクへの処理を重ねられると、連続アクセスの処理効率を高められます。個々のアクセス時間の短縮や、故障したバンクのデータ復旧を保証する仕組みではありません。

キャッシュを含む平均アクセス時間は、各場合の所要時間に、その場合が起きる確率を掛けて合計します。ミス率を r、ヒット時の時間を x、ミス時の時間を y とします。管理オーバヘッドを無視し、ミス時を y とするモデルでは、平均は(1−r)×x+r×y です。

過去の出題で扱った補足として、LRUは最後に参照されてから最も長く使われていないブロックを置換対象にします。FIFOはロード時刻、LFUは参照回数、LIFOはロード時刻が新しいものを基準にするため、LRUでは最後の参照時点を比べます。

適用条件と例

メモリを選ぶときは、必要な容量や速度に加えて、揮発性やリフレッシュの要否も考えます。例えば、電源断後にも必要な情報は、揮発性の主記憶だけに置かず、電源断後にも保持できる記録先へ保存する設計が必要です。DRAMとSRAMの用途の違いも、選択時の手がかりになります。

連続するデータを読むとき、隣接アドレスが異なるバンクに割り振られていれば、一方の処理中に別のバンクへ要求を出せます。同じバンクへの要求が続くと、バンク間の並行性を活かしにくくなります。バンクを分けるだけでは、データの複製や故障時の継続動作にはなりません。

計算例として、ヒット率が 0.8、ヒット時間が 5 ナノ秒、ミス時の所要時間が 45 ナノ秒なら、平均は 0.8×5+0.2×45=13 ナノ秒です。このモデルでは、ミス時の y がミスの場合にかかる時間全体を表します。ミスペナルティが別に示される問題では、時間の定義を確認して式に反映します。

LRUで置換対象を選ぶときは、各ブロックの最後の参照時点を比べ、最も古いものを選びます。ロード時刻を比べるFIFOとは、判断に使う情報が異なります。

過去の出題で扱った補足として、圧縮データをフラッシュメモリから主記憶へ移して展開する計算があります。圧縮後のデータ量を求めて転送時間と展開時間を計算し、両者を同時に行わない条件なら所要時間を足します。

誤りやすい点

メモリインタリーブは、独立したバンクを使ってアクセスを重ねる仕組みです。アクセス遅延が必ず短くなる、または一つのバンクの故障を他のバンクが補う、と読み替えないようにします。効果を得るには、アクセス先を複数のバンクに割り振れることが条件です。

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む