« MoMA STOREサイトのはなし | トップページ | 明日はテクノフロンティア RADブースです »

2012年7月10日 (火)

ワンチップとマルチチップのはなし

ワンチップとマルチチップとは
 CPUシステムの構成のことです。今はマルチコアCPUがはやっていますが、コアがマルチではなくチップが多数必要という意味のマルチです。昔は簡単なシステムでも例えば8ビットのCPUの Z80なんかを使う場合、プログラムを書き込む ROM(Read Only Memory)が必要ですし、計算したり、記憶したりするために必要な RAM( Random Access Memory)も別に用意しなければなりませんでした。さらにスイッチの ON/OFF を検出したり、LEDをドライブしたりするポート制御のPIO( Programable Input Output )がないと外部と繋がりません。さらにシリアル通信をしようと思うと、UART( Universal Asynchronous Receiver Transmitter)というICを使って RS-232Cなどを構成しました。このような構成をマルチチップと呼んでいました。さらにこれらのICにアクセスするバスラインは共通なので、アドレス線と呼ばれる16ビットの信号をデコードして、例えば 0xE000〜0xE0FFまではPIOをアクティブにするため、0xE100〜0xE1FFまではUARTにと、デコードICというゲートICを数多く使いました。さらに、メモリーを読み込むデーターバスと外部とやり取りする I/Oバスは共通なので、プログラムを読むタイミングとI/Oのタイミングでは IORD や IOWR などの信号を検出して切り分けなくてはいけません。RAMに書き込む時には MEMWR 信号を検出して RAMを書き込み可能にします。さらにシステムがクロックで同期している場合、クロックと上記信号との同期をとったりするために、様々なゲートICが使われました。このような仕組みは現在でも CPUに対して DDR-SDRAM とか Flash-Memory とか PCI-Bussコントローラーとかの接続が必要ですし、North-Bridge とか South-Bridgeなどよ呼ばれた統合周辺チップがCPUとともにチップセットとして使われています。さらに多くの周辺との接続は現在では FPGA などのプログラム可能なゲートアレイチップによって構成が簡略化されてきました。
Onemultichip_2
 しかしながら、ラジオのチューニング用とか、テレビやVTRなど簡単なデジタル機器にこのようなマルチチップは大きすぎますし、コストがかかります。そこで、マイコン各社は 4Bit CPUなどでシングルチップCPU、ワンチップCPU という1つのパッケージでメモリーから周辺まで揃えたCPUを開発してきました。初期のワンチップICは主に量産をターゲットにしていたため、プログラムはマスクROMとしてCPU生産時に書き込まれてしまうので、中小企業や少量生産品には使いにくく、そのような場合は ROMのみ外付けできるバージョンとEPROMなどを使って2つのチップで構成していました。しかしながら、ROM用に データーバス8本アドレスバス16本(またはデーターバスと共用で8本の場合もあった)もCPUのピンが使われてしまうので、ポートが足りなくてラッチICなどをバスラインに追加しなければならず、結構設計は難しかったです。
 しかしながら、PICの様に内部に Flash Memoryを持ったり、従来のCPUでも一度だけ書き込みが出来るワンタイムPROMバージョンが出来たりして、やがて使いやすいワンチップ CPUが増えてきました。
 衛星放送受信機の PLL制御に初めて PIC-16Fを使いましたが、16Pinのちっちゃなパッケージで動くのをみて大変感心した覚えがあります。

|

« MoMA STOREサイトのはなし | トップページ | 明日はテクノフロンティア RADブースです »

DIGITAL」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: ワンチップとマルチチップのはなし:

« MoMA STOREサイトのはなし | トップページ | 明日はテクノフロンティア RADブースです »