はじめに
私は業務でゲーム開発を主に行っていますが、ここ最近アミューズメント機器のゲーム開発に携わるようになり、よりハードウェアに近い部分のプログラミングに興味を持つようになりました。
現在組込プログラミング分野では、ホビー用途として人気のArduinoのほか、MbedやNucleoといったワンボードマイコンが多く利用されていますが、シンプルな部分から学ぼうと、PICを利用して学習をすすめることにしました。
今回は基本的な前知識を備忘録的に書きました。
こんな知識もあったほうがいいなどあればコメントでお知らせください。
マイコンとは
電気的な回路や機械的な部分を制御する半導体チップです。
現在では様々な電子機器に搭載され、頭脳としての役割を担っています。
PICとは
Peripheral Interface Controllerの略称で、Microchip Technology Inc.が製造しているマイクロコントローラ製品群の総称です。
Peripheral Interface Controllerを直訳すると『周辺機器の接続部分を制御するもの』となります。
ハーバード・アーキテクチャ
PICはハーバード・アーキテクチャと呼ばれるコンピュータアーキテクチャを持ちます。
これは、命令用とデータ用でそれぞれ物理的に独立した記憶装置や信号通路を持ち、現在コンピュータの主流であるフォンノイマン型アーキテクチャと異なります。
ハーバード・アーキテクチャの利点
命令用とデータ用で記憶装置や信号通路が独立しているため、それぞれのデータの読み出しが競合せず高速化が可能になります。
ワンチップマイコン
PICはワンチップマイコンと呼ばれますが、これはICチップ一つの中に、CPU、プログラムメモリ、データメモリ、入出力制御、タイマ、etcといった多数の機能を搭載したものです。
CPU
中央演算処理装置とよばれ、まさしく頭脳となる部分です。
各種命令の読み出し、実行可能な形式への変換、実行を行います。
プログラムメモリ
プログラムそのものを格納するメモリです。
データメモリ
各種演算に使用するデータを格納するメモリです。
タイマ
一定間隔でシグナルをシステムへ送る機構です。