PICの内部回路の基本的な部分は下図のような構成となっています。
下図は基本的な部分のみを抜き出したもので全てを表現している訳では
無いのですが、動作の概要は理解出来ると思います。
マイクロコンピュータの内部構成
図に現われている用語の説明をしておきます。
No |
名 称 |
機 能 内 容 / 動 作 内 容 |
1 | プログラムメモリ (ROM) |
ログラムそのものの命令を格納する記憶場所です。 ROMと呼ばれるメモリから出来ています。ROMはRead Only Memoryの略で読み出し専用メモリという意味です。ここにプログラムを書き込むためには「ROMライタ」という特別な道具が必要となります。 |
2 | プログラムカウンタ (PC) |
プログラムの実行を制御するカウンタで、このカウンタの内容が指しているアドレスのプログラムメモリにある命令が、次に実行される命令となる。 PC:Program Counte |
3 | レジスタ (File Register) |
レジスタ2つの領域に別れていて、一つは汎用のデータ格納メモリエリアでRAM(Random Access Memory)と呼ばれ、プログラム内で使う変数領域として使います。もう一つは特別なレジスタ領域で、SFR(Special
Function Register) と呼ばれ、コンピュータ内の動作を決める色々な条件を設定したり、動作状態を知ることが出来ます。 |
4 | 命令解読、実行制御 | プログラムカウンタが指すプログラムメモリ内の命令が読み出され、ここで命令種類の解読と各々に従った処理がなされます。その結果、各種の制御や、ALU内で演算をしたりすることで命令が実行されます。 |
5 | 各種制御部 | コンピュータ内部の直接計算とは関係の無いタイミングやウォッチドッグタイマなどの制御がなされる所です。 |
6 | MUXとALU (選択切替え部と 算術演算部) |
各命令の指示に従って各種レジスタやW regの内容との演算がなされる所で、いわゆるコンピュータの中の計算器に相当します。演算結果は再度W
regやレジスタに格納されたり、入出力ポートやタイマ、プログラムカウンタなどに格納されます。 MUX:MultiPlexer ALU:Arithmetic Logic Unit |
7 | W reg (Working register) |
演算をするときの一時保管に使うレジスタで、演算の時の中心となって働きます。 |
8 | 内部データバス | 命令実行に関係するデータをあちこちに運ぶための通信路で、8ビットの データ(8本の線で接続されているということ)を並行に運ぶことが出来ます。 |
9 | 入出力ポート | コンピュータ内部のデータを外部に出すためのポート(港)で、これが直接PICのICのピンに接続されています。 従って、電源が5Vの時には、コンピュータがポートに「1」のデータを出力すると、ICの対応するピンが「High(約4.5V)」の状態になり、「0」を出力すると「Low(約0.3V)」の状態となります。 |
10 | タイマ | コンピュータ内部で特別な機能を果たす部分で、一定時間間隔を作ったり、回数をカウントしたり、というカウンターを元にした動作をします。 |