CPUアーキテクチャ
マイクロプロセッシングユニットは、従来のコンピュータで使用されているCPUである中央処理装置の同義語です。マイクロプロセッサ(MPU)は、次のタスクを実行するデバイスまたはデバイスのグループとして機能します。
- 周辺機器と通信する
- タイミング信号を提供する
- 直接データフロー
- メモリ内の命令で指定されているようにコンピュータタスクを実行します
8085マイクロプロセッサ
8085マイクロプロセッサは、64kのメモリをアドレス指定できる8ビットの汎用マイクロプロセッサです。このプロセッサには40個のピンがあり、+ 5Vの単相電源と3MHzの単相クロックが必要です。
ブロック図
ALU
ALUはマイクロプロセッサの計算機能を実行します。これには、アキュムレータ、一時レジスタ、算術および論理回路、および5つのフラグが含まれます。結果はアキュムレータとフラグに保存されます。
ブロック図
アキュムレータ
これは、ALUの一部である8ビットレジスタです。このレジスタは、8ビットデータの格納、および算術演算と論理演算の実行に使用されます。演算結果はアキュムレータに格納されます。
ダイアグラム
フラグ
フラグはプログラム可能です。これらは、命令を使用してレジスタからデータを格納および転送するために使用できます。ALUには、アキュムレータやその他のレジスタのデータ状態に応じて設定およびリセットされる5つのフリップフロップが含まれています。
S (Sign) flag−算術演算の実行後、結果のビットD 7が1の場合、符号フラグが設定されます。符号付き数値に使用されます。特定のバイトで、D 7が1の場合、負の数を意味します。ゼロの場合は正の数であることを意味します。
Z (Zero) flag − ALU演算結果が0の場合、ゼロフラグが設定されます。
AC (Auxiliary Carry) flag−算術演算では、桁D3によってキャリーが生成され、桁D 4に渡されると、ACフラグが設定されます。このフラグは、内部的にBCD操作でのみ使用されます。
P (Parity) flag−算術演算または論理演算の後、結果の1が偶数の場合、フラグが設定されます。1の数が奇数の場合、フラグはリセットされます。
C (Carry) flag −算術演算の結果がキャリーの場合はキャリーフラグが設定され、それ以外の場合はリセットされます。
登録セクション
これは基本的にストレージデバイスであり、命令を使用してレジスタからデータを転送します。
Stack Pointer (SP)−スタックポインタは、メモリポインタとして使用される16ビットレジスタでもあります。スタックと呼ばれる読み取り/書き込みメモリ内のメモリ位置を指します。プログラムの実行の合間に、データがスタックに格納されることがあります。スタックの開始は、スタックポインタに16ビットアドレスをロードすることによって定義されます。
Program Counter (PC)−この16ビットレジスタは、命令の実行をシーケンスする4番目の演算を処理します。このレジスタはメモリポインタでもあります。メモリ位置には16ビットアドレスがあります。実行アドレスを格納するために使用されます。プログラムカウンタの機能は、次のバイトがフェッチされるメモリアドレスを指すことです。
Storage registers−これらのレジスタは、プログラム実行中に8ビットデータを格納します。これらのレジスタは、B、C、D、E、H、Lとして識別されます。これらをレジスタペアBC、DE、およびHLとして組み合わせて、16ビット演算を実行できます。
時間と制御セクション
このユニットは、クロックパルスに従ってマイクロプロセッサの動作を同期させ、マイクロプロセッサと周辺機器間の円滑な通信に必要な制御信号を生成する役割を果たします。RDバーとWRバーの信号は、データがデータバスで利用可能かどうかを示す同期パルスです。制御ユニットは、マイクロプロセッサ、メモリ、および周辺機器間のデータの流れを制御する役割を果たします。
PIN図
すべての信号は6つのグループに分類できます
SN | グループ | 説明 |
---|---|---|
1 | Address bus |
8085マイクロプロセッサは、8つの信号線、Aは15 A - 8方向UNIと上位アドレスバスとして使用されます。 |
2 | Data bus |
信号線AD7-AD0は、二重の目的のために双方向です。これらは、データバスとしてだけでなく下位アドレスバスとしても使用されます。 |
3 | Control signal and Status signal |
制御信号 RD bar−読み取り制御信号(アクティブロー)です。アクティブな場合、メモリはデータを読み取ります。 WR bar−書き込み制御信号(アクティブロー)です。選択したメモリに書き込まれるとアクティブになります。 ステータス信号 ALU (Address Latch Enable)−ALUが高い場合。8085マイクロプロセッサはアドレスバスを使用します。ALUが低い場合。8085マイクロプロセッサはデータバスを使用しています。 IO/M bar−これは、I / O操作とメモリ操作を区別するために使用されるステータス信号です。ハイの場合はI / O動作を示し、ローの場合はメモリ動作を示します。 S1 and S0 −これらのステータス信号は、I / Oやメモリバーと同様に、さまざまな操作を識別できますが、小規模なシステムではめったに使用されません。 |
4 | Power supply and frequency signal |
Vcc − + 5v電源。 Vss −接地基準。 X, X−これらの2つのピンに水晶が接続されています。周波数は3MHzで2つの動作システムによって内部的に分割されます。水晶は6MHzの周波数を持つ必要があります。 CLK out −この信号は、他のデバイスのシステムクロックとして使用できます。 |
5 | Externally initiated signal |
INTR (i/p) −割り込み要求。 INTA bar (o/p) −確認応答割り込みとして使用されます。 TRAP (i/p) −これはマスク不可割り込みであり、優先度が最も高くなります。 HOLD (i/p) −実行中のプログラムを保持するために使用されます。 HLDA (o/p) −確認を保持します。 READY (i/p) −この信号は、応答の遅い周辺機器がデータを受け入れまたは送信する準備ができるまで、マイクロプロセッサの読み取りまたは書き込みサイクルを遅らせるために使用されます。 RESET IN bar −このピンの信号がローになると、プログラムカウンタがゼロに設定され、バスがトライステートになり、MPUがリセットされます。 RESET OUT−この信号は、MPUがリセットされていることを示します。この信号は、他のデバイスをリセットするために使用できます。 RST 7.5, RST 6.5, RST 5.5 (Request interrupt)−プログラム制御を特定のメモリ位置に転送するために使用されます。INTR割り込みよりも優先されます。 |
6 | Serial I/O ports |
8085マイクロプロセッサには、シリアル送信シリアル入力データとシリアル出力データを実装するための2つの信号があります。 |
命令フォーマット
各命令は、コンピューター内の一連のビットによって表されます。命令は、フィールドと呼ばれるビットのグループに分割されます。命令の表現方法は、命令フォーマットとして知られています。通常、長方形のボックスの形で表されます。命令フォーマットは以下のタイプがあります。
可変命令フォーマット
これらは、オペコードとアドレス指定子に基づいて命令長が変化する命令フォーマットです。たとえば、VAX命令は1〜53バイトの間で変化し、X86命令は1〜17バイトの間で変化します。
フォーマット
利点
これらのフォーマットは、優れたコード密度を備えています。
欠点
これらの命令フォーマットは、デコードとパイプライン処理が非常に困難です。
固定命令フォーマット
このタイプの命令フォーマットでは、すべての命令が同じサイズです。たとえば、MIPS、Power PC、Alpha、ARMなどです。
フォーマット
利点
それらはデコードとパイプラインが簡単です。
欠点
それらは良いコード密度を持っていません。
ハイブリッド命令フォーマット
このタイプの命令フォーマットでは、オペコードで指定された複数のフォーマット長があります。たとえば、IBM 360/70、MIPS 16、Thumb。
フォーマット
利点
これらのタイプのコード密度と命令の間のこれらの妥協点は、非常に簡単にデコードできます。
アドレッシングモード
アドレッシングモードは、プロセッサへの特定のデータへのアドレスにアクセスするためのさまざまな方法を提供します。操作されたデータはメモリ位置に保存され、各命令は操作する必要のある特定のデータを必要としました。データのアドレスを指定するには、さまざまな手法があります。これらの手法は、アドレッシングモードと呼ばれます。
Direct addressing mode−直接アドレッシングモードでは、オペランドのアドレスは命令で指定され、データは命令で提供されるメモリ位置で使用できます。このデータを目的の場所に移動します。
Indirect addressing mode−間接アドレッシングモードでは、命令はオペランドのアドレスを含むレジスタを指定します。内部RAMと外部RAMの両方に、間接アドレッシングモードを介してアクセスできます。
Immediate addressing mode−即時アドレッシングモードでは、アキュムレータ内のデータを移動するオペランドに直接データが与えられます。とても速いです。
Relative addressing mode−相対アドレスモードでは、実効アドレスは汎用プロセッサレジスタの代わりにプログラムカウンタを使用してインデックスモードで決定されます。このモードは相対アドレスモードと呼ばれます。
Index addressing mode−インデックスアドレスモードでは、レジスタの内容に内容値を加算することにより、オペランドの実効アドレスが生成されます。このモードはインデックスアドレスモードと呼ばれます。