レジスタとフリップフロップの違いは何ですか?


答え 1:

レジスタは1ビット(たとえば、64または32、あるいは16または8ビット)以上であり、フリップフロップは1ビットのみであると考えられます。

また、状態を設定およびリードバックする方法が異なる、少なくとも4種類のフリップフロップがあります。 セット/リセットの「SR」、セット/リセットの「JK」、ただしより完全に定義された動作、遅延またはデータの「D」、トグルの「T」。

レジスタを使用する場合、ビットの設定方法と読み戻し方法は重要ではありません。 ビットの設定および/または読み戻しがより重要です。 最も基本的なレジスタは、フリップフロップのセットでできるように、ビットを保存および呼び出します。 しかし、多くのレジスタはもっと多くのことができます。 たとえば、アキュムレータレジスタは、レジスタ内の既存のビットに入力を追加します。 別のタイプのレジスタは書き込み専用で、システム内の別の場所で操作を開始できます。 さらに、他のレジスタは読み取り専用で、システムの温度など、読者が関心を持っているものの状態を表します。


答え 2:

レジスタは、そのコアでのフリップフロップです。

特に、ほとんどの場合、Dフリップフロップです。 それほど単純ではない状況もあります。GPIOの出力レジスタをS / Rフリップフロップとして動作させ、ビットの設定のみまたはクリアのみを許可する場合があります。 (ほとんどの現在のMCUはこれをサポートしています。)通常、フリップフロップへのD-FFアクセスがまだあるため、レジスタを設定およびクリアできます。

プログラマの利便性のために、レジスタは通常、FFに書き込み、その値を読み取るために同じアドレスに作成されます。 コアレジスタ(アキュムレータ、r0〜r15、インデックスレジスタなど)の場合、レジスタは個別のレジスタアドレスを介するのではなく、命令によって直接アドレス指定されます。

一部のMCUでは、メモリアドレス空間でレジスタにアクセスすることさえできました。 Iirc、8051はそれを行い、実際にレジスタのメモリブロックの異なるブロックへのマッピングの選択を許可しました。


答え 3:

レジスタ(少なくとも、私がレジスタとして知っているもの)ビットのセット。 (プロセッサによって異なります)。

フリップフロップはそのハードウェアビットにすぎません(コンピューターで必ずしも必要ではないものが内部にある場合もあり、一部のシステムの一部である場合もあります)。

ほとんどの場合、レジスタには多くの内部フリップフロップがあります。 (または、少なくとも内部的にそのようなものであるかどうかわからない類似の少なくともいくつかの種類)。

フリップフロップは通常、外部から0または1を変更しない限り、保持および変更できない論理ゲートで作成されるように定義されています(通常は、システムによって0ボルトまたは5または12または3ボルトになります通常はvcc)。