Q:よく、マイコンを8ビット、16ビット、32ビットというようにビット数で分けていますが、これは何が違うのですか?たとえば、TIのMSP430シリーズは超低消費電力の16ビット・マイコンとして有名ですが、どこが16ビットなのですか。
A:この「nビット・マイコン」という呼び方は、厳密な分類というわけではありません。一般的には、内部のレジスタ幅、外部のバス幅などが16ビットのものを16ビット・マイコンと呼んでいます(図1)。
ただし、マイコンの持つすべてのレジスタやバスが、同じ幅で揃っているわけではありません。また、MSP430などのシングルチップ・マイコンでは、外部バスを持たないものもたくさんあります。
むしろ、そのマイコンが一度に処理するデータ幅として、主に何ビットを想定しているかを示したものと考えるのが良いでしょう。
Q:どうして、一度に処理するデータ幅がマイコンによって違うのですか?
A:たとえば、最も初期のマイコンは、電卓用として開発された4ビット・マイコンでした。電卓は10進数の加減乗除の演算が主目的ですが、コンピュータ内部では2進数しか扱えないので、1桁の10進数を4ビットの2進データ(BCDデータ)に変換し、1桁ずつ演算していました。1971年にTIが自社の電卓用に開発したマイコン(後にTMS1000として市販)や、インテルが日本のビジコン社からの依頼で開発した4004が代表的です。
それに続いて、1972年には8ビット・マイコン(インテルの8008)が登場しました。その頃、コンピュータで文字データを扱うには、英数字を7ビットで表すASCII符号が使われていました。4ビット・マイコンでこれを扱うのは効率が悪く、8ビット・マイコンが必要でした。演算できる数値の範囲も0〜255、−128〜+127に広がります。8ビット・マイコンは汎用性が高く、さまざまな組込み用途に用いられるようになりました。
パソコンのように多量の数値データや文字データを扱う用途は、8ビットでも効率が悪かったので、本格的にパソコンが作られるようになったのは16ビット時代です。特に日本では、漢字を含む16ビットの日本語コード(シフトJISなど)を効率良く扱うには16ビットCPUが不可欠でした。演算できる数値の範囲も0〜65535、−32768〜+32767と広がります。16ビットCPUは1973年頃から使われ始め、1978年に登場したインテルの8086がパソコンのCPUとして広く普及しました。
その後、パソコンでは32ビットCPUや、64ビットCPUが使われるようになっていきました。これは、高性能を追求した結果としてビット数が増えていったものです。何か特定の目的で32ビット・データや64ビット・データが必要だったわけではありません。
さらに、パソコンの高性能化とともに、画像などのマルチメディアを扱ったり、複数のプログラムをマルチタスクで動かすために大容量のメモリが必要になりました。それで、アドレス空間を広げるために32ビット・アドレスを採用したことも、32ビットCPUが普及した理由の1つです。アドレス幅が32ビットだと、232=4Gバイトのアドレス空間を利用できます。
Q:データ幅が32ビットというだけではないのですね。
A:コンピュータの内部回路を作るとき、特にメモリやレジスタのような記憶素子では、8ビット幅、16ビット幅、32ビット幅のようになるべく同じ幅で揃えて回路を作ると、効率良く配置ができます。
それで、8ビットのレジスタを主体として設計したものが8ビット・マイコン、16ビットのレジスタを主体として設計したものが16ビット・マイコン、32ビットのレジスタを主体として設計したものが32ビット・マイコンという言い方もできます。また、ソフトウェアで扱う基本データ型(整数型)のデータ幅も、レジスタ幅に合わせて決めるのが普通です。
ただし、必要があれば、違う幅のレジスタを使うこともできます。たとえば、8ビット・マイコンの場合、データ幅は8ビットでも、アドレス幅は16ビット(アドレス空間216=64Kバイト)にするのが普通でした。アドレス幅が8ビットでは、アドレス空間は28=256バイトで少なすぎたためです。
16ビット・マイコンでは、アドレス幅20ビット(アドレス空間220=1Mバイト)やアドレス幅24ビット(アドレス空間224=16Mバイト)も使われていました。
また、データ幅についても、8ビット・マイコンで16ビット・レジスタや16ビット演算器を備えたもの,16ビット・マイコンで32ビット・レジスタや32ビット演算器を備えたものもあります。
Q:パソコン以外の用途では、32ビットのマイコンは使われていますか?
A:組込み用途のマイコンでは、あまり大きな数値や大容量のメモリを必要としない用途も多く、一方で低消費電力、小型、低コストなどの要求が強かったことから、8ビット・マイコンや16ビット・マイコンが多く使われていました。しかし、1990年代にはRISCの技術によってCPU回路をコンパクトに作ることができるようになり、32ビットRISCマイコンも数多く使われるようになっています。ARMはその代表的なものです。
ARMでも、Cortex Aはスマートフォンやタブレットのアプリケーション・プロセッサとして使われるCPU(メモリ外付け)タイプです。
TIのTiva Cシリーズなどで知られるCortex-Mは、さまざまな組込み機器に使われるフラッシュ・メモリ内蔵のマイコンとなっています。
※MSP430、C2000、Hercules、Tiva、SitaraはTexas Instruments Incorporatedの商標です。その他すべての商標および登録商標はそれぞれの所有者に帰属します。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2015年3月31日
宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎:
第24回 割り込みっていろいろあるのですか?どんな種類があるか教えてください。
今回は、外部割り込み、内部割り込み、ソフトウェア割り込みについて詳しく解説しています
●全文を読む
電源IC選択のヒント集
電源IC 使用時の注意点をわかりやすく説明しているほか、使用時に発生する可能性のあるさまざまなトラブルとその対処法についても紹介しています。ぜひご利用ください。ダウンロードには myTI アカウントが必要です。
●Part 1をダウンロード
●Part 2をダウンロード
アナログ回路設計式一覧ポケット・ガイド
日本語版 PDF
英語版で高い評価を受けてきたポケット・ガイドの日本語版が完成しました。基板レベルやシステム・レベルの回路設計でよく使われるアナログ設計式を紹介しています。ダウンロードには myTI アカウントが必要です。
●ダウンロード