連載
» 2017年03月22日 12時00分 UPDATE

Q&Aで学ぶマイコン講座(36):ハーバードアーキテクチャって何? (1/3)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「ハーバードアーキテクチャって何?」です。

[菅井賢(STマイクロエレクトロニクス),EDN Japan]

過去の質問一覧はこちら

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、初級者から多く寄せられる質問です。

 マイコンのカタログや雑誌のアーキテクチャの欄に「ハーバードアーキテクチャ」と書かれていますが、「ハーバードアーキテクチャ」とは何を指しているのですか? アーキテクチャにはどのような種類があり、ハーバードアーキテクチャには、どのような特長があるのでしょうか、教えてください。

 マイコンでは命令とデータを取り扱いますが、ひと昔前のマイコンですと、1つのバスを命令とデータで共有していました。この場合、CPUが命令をフェッチしている間はバスが使用されていますので、データにアクセスできず、命令フェッチが終わった後にデータへのアクセスを行っていました。この方式のバス構成を用いたコンピュータアーキテクチャを「ノイマン型アーキテクチャ(Von Neumann architecture)」(以下、ノイマン型)と呼びます。

 一方、バスを命令とデータで分けて、独立させるバス構成方式があります。この方式であればCPUが命令をフェッチしている間でも、データバスを使って、データにアクセスできます。したがって、ノイマン型よりもマイコンの性能を高めることができます(図1参照)。こうしたバス構成を用いたコンピュータアーキテクチャが「ハーバードアーキテクチャ(Harvard architecture)」(以下、ハーバード型)です。

図1:CPUのバスアーキテクチャ(ノイマン型とハーバード型) (クリックで拡大)

 しかし、ハーバード型はバスを2本内蔵するので、マイコンのハードウェアの規模がノイマン型より大きくなり、コストが高くなるというデメリットがあります。

注意:バスだけでなく、命令とデータのアドレス空間が異なる場合もハーバードアーキテクチャと呼ぶ文献もあります。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.