いまさら聞けない「メモリがあればCPU命令が速くなる」のはなぜ?物理メモリと仮想メモリの違い【前編】

メモリは現代のコンピュータにおいて欠かせない存在だ。CPU(中央演算装置)による処理速度の高速化を図る上で、メモリが担っている重要な役割とは何か。メモリが必要になった経緯と併せて覚えておこう。

2025年01月14日 07時30分 公開
[Jim HandyTechTarget]

関連キーワード

CPU | ハードディスク | DRAM | ストレージ


 コンピュータの構成要素として「メモリ」は欠かせない存在だ。CPU(中央演算装置)による処理速度の高速化を図る上で、メモリは重要な役割を担っている。とはいえコンピュータが開発された当初はそうではなかった。メモリが必要になった経緯を踏まえて、メモリとCPUによる処理の関係を押さえておこう。

メモリと密接に関連するローカリティ問題

 コンピュータのプログラムには、タスクを反復実行するための「ループ処理」が数多く含まれる。ループ処理では同じ命令を何度も実行し、その後プログラムは別の命令に移動する。関数を呼び出すループなら、同じ関数を繰り返し実行する。

 こうしたループ処理は、コンピューティングにおけるローカリティ(局所性)という特性に関係している。ローカリティとは、データや命令へのアクセスがどのように、あるいはどの程度集中しているのかを示すものだ。

 ローカリティが高い場合、CPUは同じメモリアドレス空間(メモリアドレスによってアクセスできるメモリ領域)に何度もアクセスすることを意味する。CPUはその後、別のメモリアドレス空間に移動し、同じサイクルを繰り返す。

 処理の高速化を考えるとき、システム全体のパフォーマンスを考慮に入れなければならない。発生頻度が比較的低いアクセスは低速でも、繰り返し発生するアクセスを高速化できれば、システム全体のパフォーマンスは向上するはずだからだ。

 基本的にCPUは、メモリアドレスの順番通りに命令を実行していく。データを参照する際にもローカリティの要素は影響するものの、より重要なのはCPUのメモリアドレス空間へのアクセスのほとんどが命令に対するものだということだ。そのローカリティを生かせば、有効にアクセスを高速化することが可能だ。

 繰り返しアクセスするデータは最速でアクセスできる場所に格納すべきだ。1960年代にその考え方を具現したのがメモリだった。CPUがメモリアドレス空間に順番にアクセスする際、メモリを介して必要な命令やデータを読み取れるようにすることで、比較的小さな遅延で高速なアクセスを実現できるようになったのだ。一方で低速のアクセスで問題ないデータは、HDDやテープといったストレージに格納しておけばよい。


 次回は、仮想メモリが生まれた経緯やそのメリットを解説する。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

ITmedia マーケティング新着記事

news121.jpg

「ファクトチェック廃止」の波紋 Metaにこれから起きること
Metaがファクトチェックの廃止など、コンテンツに関するいくつかの重要なルール変更を行...

news026.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年1月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...

news041.jpg

「非常時にピザ1枚無料」のデータがドミノ・ピザのマーケティングに生む好循環とは? CMOに聞く
2024年10月にDomino'sのチーフブランドオフィサーからエグゼクティブバイスプレジデント...