ROMとは?

ROMってなに?

知識豆くん「ヨースケ先生,ROMってなんなの?」

ROMとは

ヨースケ先生「ROM(Read Only Memory)は,読み出しのみ可能なメモリです。基本的には,内容を書き換えないメモリです。
電気ケトルに例えると,
『もしボタンが押されたら,ヒーターを加熱して水を温める』
『もし電気ケトル内温度計の温度が90℃になったらヒーターを停止させる』
といったプログラムが格納される場所です。そのため,プログラムメモリとも呼ばれています。
ROMの内容は,電源起動時から読みだされ,また電源を再起動しても保持しています。
そのため,電気機器の電源を再起動したとしても,電気ケトルなどの電気機器は毎回同じ動作をするわけですね。
ちなみに,現在のROMの主流は,ROMの内容を書き換えたいときに書き換えられるフラッシュメモリです。
これにより,マイコンの自由度が増し,さらに電気機器の開発期間の短縮やコストの削減が可能になりました。」

CPUと命令とROMの関係

ヨースケ先生「以前CPUでお話ししました,命令を覚えているでしょうか。
CPUは,最小処理単位である命令をひとつひとつ処理します。そして,命令には,転送命令MOV,記憶命令ST,比較命令CMPなどがあります。
ROMには,これら命令がひとつひとつ保持されています。
ここで電気ケトルの例を振り返ってみましょう。
『もし電気ケトル内の温度が90℃になったらヒーターを停止させる』
という処理を大きく分けると,以下の3つに分けられます。

1.数秒おきに電気ケトル内の温度センサー出力を受け取る。
2.取得した電気ケトル内の温度と閾値90℃を比較する。
3.もし温度が閾値90℃以上の場合ヒーターを停止させる。

ここで『2.』および『3.』の処理をアセンブリ言語で記載すると
・CMP 電気ケトル内温度,90℃(電気ケトル内の温度と90℃を比較する)
・BGE ヒーター停止(もし電気ケトル内の温度≧90℃ならヒーター停止に分岐する)
となります。ROMにはこれら命令が保持されており,CPUはこれら命令を順番通りひとつひとつを処理しているわけですね。」

次は

知識豆くん「ROMは記憶装置ってわけだね。」
ヨースケ先生「はい。そうです。実はもう一つ記憶装置があります。次はそのもう一つの記憶装置RAMについてみてみましょう。」

知識豆くん「はーい」

マイコン設計者がお答えします!技術的問い合わせフォーム