主記憶装置(メモリ)とは?基本情報技術者試験の重要用語解説!

更新日:2021年4月30日

主記憶装置の写真

主記憶装置は、コンピュータの計算処理においてデータを保持するために用いられます。現代では様々なアプリケーションを並行で利用するために、コンピュータに搭載されるメモリ量は増加しています。

基本情報技術者試験では主記憶装置の構造や動作について問われます。この記事では、基本情報技術者試験を受けられる方に向けて、主記憶装置に関する出題ポイントを中心に解説を行います。

目次

主記憶装置(メモリ)とは

主記憶装置はCPUから直接アクセスできる記憶装置のことです。一般的には、メモリまたはメインメモリなどと呼ばれます。PCやスマートフォンを購入する際に、カタログにメモリサイズが記載されているのを見たことがある方も多いのではないでしょうか。

記憶装置というと、HDDやSSD、USBメモリなどを思い浮かべるかもしれませんが、これらはコンピュータの世界では補助記憶装置に分類されます。

その名の通り、これらの機器はメモリが保持できないデータを補助的に記憶するために用いられるもので、あくまでコンピュータ処理における記憶装置の中心はメモリです。

メモリは区画ごとに区切られ番号が振られています。これをメモリのアドレスまたは番地といいます。

CPUはメモリのアドレスを指定して、データを読み込んだり書き込んだりします。32bitOSや64bitOSという言葉を聞いたことがある方もいるかもしれませんが、このbit数はメモリのアドレスの大きさを示します。

32bitOSであれば、32bit = 4GBまでのメモリを利用できます。
64bitOSであれば、64bit = 16EB(= 16,000PB = 16,000,000TB)までのメモリを利用できます。

RAM

メモリと名前が付くものには、大きくRAMとROMの2種類があります。ここではそれぞれの違いについて解説します。

まずRAM(Random Access Memory)とは半導体の一種で、こちらが主記憶装置として用いられるメモリです。後述するDRAMを利用して製造されており、比較的安価で大容量化を実現できます。

ただし、DRAMの特性から電気供給が停止すると保持していた情報は消滅してしまいます。そこで、電源焼失後も継続的に保持する必要がある情報については、HDDやSSDなどの補助記憶装置に保存します。

ROM

一方でROM(Read Only Memory)とは、その名の通り読み出しのみ実行可能なメモリです。製造時に一度だけデータを書き込むことができ、利用時には保存されたデータを読み出すことのみ実施できます。

RAMと異なり電源を切ってもデータを消失しない不揮発性メモリを利用しているため、データを永続的に保存できます。ROMは主に、家電に組み込まれたマイコンやゲームソフトなどに利用されています。

メモリに用いられる半導体の種類

メモリは主にDRAMとSRAMと呼ばれる半導体で製造されます。これらはそれぞれ特性が違うため、用途に応じて用いられます。以下ではDRAMとSRAMの特徴について解説します。

DRAM

DRAM(Dynamic RAM)は、コンデンサを用いて製造される半導体です。DRAMは価格が安いものの、処理速度が遅いという特徴があります。主記憶装置として用いられるのはこのDRAMです。

コンデンサを用いているため、一定時間がたつと電荷が失われてしまうという特徴があります。そこで、定期的にリフレッシュ動作と呼ばれる電荷の再充填を行う必要があります。

SRAM

SRAM(Static RAM)はフリップフロップ回路を用いて製造されている半導体です。フリップフロップ回路とは、一定の電流を与えるとシーソーのように上下する回路であり、一度電流を流すとその状態を維持するという特徴があります。

よって、DRAMでは必要だったリフレッシュ動作が必要ありません。

さらに、SRAMは高速かつ低消費電力であるというメリットがありますが、小型化がしにくく価格も高いというデメリットがあります。主に、CPUと主記憶装置をつなぎ、高速処理が求められるキャッシュメモリとして用いられることが多い半導体です。

キャッシュメモリとは

主記憶装置として用いられるDRAMは、CPUが求める速度と比較すると十分な性能を持っていません。そのままでは、主記憶装置がコンピュータ処理のボトルネックとなってしまいます。

そこで、CPUと主記憶装置の間にキャッシュメモリと呼ばれるSRAM製のメモリを設置することで、CPUと主記憶装置の速度差を埋める工夫がされています。

CPUはデータを読み込むとき、まずキャッシュメモリにアクセスします。目的のデータがキャッシュメモリ上にあれば、高速にデータを読み込むことができます。一方で、キャッシュメモリにデータが存在しない場合は、CPUは主記憶装置までデータを取得しに行ったうえで、次回以降の処理のためにキャッシュメモリにデータをコピーしておきます。

主記憶装置の動作

以下では、主記憶装置の動作について、特に基本情報技術者試験でよく問われるポイントについて解説します。

主記憶装置への書き込み方法

上述の通り、CPU・キャッシュメモリ・主記憶装置はそれぞれ連携して動作します。CPUが計算した結果を主記憶装置に書き込む際にも、高速化のためキャッシュメモリを活用します。

主記憶装置への書き込みにおけるキャッシュメモリの利用方法には、大きくライトスルー方式とライトバック方式の2通りが存在します。

ライトスルー方式

ライトスルー方式は、キャッシュメモリと主記憶装置に同時に同じ内容を書き込む方法です。書き込み処理を高速化することはできませんが、キャッシュメモリと主記憶装置の内容が一致するため、複数のCPUで主記憶装置を共用しているようなケースであっても問題が起きにくくなります。

ライトバック方式

一方でライトバック方式は、キャッシュメモリのみに書き込みを行う方法です。キャッシュメモリ中のデータは、キャッシュメモリがいっぱいになったタイミングでまとめて主記憶装置に書き出されます。

ライトバック方式は書き込み処理の高速化が可能ですが、一方で一時的にキャッシュメモリと主記憶装置のデータが不一致となるため、キャッシュ情報を最新化するための処理が必要になる場合もあります。

リフレッシュ動作

上述の通り、DRAMはコンデンサに電荷を蓄える仕組みで動作するため、一定時間が経過すると勝手に放電してしまい、情報が失われてしまいます。これを防ぐために、定期的にリフレッシュ動作を行います。

一般的には、数十ミリ秒に1度程度の高頻度でDRAMはリフレッシュ動作を行います。リフレッシュ動作には、すべてのコンデンサを一度にリフレッシュする集中リフレッシュと、一定のコンデンサを対象に部分的にリフレッシュを行っていく分散リフレッシュの2種類が存在します。

実効アクセス時間

キャッシュメモリを用いた場合の、CPUによる平均的なデータへのアクセス時間を実効アクセス時間といいます。基本情報技術者試験では、実効アクセス時間を求める問題が頻繁に出題されています。

目的のデータがキャッシュメモリにある確率をヒット率といい、ヒット率を用いて実効アクセス時間を求めることができます。

例えば、ヒット率が10%だったとすると、CPUのデータアクセスのうち10%はキャッシュメモリからデータを読み出せることになります。

・キャッシュメモリからの読み出し速度が10ミリsec
・主記憶装置からの読み出し速度が100ミリsec
とすると、

全体の実行アクセス時間は、10ミリsec × 0.1 + 100ミリsec × 0.9 = 91ミリsecとなります。

まとめ

この記事では、基本情報技術者試験を受けようとされている方に向けて、主記憶装置についての解説を行いました。普段PCやスマートフォンを利用していても、主記憶装置がどのように動作しているのかを想像することはないと思いますが、実は主記憶装置はコンピュータの中で重要な役割を担っています。

基本情報技術者試験でも、主記憶装置に関する問題は比較的よく出題されています。

主記憶装置の動作について学び、コンピュータの内部動作のイメージができるようになると、システムの設計能力の向上にもつながるでしょう。

基本情報技術者コラム一覧へ戻る