2007年4月16日月曜日

ハーバード・アーキテクチャ

普通のPCだと、命令はデータと共にメモリ上に格納される。これがフォンノイマン・アーキテクチャ
これに対して命令保存箇所を分けるのがハーバード・アーキテクチャ

関数ポインタとか、C言語はフォンノイマン・アーキテクチャに最適化されている感じ。
ちなみに、L1キャッシュが命令とデータに分かれてるのは、このハーバード・アーキテクチャを部分的に取り入れているという感じ?