【はーばーどあーきてくちゃ】

ハーバードアーキテクチャ とは?

💡 命令とデータに専用の通り道を用意して、渋滞知らずの高速処理
📌 このページのポイント
ハーバードアーキテクチャ vs フォン・ノイマン型 フォン・ノイマン型 共有メモリ 命令+データ 共有バス(1本) CPU ⚠ ボトルネック 同時アクセス不可 ハーバードアーキテクチャ 命令メモリ データメモリ 命令バス データバス CPU ✓ 同時アクセス 命令とデータを並列処理 命令系 データ系 CPU
ハーバードアーキテクチャとフォン・ノイマン型の比較
ひよこ ひよこ

ハーバードアーキテクチャって、普通のコンピュータと何が違うの?

ペンギン先生 ペンギン先生

普通のパソコンはフォン・ノイマン型といって、命令(プログラム)もデータも同じメモリに入れて同じ通路(バス)で運ぶんだ。ハーバード型は命令用とデータ用のメモリと通路を完全に分けるんだよ

ひよこ ひよこ

分けると何がいいの?

ペンギン先生 ペンギン先生

たとえば1車線の道路だと、荷物を運ぶトラックと通勤の車が同じ道を使うから渋滞するよね。ハーバード型は荷物専用道路と通勤専用道路を別に作るから、同時に流せて渋滞しないんだ。CPUが命令を読みながら同時にデータも読み書きできるよ

ひよこ ひよこ

じゃあ全部ハーバード型にすればいいんじゃない?

ペンギン先生 ペンギン先生

メモリや配線が2系統必要だからコストが高くなるし、設計も複雑になるんだ。パソコンのような汎用コンピュータでは、プログラムの大きさやデータの量が毎回変わるから、メモリを柔軟に使えるフォン・ノイマン型のほうが向いてるんだよ

ひよこ ひよこ

じゃあハーバード型はどこで使われてるの?

ペンギン先生 ペンギン先生

音声処理や画像処理をするDSP(デジタル信号プロセッサ)や、家電・車のマイコン(PICやAVR)で多く使われてるよ。リアルタイムで確実に処理する必要がある場面で重宝されるんだ

ひよこ ひよこ

最近のパソコンのCPUはどっちなの?

ペンギン先生 ペンギン先生

実は両方のいいとこ取りをしてるんだ。メインメモリはフォン・ノイマン型で1つだけど、CPUの中のキャッシュメモリは命令用(L1i)とデータ用(L1d)に分かれてる。これを「修正ハーバードアーキテクチャ」と呼ぶんだよ

ひよこ ひよこ

いいとこ取りってかしこいね!

ペンギン先生 ペンギン先生

そうだね。外側はフォン・ノイマン型の柔軟さを保ちつつ、CPU内部ではハーバード型の高速性を活かすという、現代のプロセッサ設計の定番パターンになってるんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ハーバードアーキテクチャ」って出てきたら「命令とデータのメモリ・バスを分けて同時アクセスできる設計」と思えればだいたいOK!
📖 おまけ:英語の意味
「Harvard Architecture」 = ハーバード方式の設計
💬 ハーバード大学で開発されたMark Iコンピュータがこの方式を採用したことが名前の由来だよ
← 用語集にもどる