Estoy tratando de construir un árbol sumador usando compresores 4:2. Quiero sumar 16 bytes en total, así que pensé que una posible arquitectura para ese árbol sería la siguiente:
Cada sumador de 4 bytes tiene 3 salidas, las 2 son la suma y el acarreo (que enviamos al siguiente sumador) y la tercera es el Cout del último compresor 4:2 del sumador.
Mi pregunta es, que hacer con el Cout? ¿Cómo debo agregarlo al resto de la suma?
Por lo general, cuando decimos "compresor" como su uso en el título de un compresor 4: 2, es una operación con pérdida , ya que está asignando 16 (2 ^ 4) valores de entrada a 4 (2 ^ 2) valores de salida. Estos se usan típicamente en arquitecturas de grandes multiplicadores donde es un problema común calcular productos parciales y no la suma total. Estos a veces se denominan acarreos y guardados porque los acarreos se guardan, si se necesitan más tarde, pero a menudo se ignoran. (Fuente: he diseñado una ALU para un microprocesador comercial).
Pero asumiendo que el resto de su diagrama cuando dice Sumador de 4 bytes, que en realidad quiere decir que se implementa un sumador completo, entonces puede hacer lo que quiere hacer. No importa cómo se implementen los sumadores en el interior, siempre que no tengan pérdida, es decir, verdaderos sumadores. Estoy haciendo esa distinción en base a su comentario de que también usó compresores dentro de cada sumador de 4 bytes.
Esencialmente, en este punto, solo está agregando varias sumas parciales en serie y, por lo tanto, no necesita hacer ninguna propagación de acarreo. En ese caso, debe seguir ampliando su sumador para que se ajuste a todos los resultados posibles de la suma. He dibujado esto a continuación. Deberá ampliar su resultado en tres bits y anteponerlo a la suma. Para ver por qué esto tiene sentido, piense en el caso en el que está agregando 0xFFFFFFFF sin firmar cuatro veces.
tom carpintero
Arkoudinos