半導体メモリはその名の通り,半導体素子を利用して電気的にデータの記録を行うメモリのこと.半導体メモリは大きく分けて2つある.
- RAM(Random Access Memory)
- ROM(Read Only Memory)
RAM(Random Access Memory)
読み書きできるメモリのことで,電源を切ると記憶済みのでーたは消失する(揮発性).CPUが何らかの処理を行い,画面上にデータを表示したりする一時的な作業用メモリに使用される.RAMのデータは頻繁に書き換えられる.
RAMはいくつかの種類に分けられる.
RAMの種類 | 回路 | 集積度 | 値段 | 速度 | 使用用途 |
---|---|---|---|---|---|
DRAM | コンデンサ | 高 | 安価 | 遅い | 主記憶 |
SRAM | フリップフロップ | 低 | 効果 | 早い | キャッシュメモリ |
DRAM(Dynamic RAM)
コンデンサに電荷を蓄えた状態か否かを判断し,1ビットを表現する.コンピュータの電源を落とすと電荷がなくなるため,記憶内容は消失する.コンデンサのため構造が単純で高集積化に向いている.後述するSRAMより安価で大容量.
コンデンサを使用しているため一定時間で電荷が放出され,記憶したデータが消失する場合がある.そのため行って時間ごとに再書き込み(リフレッシュ)をする必要がある.
SRAM(Static RAM)
フリップフロップ回路を用いたRAM.高速に動作するが,構造が複雑で集積化には向いていないためDRAMより低容量.フリップフロップ回路を使用しているため,再書き込み(リフレッシュ)をする必要がない.通電が続く限りデータが維持され続け,リフレッシュの必要がないためDRAMより消費電力を低く抑えることができる.
ROM(Read Only Memory)
書き込み不可,読み出し専用のメモリ.ゲーム内のBGMや写真等の書き換えの必要のないデータの保存に使用される.電源を切っても記憶したデータは消失しない(不揮発性)
ROMはその名の通り読み出し専用のメモリだが,書き込むことのできるPROM(Programmable ROM)もある.
ROMの種類 | 書込み | 消去 | 特徴 |
---|---|---|---|
マスクROM | × | × | 製造時のみ書き込み.利用者は書き込みも消去もできない. |
UV-EPROM (UV-Erasable ROM) | ◯ | ◯ | 紫外線を照射することで記憶内容の全消去が可能. |
EEPROM (Electorically EPROM) | ◯ | ◯ | 電圧をかけて記憶内容の部分消去が可能.1バイト単位で書き込める |
フラッシュメモリ | ◯ | ◯ | 電圧をかけて記憶内容の全消去,部分消去が可能.ブロック単位で消去後に書き換える.上書きはできない. |
キャッシュメモリ
主記憶よりも高速で動作する.CPUと主記憶装置の中間に位置し,主記憶から取り出したデータをキャッシュメモリに保持する.同じデータを参照する場合,処理速度が低いCPUのデータを取り出すのではなく,より高速で処理できるキャッシュメモリから読み出すことで実行アクセス時間を大幅に短縮できる.
キャッシュを加味したデータへのアクセス時間
アクセスするデータは必ず主記憶かキャッシュメモリにあり,そのデータがキャッシュメモリ上にある確率をヒット率という.逆にアクセスするデータが主記憶にある確率をNFP(Not Found Probability)と呼ぶヒット率,主記憶へのアクセス時間,キャッシュメモリへのアクセス時間の3つがわかれば,実行アクセス時間を求めることができる.下記のような場合
- ヒット率:60%
- 主記憶へのアクセス時間:80ns
- キャッシュメモリへのアクセス時間:20ns
以下の式で実行をアクセス時間を求められる.
実行アクセス時間 = 主記憶アクセス時間 × NFP + キャッシュメモリへアクセス時間 × ヒット率
= 80ns × 0.4 + 20ns × 0.6 = 44ns
主記憶へのアクセス時間とCPUの処理時間に大きな差がある場合,複数のキャッシュメモリを挟む場合がある.CPUがアクセスする順番から1次キャッシュ(L1キャッシュ),2次キャッシュ(L2キャッシュ)となる.
キャッシュメモリへの書き込み方式
CPUからキャッシュメモリと主記憶に書き込む方式として,2種類の方式がある.
ライトスルー方式
CPUからキャッシュメモリと主記憶の両方に書き込みを行う方式.キャッシュメモリと主記憶の同一性は常に保たれるが,頻繁に主記憶にアクセスするため低速になる.
ライトバック方式
CPUからキャッシュメモリにだけ書き込みを行い,キャッシュメモリからデータが追い出されるタイミングで主記憶に書き込む方式.キャッシュメモリと主記憶の同一性を保つことは困難だが,主記憶にアクセスする回数が減るため高速に動作する.
メモリインタリーブ
メモリへのアクセスを高速化する技術の一つ.メモリを複数のブロックに分割し,その複数のブロックに対し同時,並行的にアクセスすることで転送速度を向上させる技法.