MMU(メモリ管理ユニット)
メモリのあれやこれやを管理する部品だよ
物理アドレスと論理アドレスの変換とかをやっているよ
「MMU」と表現された場合は「Memory Management Unit」の略だよ
簡単に書くよ
MMU(メモリ管理ユニット)(読:メモリカンリユニット 英:memory management unit)とは
メモリの読み書きに関する あれやこれやを管理するのがお仕事の部品
です。
詳しく書くよ
サクっと一言で説明すると
メモリを管理するための部品
が「メモリ管理ユニット」です。
「MMU」と表現されることも あります。
「MMU」と表現された場合は「Memory Management Unit(メモリ・マネジメント・ユニット)」の略です。
気が向いたら、覚えてあげてください。
※「Memory Management Unit」を何となく日本語にすると「メモリ管理部品」となります。[詳細]
今回 登場するメモリは「パソコンさんが作業するときに使う机」です。
パソコンさんは、お仕事道具をメモリの上に広げて、えっちらおっちらと働きます。
パソコンさんは、必要に応じて、この机の上に物を乗せます。
あるいは、机の上から物を取ります。
ところが、ですね。
実は、パソコンさんは整理整頓が苦手なのです。
好き勝手に使っていたら、机の上がごちゃごちゃして、えらいこっちゃになりました。
この状況はマズイです。
そう考えたパソコンさんは机を管理してくれる人を雇いました。
それ以降、パソコンさんは自分では机に触れません。
ミカンを机に置きたいときは机の管理人に「このミカン、机に置いておいて」と指示を出します。
逆もしかりです。
ミカンが食べたいときも自分では机に触れません。
机の管理人に「机に乗ってるミカンを取ってよ」と指示を出します。
これでパソコンさんは苦手な整理整頓をする必要がなくなりました。
机の管理人さんに言えば、あとは良しなに取り計らってくれます。
この話における、机の管理人さんがメモリ管理ユニットです。
実際には、もっとややこしいですけどね。
細かいことは、専門的に説明しているところで情報を補完してください。
とはいえ、具体的なことに何も触れないのも気が引けます。
せっかくなので、物理アドレスと論理アドレスの変換でも説明しておきましょうか。
パソコンさんが使う机(メモリ)は上から見るとマス目で区切られています。
そして、それぞれのマス目には使いやすいように番号が振られています。
この「マス目に振られた番号」を「アドレス」と言います。
例えば、13番のマス目にミカンを置いたとしましょう。
この状況を指して
13番アドレスにミカンを置いた
と表現したりします。
さて、この机のマス目に振られた番号ですが
1.実際に割り当てられている番号(物理アドレス)
2.プログラムから見たときの番号(論理アドレス)
の2種類あります。
そして、この2つは一致しません。
プログラムさんが「1番アドレスにミカンを置いたぜ!」と思っても、実際には100番アドレスに置かれていたりするのです。
例えば、そうですね。
ここにミカンを持ったプログラムさんがいます。
プログラムさんはミカンを机の上に置きたいです。
このとき、プログラムさんはミカンを机の上に直接は置きません。
メモリ管理ユニットさんに「このミカンを机の上に置いておくれ」と依頼します。
プログラムさんはメモリ管理ユニットさんに「このミカンを1番アドレスに置いてよ」と依頼しました。
この依頼を受けたメモリ管理ユニットさんはミカンを1番アドレスに……置くとは限りません。
メモリ管理ユニットさんの気分で勝手に決めます。
おっと、どうやら今回は13番アドレスにミカンを置いたようですね。
それからしばらくして、プログラムさんが戻ってきました。
プログラムさんは、どうやらお腹が空いたようです。
メモリ管理ユニットさんに「1番アドレスに置いてもらった例のミカンを持ってきてよ」と依頼しました。
この依頼を受けたメモリ管理ユニットさんは、しれっと13番アドレスからミカンを持ってきます。
そして「ほれ、1番アドレスに置いておいたミカンだよ」と渡します。
ここで、ミカンを置いたマス目の番号に注目してください。
プログラムさんはミカンを「1番」のマス目に置いたつもりになっています。
プログラムさんの視点で見れば、メモリ管理ユニットさんを経由したとはいえ、1番のマス目に置いたミカンを1番のマス目から持っていきました。
実際には、どうでしょう?
メモリ管理ユニットさんの手によって「13番」のマス目に置かれていましたよね。
プログラムさん目線でのマス目の番号は「論理アドレス」と言います。
実際に机に割り振られているマス目の番号は「物理アドレス」です。
この状況は
メモリ管理ユニットさんの手によって、論理アドレスと物理アドレスの変換が行われている
と言えるでしょう。
これがメモリ管理ユニットさんの仕事の1つです。
一言でまとめるよ
まぁ「メモリ管理ユニット」って単語が出てきたら「メモリのあれこれを管理する部品なんだな~」と お考えください。
おまけ
■訳してみるよ
「memory(メモリ)」の意味は「記憶」とか「記憶力」とかです。
「管理」は日本語ですね。
「unit(ユニット)」の意味は「単位」とか「部隊」とか「1つ」とかですが、今回は「部品」と捉えてください。
何となく くっつけると
記憶管理部品
となります。
■検索してみる?






