メモリインタリーブ
メモリアクセスを高速化するための手法だよ
メモリを何となく分けて並行処理させるよ
簡単に書くよ
メモリインタリーブ(英:memory interleaving)とは
メモリを何となく分身させて同時にやり取りすることで、CPU
(コンピュータの脳みそに相当する部品)とメモリの間のやり取りを速くする技術
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「CPU」と「メモリ」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
CPUは「パソコンさんの脳みそ」です。
実際に計算したり、あれやこれやの処理を実行する部品です。
今回 登場するメモリは「パソコンさんが作業するときに使う机」です。
仕事中の内容を記憶させておく部品であり、CPUさんが直接読み書きできる記憶装置です。
「メインメモリ」とも呼ばれます。
以上を踏まえて、本題に入ります。
CPUとメモリの関係は
CPU:データを使うやつ
メモリ:データを持っておくやつ
です。
実際に計算したり、あれやこれやの処理をやるのはCPUさんです。
そのCPUさんの補助役として、すぐに使わないデータを持っておく(記憶しておく)のがメモリさんです。
さて、このCPUさんとメモリさんの関係ですが、必ずしも順調とは限りません。
CPUさんは、せっかちです。
「あれ、くれ」「これ、くれ」とサクサク指示を出します。
それに対して、メモリさんは少しだけ鈍くさいです。
CPUさんの指示についていくのが大変です。
メモリさんだってハードディスクとかに比べればスゴい速いのですけどね。
それでもCPUさんにとっては満足できる速さではないのです。
いわば、メモリさんがCPUさんの足を引っ張っている状態です。
それに対して、どこかの誰かが不満を覚えました。
う~ん、もっとさ~。
速くデータを受け渡しできないかな~。
そう考えたのです。
そこで、どこかの誰かはメモリさんに対して「おい、おまえ、ちょっと分身してみろよ」と無茶ブリをしました。
「1人で大変なら2人で相手をすればいいじゃない」作戦です。
ま、まぁ、理屈は間違っていませんね。
仮にメモリさんからCPUさんにミカンを渡すのに1個あたり1秒かかるとしましょう。
4個渡すのであれば4秒かかります。
2人で相手をすれば、かかる時間は半分です。
1秒あたり2個(1個×2人)渡せるので2秒で4個渡せます。
おぉ、良いじゃないですか。
よし、メモリ!
おまえ、分身しろ!
そのような理屈でもって
メモリを何となく分身させて同時にやり取りすることで、CPUとメモリの間のやり取りを速くする技術
が「メモリインタリーブ」です。
真面目っぽく説明しているところでは、メモリインタリーブの説明を
複数のメモリバンクに分割し、同時並行で読み書きを行うことにより高速化するうんちゃらかんちゃら
のように書いているはずです。
「複数のメモリバンクに分割し」は「メモリを何となく分身させる」と解釈してください。
メモリは実際には1つです。
当たり前ですが、2つには増えません。
分身なんて高等技術はマスターしていません。
ですが、何となく増えた気分にするのです。
1つのメモリを何となく分割して、CPUさんにはメモリが2つあるように見せかけます。
これでCPUさんから見れば2人のメモリさんがいます。
いわば、秘書が2人いる状態です。
2人いるなら2人とも活用しましょう。
2人に同時にお仕事を依頼します。
これが「同時並行で読み書きを行う」です。
さて「同時並行で読み書きを行う」と、どうなるでしょうか。
そうですね。
読み書きにかかる時間が短縮されます。
これが「高速化する」です。
実際の仕組みや考え方は、もっと複雑ですけどね。
難しいことは他のところで勉強してください。
一言でまとめるよ
まぁ「メモリインタリーブ」って単語が出てきたら「CPU
(コンピュータの脳みそに相当する部品)とメモリの間のやり取りを速くする技術なんだな~」と お考えください。
おまけ
■訳してみるよ
「memory(メモリ)」の意味は「記憶」とか「記憶力」とかです。
「interleaving(インタリービング)」の意味は、うんちゃらかんちゃらです。
よく分かりませんでした。
何となく くっつけると
記憶のうんちゃらかんちゃら
となります。
■検索してみる?






