---
title: "メモリインターリーブとは？主記憶へのアクセスを高速化する仕組み【基本情報技術者試験】"
description: "メモリインターリーブを、主記憶を複数のバンクに分けて連続アドレスへのアクセスを並行化する仕組みとして整理し、キャッシュメモリやライトバック、ライトスルーとの違いをFE試験向けに解説します。"
last_modified_at: "2026-07-25"
canonical_url: "https://stemtazoo.github.io/fe/memory-interleaving/"
section: "fe"
---

## まず結論

メモリインターリーブとは、**主記憶を複数のバンクに分け、連続するアドレスへのアクセスを並行して進めることで高速化する技術**です。

基本情報技術者試験では、次のキーワードで判断します。

```text
主記憶を複数の区画に分ける
＋
連続するアドレスを別々のバンクに割り当てる
＋
並行してアクセスする
```

「主記憶を分割してアクセスを高速化する」とあれば、メモリインターリーブを考えます。

## 直感的な説明

メモリインターリーブは、レジを1台だけ使うのではなく、複数のレジで順番に会計するイメージです。

レジが1台しかない場合は、前の人の会計が終わるまで次の人は待たなければなりません。

一方、レジが複数あれば、客を別々のレジへ振り分けることで、複数の会計を重ねて進められます。

主記憶でも同じように、記憶領域を複数の **バンク** に分けます。

たとえば、連続するアドレスを次のように割り当てます。

| アドレス | 割り当てるバンク |
|---:|---|
| 0 | バンク0 |
| 1 | バンク1 |
| 2 | バンク2 |
| 3 | バンク3 |
| 4 | バンク0 |
| 5 | バンク1 |

このように分けると、連続したデータを読むときに、複数のバンクへのアクセスを重ねて進められます。

英語では **memory interleaving** といいます。  
interleave には「交互に配置する」という意味があります。

## 定義・仕組み

メモリインターリーブでは、物理的には一つの主記憶として扱う領域を、複数の独立してアクセスできる論理的な区画に分けます。

この区画を **バンク** と呼びます。

### バンクに分ける理由

一つのバンクに連続してアクセスすると、前のアクセスが終わるまで次のアクセスを待つ必要があります。

そこで、連続するアドレスを異なるバンクへ順番に割り当てます。

```text
アドレス0 → バンク0
アドレス1 → バンク1
アドレス2 → バンク2
アドレス3 → バンク3
アドレス4 → バンク0
```

CPUがアドレス0、1、2、3を順番に読み出す場合、それぞれ別のバンクへアクセスできます。

そのため、一つのアクセスが完全に終わるのを待ってから次へ進むのではなく、処理を重ねて進めやすくなります。

### 速くなるのは連続アクセス

メモリインターリーブは、特に連続したアドレスへ順番にアクセスするときに効果を出しやすい仕組みです。

ただし、主記憶そのものの1回のアクセス時間が短くなるわけではありません。

複数のバンクを使ってアクセスを重ねることで、**全体としてのデータ転送を速くする**と考えます。

このテーマは、基本情報技術者試験の「コンピュータ構成要素」やメモリの高速化技術と関係が深い内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## 科目Aでどう出る？

科目Aでは、メモリを高速化する複数の技術を並べ、その説明として正しいものを選ばせる形が中心です。

### 選択肢を切る判断軸

| 選択肢の説明 | 判断する技術 |
|---|---|
| 主記憶を複数のバンクに分け、並行してアクセスする | メモリインターリーブ |
| CPUと主記憶の間に高速な記憶装置を置く | キャッシュメモリ |
| キャッシュの更新内容を、追い出すときに主記憶へ書く | ライトバック方式 |
| キャッシュと主記憶を同時に更新する | ライトスルー方式 |
| 主記憶と磁気ディスクの速度差を補う | ディスクキャッシュ |

メモリインターリーブを示す強いキーワードは、次の三つです。

- 主記憶を複数の区画やバンクに分ける
- 連続するアドレスを異なるバンクへ割り当てる
- 複数のバンクへ並行してアクセスする

### 「キャッシュ」という言葉に引っ張られない

メモリの高速化という共通点だけを見ると、キャッシュメモリと混同しやすくなります。

しかし、仕組みは異なります。

```text
キャッシュメモリ
→ 高速な別の記憶装置へ、よく使うデータを一時保存する

メモリインターリーブ
→ 主記憶そのものを複数のバンクに分けて並行アクセスする
```

問題文に「複数のバンク」「連続アドレス」「並行アクセス」があれば、キャッシュではなくメモリインターリーブです。

## どんな場面で使う？


コンピュータの性能やデータ転送を考える場面では、次の見方が役立ちます。

```text
一つの装置が終わるまで待つ
→ 直列的な処理

複数の装置で処理を重ねる
→ 並行的な処理
```

問題文で処理時間やボトルネックを読むときは、単に各処理の速さを見るだけでなく、複数の処理を重ねられるかにも注目します。

メモリインターリーブは、その考え方を主記憶へのアクセスに適用した技術です。

ただし、次の点には注意します。

- メモリ容量を増やす技術ではない
- 1回のアクセス時間そのものを短くするとは限らない
- 複数バンクへのアクセスを重ね、全体の転送効率を上げる

## よくある誤解・混同

### キャッシュメモリとの違い

| 項目 | メモリインターリーブ | キャッシュメモリ |
|---|---|---|
| 基本的な仕組み | 主記憶を複数のバンクに分ける | CPUと主記憶の間に高速メモリを置く |
| 高速化の方法 | 複数バンクへ並行アクセスする | よく使うデータを近くに保存する |
| 判断キーワード | バンク、連続アドレス、並行アクセス | 局所性、ヒット率、高速な小容量メモリ |

両方ともメモリアクセスを高速化しますが、**分割して並行化するのか、高速な別領域へ一時保存するのか**が違います。

### ライトバック・ライトスルーとの違い

ライトバックとライトスルーは、キャッシュへ書き込んだ内容を主記憶へ反映するタイミングの違いです。

| 方式 | 主記憶へ書き込むタイミング |
|---|---|
| ライトバック | キャッシュから追い出すときなどに書き戻す |
| ライトスルー | キャッシュの更新と同時に書き込む |

これらは **キャッシュの書込み方式** です。

主記憶を複数のバンクに分けるメモリインターリーブとは、比べている対象が違います。

### 「分割すれば必ず速くなる」とは限らない

メモリインターリーブは、連続するアドレスへアクセスするときに効果を出しやすい技術です。

同じバンクへアクセスが集中したり、アクセスするアドレスが規則的でなかったりすると、期待した効果を得にくい場合があります。

試験では細かな実装条件より、まず次の対応を押さえます。

```text
主記憶を複数のバンクに分割
→ 連続アドレスを振り分ける
→ 並行アクセスで高速化
```

## まとめ（試験直前用）

- メモリインターリーブは、主記憶を複数のバンクに分ける技術
- 連続するアドレスを異なるバンクへ割り当て、並行してアクセスする
- 1回のアクセス時間ではなく、全体のデータ転送を高速化する
- キャッシュメモリは高速な別領域への一時保存であり、仕組みが違う
- ライトバックとライトスルーはキャッシュの書込み方式である
