sumador serial utilizando la aritmética del complemento

1

La computadora de guía Apollo (AGC) usaba la aritmética del complemento. El siguiente clip del libro de Frank O'Brien en Apollo Guidance Computer (2010) ofrece una justificación parcial de esta decisión de ingeniería:

  

La clave para la simplicidad de tales sumadores es el requisito de que los números   Emplear el complemento de uno para su representación.

Pregunta: ¿Por qué la representación de complemento es clave para la simplicidad de un sumador en serie?

Aquí está el clip en contexto de La computadora de guía de apolo: arquitectura y operación ( enlace ):

    
pregunta I. J. Kennedy

1 respuesta

1

El comentario de Brian es el más obvio, creo, la idea adicional de que se requiere "+1" para la notación de complemento de dos. (Subí su comentario.) La implicación aquí es que tendría que haber significativamente más lógica para realizar esta función adicional que el complemento de uno no requiere.

Pero no creo que fuera eso.

Un sumador en serie realiza exactamente las mismas funciones, ya sea el complemento de uno o el complemento de dos. La única diferencia es que el carry-in para el complemento de dos comienza como "1" en lugar de "0" para los números negativos, mientras que el carry-in inicial para el complemento de uno es siempre "0", independientemente. Aunque esto no es un problema. Para un sumador en serie de dos complementos, solo se trata de agregar un "ajuste preestablecido" al FF de estado de acarreo (además del "reinicio".) Y eso no es tan difícil. Se agrega algo. Pero simplemente no creo que se agregue lo suficiente como para demostrar que este fue el motivo.

(Si desea ver el enfoque típico más moderno de "sumador en serie", eche un vistazo a Uso de D flip-flop en Serial Adder . Ahí puede ver que FF estoy hablando, arriba.)

Los números negativos en cualquier notación usan un "1" como bit de signo. Esto se utiliza para invertir los bits (si corresponde) a medida que se desplazan a través del sumador. Esto también sería idéntico en ambos casos. Cero lógica adicional en este punto.

Entonces, la realidad, creo, es un poco diferente. Se trata de la posibilidad de eliminar completamente la FF, por completo. Simplemente utilizaron una compuerta OR seguida de un circuito de línea de retardo entre dos semi-sumadores para reemplazar completamente la necesidad de un FF. Esta línea de retardo OR gate plus tiene significativamente menos partes que un FF y no es compatible con "preset" fácilmente.

Aquí hay un diagrama rápido:

Nopuedoencontrardocumentaciónsobreestocomolarazónreal.Sipudiera,lopublicaríaaquí.Perosírecuerdoelusodelaslíneasderetardo"en el pasado" para estas y, al reflexionar, sospecho que la diferencia entre una simple compuerta + línea de retardo versus el uso alternativo de un FF completo (como parecen tener los libros modernos sobre el tema En mi opinión, fue más probable que lo haya hecho).

+1 para tu pregunta, por cierto. Me hiciste pensar un momento y te lo agradezco.

    
respondido por el jonk

Lea otras preguntas en las etiquetas