マイコンという名のLSIを知る ―― ディジタル機器に不可欠なデバイスの利点と仕組み

宮崎 仁

●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のいろいろ
代表的な入力ポートの例を示す.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日