マイコンという名のLSIを知る ―― ディジタル機器に不可欠なデバイスの利点と仕組み
tag: 組み込み 半導体 電子回路 ディジタル・デザイン
技術解説 2009年11月19日
●CPUの働き
CPU(中央処理装置)は,その名の通り,コンピュータの中心として働きます.
CPUには大きく二つの働きがあります(図8).一つは主記憶から命令を正しい順序で取り出してくることです.もう一つは取り出した命令を実行することです.
図8 CPUの働き
主記憶から命令を正しい順序で取り出してくることと,取り出した命令を実行することの二つの役割を持つ.
このために,CPUにはさまざまな機能を持つ多数のレジスタが用意されています(図9).CPUはレジスタの塊だといえます.コンピュータでは,1個ずつ独立した記憶場所や,記憶以外に特別な機能を持つような記憶場所を,レジスタと呼んでいます.
図9 レジスタ
CPUには,さまざまなレジスタがあり,それぞれ目的が異なる.データ幅も8ビット,16ビット,32ビットなど,レジスタによって異なる.
CPUは,主記憶から命令を順次取り出して,実行します.CPUが主記憶から命令を取り出すことを,命令フェッチと呼びます.CPUはフェッチした命令をデコード(解読)し,解読結果に従って演算やデータ転送などの処理を行います.これが命令実行です.
マイコンの命令とは,レジスタにデータを入れたり,レジスタからデータを出したり,レジスタの中のデータを演算したりする,データを扱うものです.例えば一般的な加算命令では,あらかじめ二つのレジスタにそれぞれデータを入れておき,それらを加算します.レジスタの中には,記憶機能だけでなく,加算などの演算機能を持つものがあります.
レジスタがいくつあるか,どこにあるか,どんな演算機能を持つかに合わせて命令が用意されています.レジスタ構成や命令セットは,マイコンにおける最も重要な基本アーキテクチャです.
●I/Oの働き
I/Oはコンピュータと外界をつなぐ役割をします.I/Oとは入力装置(Input)と出力装置(Output)を総称したものです.
パソコンのような装置レベルのコンピュータを考えてみます.キーボードやマウスのような入力デバイスがあります.また,ディスプレイやプリンタのような出力デバイスがあります.さらに,モデムのような通信デバイスがあります.これらはすべてI/Oと考えられます.
一方,マイコンのようなLSIレベルで考える場合は,それらのデバイスとマイコンをつなぐために用意されたマイコンの入力ポート,出力ポートをI/Oと考えます(図10).
図10 I/Oの構成
I/Oは,CPUと外部デバイスの仲立ちをする.CPUとの間は,レジスタを介してデータをやり取りする.外部に対しては,入出力ポートを通じてデータをやり取りする.
入出力ポートは,CPUから見ればレジスタの塊です.CPUは所定のレジスタを読み出すことによって,データを入力できます.また,所定のレジスタに書き込むことによって,データを出力できます.
CPUが扱うことができるデータは'0'か'1'かの2値情報だけです.通常は,レジスタのデータ幅(ビット数)分の2値情報を,一括して読み出したり書き込んだりします.入出力ポートは,それらのデータを,対象となるデバイスに適合する形式に変換して入出力する働きを持っています.
例えば,図11に示すように,
- 8ビット単位のデータを1ビットずつ順次入出力するシリアル入出力ポート
- 8ビット単位で一括して入出力するパラレル入出力ポート
- 1ビット単位でデータを入出力できるビット入出力ポート
- アナログ電圧をディジタル値に変換して入力するA-D入力ポート
- ディジタル値をアナログ電圧に変換して出力するD-A出力ポート
などが代表的な入出力ポートです.
図11 I/Oのいろいろ
代表的な入力ポートの例を示す.