3

なぜどのようにではなく)バイナリ減算が常に(?)補数などを追加することによって行われるのか、良い説明を探しています。それは、必要な追加の論理ゲートのためだけですか、それとも追加の論理ゲートがあるためですか?洗練された理由?たとえば、結果が負の場合は問題が発生する可能性があることを理解できました。表現を変更する必要がある場合があります。もっと理由を考えられますか?

4

3 に答える 3

5

8ビット加算器について考えてみます。キャリービットとともに、2セット8信号が着信します。2つのほぼ同一の回路を構築し、マルチプレクサを組み込んで、結果レジスタに格納する結果を選択することができます。または、1つのオペランドのパスにXORゲートの単一行を追加することもできます。1とXORすることで補数を取得します。また、XY = X +〜Y +1であるため、その「1」を加算器のキャリー入力にフィードします。これで、回路を1つ増やす代わりに、2つの操作を実行できる少し大きい回路ができました。1つの引数に0を入力し、XORゲートを使用してNOTを実装することもできます。加算器は、回路をほとんど使用せずに、他の演算(2つのオペランドのXORなど)を実行するようにわずかに変更することもできます。これはすべて、ゲートを最小化する必要があった小規模統合の時代にまでさかのぼります。それ以来、他の方法でそれを行う理由はありません。一連の操作を実行できる741814ビットALUの回路図については、以下を参照してください。 74181の説明

于 2011-03-09T14:48:54.787 に答える
0

あなたはすでに頭に釘を打ちました、それはすべてダイのスペースについてです。なぜより多くの回路でALUを停止させるのですか?これは、ロジック、またはより小さなALUとより多くのメモリに使用できるスペースです。

于 2011-03-09T13:57:47.407 に答える
0

プロセッサ回路に機能を追加するよりも、減算をアセンブリレベルで2つの操作に分解する方が簡単です。本質的には、これが単一の操作になることを除いて、すでに持っているものと同じものを追加するだけです。補数の追加として残す場合は、プロセッサのスペースを無駄にする代わりに、加算と補数回路を再利用して、何を追加することができます。あなたはすでに持っています

于 2011-03-09T14:02:23.950 に答える