デジタル機器を構成する半導体ICの中で、デジタル情報の演算(デジタル信号の処理)を担うのが「プロセッサ」です。プロセッサには「マイクロプロセッサ」、「コプロセッサ」、「浮動小数点プロセッサ」、「デジタルシグナルプロセッサ」、「グラフィックスプロセッサ」、「アプリケーションプロセッサ」などがあります。プロセッサとメモリ、周辺チップを組み合わせることで、パソコンやモバイル機器などのデジタルシステムを構成します。
プロセッサは、ソフトウェア・プログラムと組み合わせることで動作します。言い換えると、プロセッサはプログラムに従って動くので、読み込ませるプログラムを変更することでいろいろな演算処理を実行できます。このためハードウェアだけで処理アルゴリズムを実現した回路に比べると、実現する処理アルゴリズムの修正や変更などが、非常に簡単です。
プロセッサが扱うデータの単位はローエンドの4bitから、ハイエンドの64bitまで様々です。もう少し詳しく述べると、4bitや8bit、16bit、32bit、64bit、128bitなどのプロセッサが存在します。このビット数はアドレスの大きさ、すなわち、プロセッサが扱うメモリの最大容量(「アドレス空間」と呼んでいます)を規定しています。例えば16bitプロセッサのアドレス空間は64Kバイト(512Kbit)、32bitプロセッサのアドレス空間は4Gバイト(32Gbit)です。
マイクロプロセッサとコプロセッサ
プロセッサの代表はマイクロプロセッサです。最も歴史の古いプロセッサで、1970年代の始めに電卓用半導体チップとして開発されました。その後、制御用途に使われ、そしてパソコン用途で使われ始めてからは数量を爆発的に増やしました。マイクロプロセッサには「パソコン用プロセッサ」というイメージがありますが、マイクロプロセッサ本来の意味は用途を限定しない、汎用のプロセッサです。実際、ローエンドの8bitマイクロプロセッサは現在でも組み込み用途に大量に使われています。
コプロセッサはメインとなるプロセッサの存在を前提とした、補助的なプロセッサです。かつては汎用マイクロプロセッサの多くは整数データの演算に特化しており、浮動小数点演算の回路を内蔵していませんでした。そこでコプロセッサとして良く使われたのが、浮動小数点データを扱う「浮動小数点コプロセッサ」です。最近のマイクロプロセッサは浮動小数点演算ユニットを内蔵していることが多く、浮動小数点コプロセッサはあまり使われていません。
「デジタルシグナルプロセッサ」は「DSP」とも呼ばれ、デジタル信号処理でひんぱんに使われる積和演算を高速実行するように作られたプロセッサです。メインプロセッサとして使われるほか、汎用マイクロプロセッサのコプロセッサとして使われることもあります。
「グラフィックスプロセッサ」は「グラフィックスプロセッシングユニット(GPU)」とも呼ばれ、2次元あるいは3次元のグラフィックス処理に特化したプロセッサです。パソコンのグラフィックスボードやビデオ・ゲーム機器などに搭載されています。使い方はコプロセッサあるいはアクセラレータ(特定の処理を高速化する回路)です。
モバイル用プロセッサ
「アプリケーションプロセッサ」はスマートフォンなどの携帯電話端末で良く使われています。携帯電話端末は本来の機能である移動体通信を処理する回路(「ベースバンド」と呼ばれます)と、付加的な機能である様々なアプリケーション・ソフトウェアを処理する回路で構成されています。このアプリケーション・ソフトウェア実行用のプロセッサが「アプリケーションプロセッサ」です。これに対し、ベースバンド処理用のプロセッサを「ベースバンドプロセッサ」と呼ぶことがあります。
アプリケーションプロセッサの多くは非常に大規模なプロセッサで、半導体メーカーが「SoC(System on a Chip)」と呼称することも少なくありません。多くは複数のプロセッサ・コアを内蔵しています。アプリケーションを処理するコアのほか、ビデオ信号を処理するコアや、オーディオ信号を処理するコア、グラフィックスを処理するコアなどがあります。
「マイコン」の意味が変化
「マイコン」は本来、「マイクロコンピュータ」の略称でした。マイクロコンピュータとは、マイクロプロセッサ、メモリ、周辺チップなどで構成した小さなコンピュータのことです。マイクロコンピュータが登場したのは現在から30年ほど前のことで、マイクロコンピュータをベースに「パーソナル・コンピュータ」が開発されました。当時は「パソコン」という言葉は一般的ではなく、今で言うパソコンのことを「マイコン」と呼称したりしていました。このため現在でも、「マイコン」が「マイクロコンピュータ」の略称として使われることがあります。
しかし現在のマイコンは、主に「マイクロコントローラ」の略称として使われています。マイクロコントローラとは、1個のシリコンにプロセッサとメモリ、周辺回路を集積したチップで、基本的な考え方としては外付けの半導体メモリや入出力回路などを必要としません。ワンチップで済むので「ワンチップ・マイコン」と呼ばれていたこともあります。本稿でも以降はマイクロコントローラをマイコンと呼称します。
マイコンの内蔵メモリ
前回、メモリICにはプログラム・メモリ、データ・メモリ、ワーク・メモリの3種類があるとご説明しました。マイコンはプログラム・メモリをROM、ワーク・メモリをRAMとして内蔵しています。なおROMだけを内蔵してRAMを外付けするマイコンもあります。
マイコンにおけるデータの処理は以下のような流れで進みます。マイコンが備える入出力回路を経由して外部からデータを取り込み、ワーク・メモリに格納します。プログラム・メモリから命令を読み込み、その内容にしたがってワーク・メモリのデータを読み込み、処理をします。処理結果をワーク・メモリに書き込みます。それから、入出力回路を経由して外部にデータを出力します。
マイコンが内蔵するROMには、マスクROM、紫外線消去型EPROM、フラッシュメモリがあります。フラッシュメモリが使われる以前は、マイコン・システムの開発段階では紫外線消去型EPROMを搭載したマイコンを使い、システムの量産ではマスクROMを使うという流れが普通でした。これが1990年代半ばにフラッシュメモリを内蔵したマイコン(フラッシュマイコン)が市販され始めたことで、大きく変化します。
フラッシュマイコンの登場と普及
フラッシュマイコンはまず、マイコン・システムの開発段階で使われ、またたく間に紫外線消去型EPROM内蔵マイコンを置き換えました。フラッシュマイコンではROMに格納するプログラムの更新が大幅に簡単になるためです。紫外線消去型EEPROMではプログラムの消去に15分〜30分の時間を要するのに対し、フラッシュメモリではプログラムの消去に必要な時間は、数秒と短くて済みます。この手軽さが、フラッシュマイコンの強みとなりました。
フラッシュメモリは当初、マスクROMに比べると記憶容量当たりの単価がかなり高く、フラッシュマイコンの応用は開発用途に限定されていました。しかしフラッシュメモリの単価低減が大きく進んだことと、システムの平均的な生産数量が低下する傾向とが相まって、量産用途にもフラッシュマイコンの採用が進みました。現在ではROMにフラッシュメモリ、RAMにSRAMを内蔵したマイコンが主流となっています。最近ではプログラム格納用フラッシュメモリのほかに、データ格納用フラッシュメモリを内蔵したマイコンも市販されています。それまでデータ・メモリには標準型EEPROMが外付けメモリとして使われていました。データ格納用フラッシュメモリを内蔵したマイコンでは、外付けの標準型EEPROMを省けるので、実装面積と部品点数の削減になります。
(次回に続く)
提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2013年3月31日
Copyright © ITmedia, Inc. All Rights Reserved.