¿Cuál es el propósito de un "acarreo"?

4

Actualmente estoy tratando de aprender cómo funcionan los sumadores binarios, pero no entiendo para qué sirve un "carry in". ¿Cuál es el propósito de un "carry in"?

    
pregunta Ethan Bierlein

3 respuestas

5

Es importante entender que hay una diferencia entre un sumador medio y un sumador completo.

Un medio sumador es el más simple. Tiene 2 entradas y 2 salidas. Es básicamente un XOR.

La salida primaria es solo 1 si una de ambas entradas es 1, pero no si ambas son 1. Eso es Sum . La segunda salida es solo 1 si ambas entradas son 1. Eso es Carry .

Eso está bien, pero solo si estás agregando dos bits. Si necesitas más bits, tendrás que combinar algunos sumadores. Aquí es donde entran en juego los sumadores completos. El sumador menos significativo es un sumador medio, y cada sumador más significativo será un sumador que tomará el Carry del sumador anterior.

A   B   Cin     Cout    Sum
0   0   0       0       0
1   0   0       0       1
0   1   0       0       1
1   1   0       1       0
0   0   1       0       1
1   0   1       1       0
0   1   1       1       0
1   1   1       1       1

(copiado sin vergüenza de Wikipedia)

Si Carry in es 0 , el comportamiento de un sumador completo es idéntico a un medio sumador.

Sin embargo, si Carry in es 1 , el comportamiento de Sum se invierte y el comportamiento de Carry out cambia a un OR. Siempre que cualquiera de las entradas sea 1, Carry out es 1.

Se requiere

Carry in para convertir un sumador básico de 2 bits en un contador de múltiples bits. Ese es el propósito de Carry in .

    
respondido por el Mast
5

Además de lo que dicen los que respondieron anteriormente, Carry también puede significar una entrada proveniente del registro de bandera que permite vincular una suma en una ALU a la siguiente. Al vincular quiero decir que, si la arquitectura de su computadora tiene una ALU con un tamaño de palabra de 8 bits y usted necesita hacer una suma de 16 bits, la ALU puede usar la bandera de acarreo, colocándola en su acarreo como una forma de permitir la Procesador para continuar la suma del anterior. Esto permite que dos sumas de 8 bits se conviertan en una suma de dos pasos de 16 bits.

    
respondido por el Jorge Aldo
4

El propósito del "carry" en es aceptar el "carry" del anterior. Carry funciona igual que la aritmética normal.

    
respondido por el SirPython

Lea otras preguntas en las etiquetas