RAMの処理

RAMはどんな処理をしているの?

知識豆くん「ヨースケ先生、RAMはどんな処理をしているの?」

RAMの処理

ヨースケ先生「電気ケトルを例にしてRAMの処理を理解していきましょう。
例えば温度設定のできる電気ケトルの機能は以下のようになるでしょうか。

①湯沸し機能
・湯沸し停止中に湯沸しのボタンが押されると湯沸しを開始する。
・電気ケトル内の温度が設定した温度(目標温度)に達したら湯沸しを停止する。
・湯沸し中に湯沸しボタンが押されると湯沸しを停止する

②温度設定機能
・100℃,90℃,75℃の3段階の温度に設定できる。
・温度設定ボタンが押されるたびに,100℃⇒90℃⇒75℃⇒100℃⇒90℃と温度が切り替わる。
これらの機能を実現するためにもRAMが必要になります。では,どのようにRAMが使われているかを見ていきましょう。」

湯沸し機能

ヨースケ先生「湯沸し機能は,湯沸し停止中に湯沸しボタンが押されたことによって加熱を始めるので,湯沸し中か,
もしくは,湯沸し停止中かが分かるようになっている必要があります。したがって,湯沸しON/OFFの状態をデータとして保持する必要があります。
ここでは,湯沸しON/OFFの状態をRAMに置いておくことにし,データの名前をHeaterStatusと付けることにします。
CPUは,湯沸しボタンが押された際は,RAMからHeaterStatusを読み出し,現在の状態を判断し,そしてHeaterStatusを書き換える動作をします。」

ヨースケ先生「さらに具体的にいいますと,HeaterStatusがOFFの場合に湯沸しボタンが押されると,ヒーターに電流を流しHeaterStatusをONにします。
逆にHeaterStatusがONの場合に湯沸しボタンが押されると,ヒーターの電流を止めHeaterStatusをOFFに変更します。」

ヨースケ先生「白文字で示した処理がRAMにデータを書き込んでいる部分になります。
もし,RAMのように変更できる領域がないと,現在の状態を保持できません。」

温度設定について

ヨースケ先生「温度の設定についても,設定温度は3種類あるので,どの温度に設定したのかを記憶しておく必要があります。
また,温度設定ボタンを1回押すたびに設定温度が変わり,ボタンが3回押されたらもとに戻る必要があります。
このように考えると,ボタンを押した回数と,その回数に該当する温度を目標温度のデータとしてRAMに保持しておけば温度設定が実現できます。
これらのように,RAMという自由に読み書きできる領域があることで,より柔軟な処理が可能になるわけですね」

次は

知識豆くん「RAMの役割はわかったけど、ROMとRAMをどのように使い分けているかわからない。」
ヨースケ先生「そうですね。よくたとえられるのは、頻繁にものを入れ替える机の上がRAMで、めったに入れ替えない机の引き出しの中や、本棚がROMになります。
つまり頻繁にデータを書き換える必要があるものはRAMに保持され、逆にデータを書き換えたくないものはROMに保持されるわけですね。」

知識豆くん「なるほど」
ヨースケ先生「はい。次は周辺回路についてみてみましょう」
知識豆くん「はーい」

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