logo

8085マイクロプロセッサのレジスタ

導入 :

マイクロプロセッサ は、メモリと呼ばれる記憶装置からバイナリ命令を読み取り、入力としてバイナリ データを受け取り、それらの命令に従ってデータを処理し、結果を出力として提供する、多目的でプログラム可能なクロック駆動のレジスタベースの電子デバイスです。 8085 マイクロプロセッサは、第 2 世代の 8 ビット マイクロプロセッサであり、市場で入手可能なすべてのマイクロプロセッサを研究および使用するためのベースとなります。



8085 マイクロプロセッサでレジスタを使用する理由

8085 マイクロプロセッサでレジスタが使用される理由は次のとおりです。

  1. 一時ストレージ: レジスタは、マイクロプロセッサによって処理する必要があるデータの一時的なストレージ場所として使用されます。たとえば、算術演算を実行する場合、通常、オペランドはレジスタに格納されます。
  2. アドレス指定: レジスタは、8085 マイクロプロセッサ内のメモリ位置のアドレス指定に使用されます。プログラム カウンタ (PC) レジスタは現在の命令のメモリ位置を追跡し、スタック ポインタ (SP) レジスタはスタックの先頭を追跡します。
  3. 入出力: レジスタは、入出力 (I/O) デバイスとの通信に使用されます。たとえば、アキュムレータ (A) レジスタは、I/O デバイスに接続されたデータ バスとの通信に使用されます。
  4. ステータス情報: レジスタは、マイクロプロセッサの状態に関するステータス情報を保存するために使用されます。たとえば、フラグ レジスタには、結果が負かゼロかキャリーかなど、算術演算および論理演算の結果に関する情報が格納されます。
  5. 最適化: レジスタはマイクロプロセッサのパフォーマンスを最適化するために使用されます。レジスタを使用して頻繁に使用されるデータと命令を保存することにより、マイクロプロセッサはメモリから情報を取得する場合よりも迅速にこの情報にアクセスできます。

8085 に登録:



(a) 汎用レジスタ – 8085 には、8 ビット データを格納するための 6 つの汎用レジスタがあります。これらは、B、C、D、E、H、L として識別されます。これらをレジスタ ペア (BC、DE、HL) として組み合わせて、16 ビット演算を実行できます。これらのレジスタは、プログラムの実行中に命令を使用して一時データを保存またはコピーするために使用されます。

(b) 特定目的レジスタ –

    アキュムレータ: アキュムレータは、算術論理演算ユニット (ALU) の一部である 8 ビット レジスタ (8 ビット データを保存できる) です。算術演算または論理演算を実行した後、結果はアキュムレータに格納されます。アキュムレータはレジスタ A としても定義されます。 フラグ レジスタ: フラグレジスタは特別な目的のレジスタであり、マイクロプロセッサの他のレジスタとはまったく異なります。これは 8 ビットで構成されており、そのうち 5 ビットだけが役に立ちます。他の 3 つは空のままで、将来の Intel バージョンで使用されます。これら 5 つのフラグはセットまたはリセットされます (フラグの値が 1 の場合はセットされていると言われ、値が 0 の場合はリセットされていると言われます) ) アキュムレータおよびその他のレジスタ内の結果のデータ条件に応じた演算後。 5 つのフラグ レジスタは次のとおりです。
      符号フラグ: フラグ レジスタの 7 番目のビットを占め、最上位ビットとも呼ばれます。これは、プログラマがアキュムレータに格納された数値が正か負かを知るのに役立ちます。符号フラグが設定されている場合は、アキュムレータに格納されている数値が負であることを意味し、リセットされている場合は数値が正であることを意味します。ゼロ フラグ: : フラグ レジスタの 6 番目のビットを占めます。 ALU で実行された演算の結果が 0 (8 ビットすべてが 0) になるとセットされ、それ以外の場合はリセットされます。 2 つの数値が等しいかどうかを判断するのに役立ちます。補助キャリー フラグ: フラグ レジスタの 4 番目のビットを占めます。算術演算において、キャリー フラグが 3 番目のビットによって生成され、4 番目のビットに渡されると、補助キャリー フラグがセットされます。そうでない場合、フラグはリセットされます。このフラグは、BCD (2 進化 10 進数) 演算のために内部的に使用されます。 注記 - これは、ユーザーがアクセスできない 8085 の唯一のフラグ レジスタです。パリティ フラグ: フラグ レジスタの 2 番目のビットを占めます。このフラグは、アキュムレータ内の 1 の数をテストします。アキュムレータが偶数の 1 を保持している場合、このフラグが設定され、偶数パリティであると言われます。一方、1 の数が奇数の場合はリセットされ、奇数パリティと言われます。キャリー フラグ: フラグ レジスタの 0 番目のビットを占めます。算術演算の結果がキャリーになる場合 (結果が 8 ビットを超える場合)、キャリー フラグが設定されます。それ以外の場合はリセットされます。

(c) メモリレジスタ – メモリ アドレスを保持するために使用される 2 つの 16 ビット レジスタがあります。メモリアドレスが 16 ビットであるため、これらのレジスタのサイズは 16 ビットです。彼らです :-



    プログラム カウンター: このレジスタは、命令の実行を順序付けるために使用されます。プログラム カウンタの機能は、次のバイトがフェッチされるメモリ アドレスを指すことです。バイト (マシンコード) がフェッチされると、プログラム カウンタは 1 つインクリメントされ、次のメモリ位置を指します。スタックポインタ:メモリポインタとして使用されます。これは、スタックと呼ばれる、読み取り/書き込みメモリ内のメモリ位置を指します。プッシュ、ポップ動作中は常に 2 ずつ増減します。
      符号フラグ (7 番目のビット): リセット (0) であり、アキュムレータに格納されている数値が正であることを意味します。ゼロ フラグ (6 番目のビット): リセット (0) であるため、ALU で実行された演算の結果は非ゼロになります。補助キャリー フラグ (4 番目のビット): b3 がキャリーを生成し、それが b4 によって受け取られるため、補助キャリー フラグがセット (1) されることがわかります。パリティフラグ(2ビット目):リセット(0)となり、パリティが奇数であることを意味します。アキュムレータは奇数個の 1 を保持します。キャリーフラグ(0ビット目):セット(1)され、出力結果は8ビット以上となります。

8085 マイクロプロセッサのレジスタの用途:

8085 マイクロプロセッサのさまざまなレジスタの一般的な使用例をいくつか示します。

  1. アキュムレータ (A) レジスタ: アキュムレータ レジスタは、8085 マイクロプロセッサで最も一般的に使用されるレジスタです。これは、算術演算と論理演算、および入出力 (I/O) 操作に使用されます。アキュムレータは、データの一時的な保管場所としても使用されます。
  2. プログラム カウンター (PC) レジスタ: PC レジスタは、現在の命令のメモリ位置を追跡するために使用されます。命令が実行されると、PC レジスタはメモリ内の次の命令を指すように自動的にインクリメントされます。
  3. スタック ポインタ (SP) レジスタ: SP レジスタは、スタックの最上位を追跡するために使用されます。スタックは、サブルーチン呼び出し中にデータと戻りアドレスを一時的に保存するために使用されます。
  4. フラグ レジスタ: フラグ レジスタは、結果が負かゼロかキャリーかなど、算術演算および論理演算の結果に関するステータス情報を格納するために使用されます。
  5. 汎用レジスタ (B、C、D、E、H、および L): これらのレジスタは、メモリ位置のアドレス指定だけでなく、データの汎用ストレージにも使用されます。これらは、メモリ位置のより効率的なアドレス指定のために、BC、DE、HL などの 16 ビット レジスタとしてペアで使用できます。
  6. 命令レジスタ (IR) およびマシン サイクル レジスタ (MCR): これらのレジスタは、命令をデコードし、マシン サイクルのタイミングを制御するためにマイクロプロセッサによって内部的に使用されます。

これらのレジスタの特徴は次のとおりです。

  1. 8085 マイクロプロセッサのすべてのレジスタは算術論理演算装置 (ALU) から直接アクセスできるため、データを効率的に処理できます。
  2. アキュムレータ レジスタは、ほとんどの算術および論理命令のデフォルトの宛先として使用されるため、プログラミングが簡素化されます。
  3. 汎用レジスタは、計算中にデータを保存するために使用できますが、メモリ アドレスを保持するためにも使用できるため、メモリ位置へのアクセスに役立ちます。
  4. プログラム カウンタ レジスタとスタック ポインタ レジスタは、プログラム内の命令とデータのフローを管理するために重要です。
  5. フラグ レジスタは算術演算および論理演算の結果に関する貴重な情報を提供し、プログラムでの効率的な意思決定を可能にします。
  6. 命令レジスタは実行中の現在の命令を保存し、制御ユニットによる効率的なデコードと制御信号の生成を可能にします。

利点:

    高速アクセス: レジスタは、データにアクセスして操作を実行するための高速かつ効率的な方法を提供します。レジスタはプロセッサ内に配置されているため、メモリからデータがフェッチされるのを待つことなく、すぐにアクセスできます。メモリ アクセスの削減: レジスタを使用すると、必要なメモリ アクセスの数が削減され、システム全体のパフォーマンスが向上します。特殊な機能: 8085 マイクロプロセッサの各レジスタには、算術演算用のアキュムレータや次の命令のアドレスを格納するプログラム カウンタなどの特定の機能があります。この特殊な機能により、プログラミングとデバッグが容易になります。複雑さの軽減: 8085 マイクロプロセッサーは、特定の目的に専用のレジスターを提供することにより、プログラミングおよび実行プロセスの複雑さを軽減します。

短所:

    限られた記憶容量: 8085 マイクロプロセッサには限られた数のレジスタがあるため、一度に保存および操作できるデータの量が制限される可能性があります。複雑なアドレス指定モード: 8085 マイクロプロセッサで使用される一部のアドレス指定モードは複雑になる可能性があり、プログラミングがより困難になる可能性があります。コンテキストの切り替え: 場合によっては、異なるレジスタのセット間で切り替えると、プログラミング プロセスにオーバーヘッドと複雑さが追加される可能性があります。柔軟性の欠如: 8085 マイクロプロセッサーのレジスターの数と機能が固定されているため、システムの柔軟性が制限され、変化する要件に適応することがより困難になる可能性があります。