← PC・IT用語集へ戻る

ROM

Read Only Memory
environment general beginner
電源を切ってもデータが消えない、基本的に読み出し専用のメモリ。
ROM (Read Only Memory)

概要(サマリー)

ROM(ロム:Read Only Memory)は、コンピュータやゲーム機などで使用される半導体メモリの一種であり、電源を切っても保存されたデータが消えない「不揮発性(ふきはつせい)」と、原則としてデータの「読み出し(リード)専用」であるという特徴を持つ記憶装置である。

一般的には、コンピュータの起動に必要な最も基本的なプログラム(BIOS/UEFIなど)や、電子機器の制御を行うためのプログラム(ファームウェア)を長期間保存するために用いられる。一度書き込まれたデータは簡単には書き換えられないため、システムの誤作動や不正なプログラムによる書き換えを防ぎやすい。

詳細解説

ROMとは何か(読み出し専用のメモリ)

ROMは、日本語で「読み出し専用メモリ」と訳される。

対義語としてよく比較されるのが、データの読み書きが自由に行える「RAM(Random Access Memory)」である。RAMはコンピュータの電源を切るとデータが消えてしまう(揮発性)ため、コンピュータが起動する際、最初に動くべきプログラムは、電源を切ってもデータが消えない「ROM」やフラッシュメモリのような不揮発性メモリの中に保存されている必要がある。パソコンに電源を入れた瞬間に画面にロゴが表示され、システム(OS)の起動準備が始まるのは、マザーボード上のファームウェアが初期化処理を始めるからである。

ROMの進化と種類

初期のROMは文字通り「一度書き込んだら通常は消せない」ものであったが、技術の進歩に伴い、特殊な方法で書き換えが可能なROMも誕生した。主な種類は以下の通りである。

  • マスクROM:製造段階で完全に回路としてデータが焼き込まれた、一切書き換えが不可能なROM。大量生産されるファミコンのゲームカセットなどに使われていた。
  • PROM(Programmable ROM):製造後に、ユーザー(開発者)の手で一度だけデータを書き込めるROM。
  • EPROM / EEPROM:特殊な紫外線(EPROM)や、電気信号(EEPROM)を使って、書き込まれたデータを消去し、何回か再書き込みができるようにしたROM。マザーボードのBIOS更新などが可能になったのは、このEEPROMが採用されているためである。
  • フラッシュメモリ:EEPROMをさらに進化させ、大容量で高速なデータの消去・書き込みを実現したメモリ。現代のUSBメモリやSSDの技術的なルーツは、このROMの系譜にある。

RAMとの決定的な違い

コンピュータの処理において、ROMとRAMは役割が対極にある。

  • ROM(読み出し専用・消えない):基本プログラム(OSを起動するための道先案内人)が保存されている場所。ユーザーが日々の作業でこの中身を意識して書き換えることはない。
  • RAM(読み書き可能・消える):実行中のアプリやデータが一時的に展開される「作業スペース」。電源を切ると内容は失われるが、CPUが作業中のデータへ高速にアクセスするために使われる。

AIコーディングとの関係

ソフトウェアの開発者がROMそのものを直接制御するプログラムを書く機会は少ないが、マイコン開発(Arduinoなど)や、家電製品などの組み込みシステム(ファームウェア)の開発において、プログラムがROM(フラッシュメモリ)に書き込まれて動作する前提を考慮したコード作成をAIにサポートしてもらうことができる。

例えば、AIに対して「このC言語プログラムをマイコンに書き込みたいが、RAM容量が足りないため、定数データ(設定テーブルなど)をRAMではなくROM領域(PROGMEM)に直接配置して節約するコードの書き方を教えて」と指示すると、限られたメモリ資源を有効活用するための記述方法を検討しやすい。

また、古いゲーム機の動作エミュレーター開発や、ハードウェアの挙動を再現するシミュレータープログラムを作成する際、「ROMファイル(バイナリデータ)を読み込み、特定のメモリアドレスからデータをパースするプログラムをPythonで書いて」と依頼すれば、バイナリデータを解析するコードのたたき台を作りやすい。

よくある勘違い

スマホのスペック表記にある「ROM」は本来の意味と同じ?

スマートフォンのカタログなどに「RAM 8GB / ROM 128GB」と表記されていることがあるが、この「ROM 128GB」という表現は、厳密な技術用語としては誤用(または俗称)である。

スマートフォンに搭載されている128GBの記憶領域は、ユーザーが写真やアプリを自由に保存・削除できるため、本来の「読み出し専用(Read Only)」ではない。正しくは「フラッシュメモリ(内蔵ストレージ)」であるが、PCの「HDD/SSD(ストレージ)」に相当する領域を、スマートフォン業界では慣例的に「ROM」と表現することがある。本来のROMに近い役割は、その中にある起動用・システム用の領域などが担っている。

ROMは絶対にデータを書き換えることができない?

「Read Only(読み出し専用)」という名前から、物理的に一切書き換えができないと思われがちだが、前述の「EEPROM」や「フラッシュメモリ(スマホのROM表記部分)」のように、電気的にデータを消去して再書き込みができるROMが現代の主流である。

ただし、これらの書き換え可能なROMであっても、RAMのように「1文字単位でリアルタイムに超高速で書き換える」ことはできない。ブロック単位での消去が必要だったり、書き込みに時間がかかったりするため、作業中のデータを一時的に置く用途には使用できず、基本的には「長期間保存するソフトウェア(ファームウェアやOSデータ)」の格納場所として使われている。

CD-ROMやDVD-ROMと、PC基板上のROMは全く同じもの?

「ROM(Read Only)」という名称は共通しており、「書き換えができない読み出し専用のメディア」という意味では同じ仲間である。

しかし、物理的な仕組みは全く異なる。CD-ROMやDVD-ROMは、光ディスクの表面にレーザーで微細な凹凸(ピット)を作ってデータを記録する「光学メディア」である。一方、コンピュータの基板上にあるROMは、シリコン半導体チップの中に電気的・回路的にデータを記録する「半導体メモリ」である。

まとめ

  • ROMは、電源を切ってもデータが消えない、原則「読み出し専用」の半導体メモリである。
  • パソコンの起動に必要なBIOS/UEFIや、電子機器を制御するファームウェアの保存に使われる。
  • データの読み書きが自由で、電源を切ると消える「RAM」とは役割が異なる。
  • 技術の進歩により、電気的に内容を書き換えられる「EEPROM」や「フラッシュメモリ」へと進化した。
  • スマートフォンのスペック表記にある「ROM」は、厳密には読み書き可能な「ストレージ(フラッシュメモリ)」の俗称である。

情報ソース

より詳しくAIに聞いてみよう

  • コンピュータのメインメモリである「RAM」と、読み出し専用の「ROM」の物理的な仕組みと役割の違いを詳しく教えてください。
  • パソコンのマザーボードに搭載されている「BIOS(バイオス)」が、起動時にどのようにROMから読み込まれてシステムを起動するのか、処理の流れを教えてください。
  • スマホのスペックで「ROM 128GB」と書かれているものが、なぜ厳密にはROMではなく「フラッシュメモリ(ストレージ)」なのか、歴史的経緯を含めて教えてください。
  • C言語のプログラムで、データや変数を「RAM」ではなく、マイコンの「ROM(フラッシュメモリ)領域」に明示的に保存させるためのコードの書き方を教えてください。
  • CD-ROMやDVD-ROMなどの「光学ディスク」と、基板上の「半導体ROM」のデータの記録方法や耐久性の違いについて教えてください。