AVR vs PIC 受講者:質問です。先生は講義の中で、AVR vs PICの項目についてお話しくださいました。そこで先生はAVRを標準として用いるとおっしゃってましたが、理由が分かりませんでした。
●PICを採用しない理由 その理由は、こうだ。数多くのPIC(ワンチップマイコン)が存在し、それは良いものだ。そして、多くの人が使っている。しかし、PICは厳密な単サイクルインストラクションではない。ひとつのインストラクションに対して複数サイクルの処理行なっている。それ故に、実際、リアルタイムなパフォーマンスはクロック数とは一致しない。 しかし、それよりも大きな理由はGCCがAVRをサポートしている点だ。その理由は、AVRがプロセッサのアーキテクチャがモダンコンパイラのために設計されているからだ。PICマイコンの場合は、根本的に変わらない限りGCCのサポートは受けられない。なぜならば、PICのアーキテクチャはモダンコンパイラの構造に適さないからだ。
●AVRを採用する理由 そして次の2つがAVRを採用する理由だ。ひとつは、シングルサイクルインストラクション、もうひとつはサポートだけでなくGCCツールチェインとの統合だ。 受講者::分かりました。ありがとうございます。 他の受講者:先生、PIC用のFCCを探して見ました! いや、そういうことではなくて、理由はハードウェアなんだ。アーキテクチャが本当に適合しないんだ。 AVRは格段にモダンアーキテクチャだ。ちなみに、AVRには興味深い歴史がある。これは元々、ある学生が始めたプロジェクトだった。AVRアーキテクチャの元祖はそういうものだったんだ。 (つづく)
講義の目次は 【和訳版】FabAcademy 2016 からご覧ください。 ※この記事は FabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。