マイコン・システムの構成と機能 次に,マイコンの原点ともいわれる8080で構成しているマイコン・システムのブロック図(図1-3)を使い,各パートの説明を行います.
余談ですが,インテル社の8080は本格的に量産実用化されたマイクロコンピュータ・チップの第1号です.Z80のお父さんであり,Pentiumから数代さかのぼるお祖父さんです. 実際にインテル社の16ビットCPU 8086には,8080モードというプログラミング・モードがありました.それ以後の80186,80286,80386,80486そしてPentiumに至るまで,必ず上位互換となっていますから,今でも8080のコンセプトは継承されています. マイコン・システムは,図1-4のようにCPU部分とメモリおよびシステムの手足であるI/O部分から構成されます.図1-2,図1-3も参照してください.
I/O(Input Output) I/Oとは,コンピュータと外部を接続するものの総称です.例を挙げると,CRT表示用のCRTコントローラ,キーボードを接続するキーボード・インターフェース,シリアルI/O,パラレルI/Oなどです. I/OもメモリもCPUにデータ・バス,アドレス・バス,コントロール・バスで接続しますが,I/Oは外部への接続端子をもっています. メモリ 8ビット幅メモリであれば8個に仕切られた引き出しのようなものです.その仕切り内に物が入っていれば‘1’,なければ‘0’です. 8ビット(8区画)の仕切り内に物が「あり」,「なし」の組み合わせで256通りの表現ができます. この引き出し一つが1バイトです.1Kバイトのメモリであれば,この引き出しが1024個並んだものです. プログラム・カウンタ 引き出しを番地の若い順に開けて,その内容をインストラクション・デコーダに知らせます. プログラム・カウンタは,現在実行中の次の番地を保持します.命令実行により通常1番地ずつ繰り上がりますが,ジャンプ命令,コール命令などを実行すると,その指定先番地の値になります. インストラクション・デコーダ 現場監督のような役割で,プログラム・カウンタから渡された命令を解読し,ALUやアキュムレータなどに指示します. 実際は,CPUコントローラというロジックを経由してすべての制御が行われます. CPUコントローラ CPU内の動作タイミングのリード(RD),ライト(WR),割り込み(INT)などのコントロール・バスを制御するロジックです. CPU内部は,すべてCPUコントローラからの指令で動作していますが,CPUのハード設計,ソフト設計を行うにあたり,CPUコントローラの存在はあまり意識しなくても済みます. ALU Arithmetic Logic Unitの略で,計算する所です. CPUのビット幅の決め方に明確な基準はありませんが,例えば32ビットCPUという場合,少なくともALUは32ビット幅になっています. アキュムレータ&レジスタ 計算の結果を置いたり,処理途中のメモ用紙であったり,いろいろな用途に使われる作業台です. 8080やZ80はAレジスタをアキュムレータと呼び,アキュムレータ中心の命令体系になっていました. 最近のCPUはすべてのレジスタがアキュムレータとして使える汎用レジスタ仕様になっています. フラグ・レジスタ AFレジスタのF部分です. キャリ・フラグ,ゼロ・フラグなど演算命令の結果によりフラグがセットされます. 8080の場合,Z,C,S,P,CY4,SUBの6ビットのフラグが用意されています.
Copyright 2000 武下 博彦 |
|
Copyright 1997-2001 CQ Publishing Co.,Ltd.