各種システム開発・WEBコンテンツ制作・WEBデザイン・ホームページ制作・インフラ設計・構築・レンタルサーバー・ソフトウェア技術者のアウトソーシング事業を行っております。

6 月
18

マイコンの中の話

MRP技術部


マイコンは、マイクロコンピュータの略で、人間の頭脳にあたる部分です。

マイコンの形状は、正方形もしくは長方形で、四方向にPIN(ポート*1)が出ています。
そして、これらPINから信号を送ることで製品は動作します。

では、マイコンの中の構造はどのようになっているのでしょうか?

●MPU(マイクロプロセッサ)
マイコンの内部で基本的な演算処理を行う心臓部です。MPUの処理は、
最初にROMに書き込まれたプログラムを読み取り、
次にプログラムの指示に従って入力装置や記憶装置からデータを受け取り、
データをプログラム通りに演算・加工して、記憶装置や出力装置に信号を送ります。
さらにMPUにはレジスタという演算や実行状態の保持に用いる記憶素子があります。

・アキュムレータ
演算論理装置の演算結果を一時的に保持するレジスタです。
記憶装置から読み込んだデータの処理は必ずアキュムレータを介して行われます。

・プログラムカウンタ
次に実行する命令が格納されているアドレス*2を保存するレジスタです。
メモリから命令が読み出されると、プログラムカウンタの値を増やし、次に実行する命令が保存されます。

・スタックレジスタ
割り込み*4が発生した時のプログラムカウンタ値やローカル変数*3など、
一時的なデータを保管するレジスタです。

・割り込み許可レジスタ
割り込みを許可/禁止を保持するレジスタです。
割り込みには内部割り込み(演算結果のオーバーフロー、タイムアウト等)と
外部割り込み(入力信号の変化等)があります。

・フラグレジスタ
1 or 0の情報を持つレジスタです。

●RAM(ランダム・アクセス・メモリ)
半導体素子を利用した記憶装置で、データの読み書きができます。
データの読み書きを電気的に行うため、動作が高速でMPUから直接アクセスできます。
ただし、電源を切ると記憶した内容が失われてしまいます。

●ROM(リード・オンリー・メモリ)
読み出し専用の記憶装置です。
ROMには書き換えられては困るプログラムや固定データを記憶させます。
ちなみに、マイコンの記憶装置は、RAMとROMが個別にあるタイプと一つの記憶装置に
RAM領域とROM領域に分かれている、タイプがあります。

●バス
上記の各装置間あるいは外部とのデータのやり取りをするラインです。
バスには、マイコン内部の機器をつなぐ内部バスと、外部機器と接続する外部バスに分かれます。
また、バスの配線によってシリアルバスとパラレルバスに分かれます。

ポート*1
外部とデータを入出力するための、ソフトウェアやハードウェアの末端部分です。

アドレス*2
記憶装置に割り当てるデータの位置を示す番号です。「番地」とも呼ばれ、
0から始まり16進数で表されます。

ローカル変数*3
プログラムの中のあるブロック内で宣言された変数で、そのブロック内でのみで有効な変数です。
局所変数とも言い、ブロック内に入ると領域が割り当てられて、ブロックを抜けると解放されます。

割り込み*4
実行中の処理を一時的に中断して、より優先される別の処理を行うことです。
割り込みの要因がプログラムであるものはソフトウェア(内部)割り込みと呼ばれ、
周辺機器であるものはハードウェア(外部)割り込みと呼ばれます。

オーバーフロー*5
一つの数値を表現するために割り当てた記憶容量で扱える数値には上限があり、
演算結果がこの上限を超えた状態を言います。

余談ですが、4bitマイコンが主流だった時代はアセンブラ言語でプログラムを作っていたため、
ソフトウェア開発者はこのようなマイコン内部の仕組みを理解している必要がありました。
現代では、ソフトウェア開発者でも知らない世界ではないかと思います。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

月別アーカイブ

カテゴリ