マイコンのビット数と使い分け
マイコンのビットとは
マイコンには8ビットでは現ルネサス社のH8シリーズ、16ビットでは電子工作で人気のMicrochip社のPIC24Fシリーズ、そして32ビットではARMコアのをもつST社のSTM32シリーズなどがあります。
8ビットマイコン、16ビットマイコン、32ビットマイコンとありますが、このビットはなにを意味しているのでしょうか。
一言でいうと一度に処理できるデータ(バス)の幅のことです。
マイコンを構成している大要素としてCPU、メモリ、I/Oがあります。このうち頭脳部分にあたるCPU(中央演算装置)はメモリに記録されているプログラムを読み込んで、その指示通りに処理や計算を行います。
メモリは記憶装置のことでプログラムを格納するROM、一時的な変数などを格納するRAM、RAMやROMなどのメインメモリを読み書きする際のアドレスを保持したり、CPUや周辺機器の動作状態を保持・変更したりするレジスタという特殊なメモリがあります。
I/Oは入出力ポートのことで、マイコン内のI/Oはマイコン内蔵の周辺機能(AD、DA、タイマ、通信など)との橋渡しする部分のことです。
CPUを中心としてデータがメモリやI/O間でバスとよばれる通路間でやり取りされるのですが、このデータの大きさがCPUのビット(ビット幅、ビット長)で決まっています。
CPUが一回の処理で8ビットマイコンであれば8ビットの大きさのデータが、32ビットマイコンであれば32ビットの大きさのデータがやり取りされます。
ビットが大きいほうが一度に処理されるデータが大きい、つまり処理速度が速いことになります。
ビットが大きいマイコンのほうが小さいマイコンよりも処理速度は早く高性能ですが、その分設定も回路も複雑になります。
ビット数によるマイコンの使い分け
単純な機能であれば8ビットマイコンで十分であろうし、高機能な機器には高性能なビット数の大きいマイコンが必要です。一つの製品をシステムとして複数のマイコンで構成されている製品も多いです。例えば、家電の洗濯機では表示のみの単機能には8ビットマイコンの担当、高度な性能を要するモータ制御部には32ビットマイコンを担当させるなど、適材適所的に応用されています。
マイコンの歴史を振り返ると電卓向けに4ビットマイコンが登場したのが始まりです。文字コードを扱う用途では4ビットマイコンでは役不足で8ビットマイコンが広く使われるようになりました。データは0~255,または-128~ +128の範囲のものを演算できます。8ビットマイコンは汎用性の高く、現在でも簡易な用途では現役で使われています。
用途が多岐にわたり、多量の数値データや文字データを扱うアプリケーションには8ビットマイコンでも効率が悪く、特に漢字を含む16ビットの日本語コード(シフトJISなど)を扱うには16ビットマイコンが必要とされます。扱うデータも0~65535,または-32768~ +32768の範囲のものに広がりました。
実用レベルでは16ビットで十分なようですが、さらに高性能に進化してその後、32ビットマイコンが登場しました。特に多くのメモリを扱うためのアドレス空間を拡張するのに32ビットを使う理由があります。PCの世界では64ビットのCPUが主流です。
実用的なレベルで32ビットマイコンは多岐のアプリケーションで使われるようになった現在の状況を踏まえて32ビットのARMコアを持つマイコンは中心的な存在と言えるでしょう。
これから趣味のみならずプロとして組み込みエンジニアを目指すひとは性能、機能も充実している32ビットマイコンから一気に始めることをおすすめします。