Diseño de una ALU de 8 bits

He comenzado a diseñar una unidad aritmética y lógica de 4 bits.

La imagen de muestra es la siguiente:

La tabla de funciones:

Mi pregunta es: ¿es posible diseñar una ALU de 8 bits que tenga las mismas funcionalidades (como en la Tabla), usando exactamente dos ALU de 4 bits (como en la Figura) y una puerta 'Y'?

No estoy seguro. Acabo de pensar en la idea de hacer una ALU de 8 bits. Por eso pregunta. ¿Cuál es el principal problema al hacerlo? @Eugene Sh
En realidad espera... Lo siento, parece ser posible. ¿Por qué necesita una puerta AND?
Todas las funciones funcionarán si solo paralelizas las ALU, excepto la adición, donde solo necesitas encadenar el acarreo. Actualización: Ah, tal vez la puerta AND sea para combinar la bandera cero.
Si desea una explicación completa, mejor haga una nueva pregunta (o cambie esta significativamente), conforme a las reglas.
Tenga en cuenta que está realizando dos sumas en las operaciones 2 y 3 y duplicando la cantidad de bits de 4 a 8. Hacer ambas cosas requerirá 4 ALU de 4 bits, dos por operación.
@AndrewW. Es una adición con carry-in de un solo bit. Solo se requieren dos sumadores completos de 4 bits.
Bien, ahora tenemos la respuesta. Pero me pregunto cómo OP sabía que necesitaría una puerta AND sin saber la respuesta... Oh, espera... Increíble la cantidad de preguntas de tarea en estos tiempos.
sí, me estoy poniendo allí. deberías borrar tu primer comentario, creo. Borro mi segundo comentario. tal vez los dos.

Respuestas (2)

Lo que muestra es similar al antiguo chip ALU AMD 2901 de 4 bits "bit-slice". Debería poder colocarlos en cascada a cualquier longitud, pero más largo es igual a más lento debido a la cadena de transporte. Necesitará una puerta AND para combinar las banderas "cero". Puede tomar las banderas "carry", "sign" y "overflow" del chip más significativo.

Para conectarlos en cascada, simplemente necesita vincular el "llevado" de los 4 bits menos significativos al "llevado" de los siguientes 4 bits más altos. Asegúrese de vincular el "carry-in" de orden más bajo a algo que pueda controlar (uno de sus bits de instrucción) porque debe ser un 0 para SUMAR y un 1 para INCREMENTAR o RESTAR.

Enlace de Wikipedia: https://en.wikipedia.org/wiki/AMD_Am2900

Su pregunta no está bien formulada, ya que no ha especificado su formato aritmético. Todas las funciones lógicas se pueden realizar con 2 chips. Ni siquiera necesita conectar los dos excepto para la función.

Su primera función aritmética es simple, y simplemente conectar el acarreo inferior al acarreo superior funcionará bien, siempre que esté agregando binario sin signo. Sin embargo, el complemento de 2 no funcionará.

Sin embargo, la segunda función es un poco extraña. ¿Por qué querrías agregar los complementos? ¿Para producir la resta? No funcionará para el complemento de 2. Tampoco funcionará para el complemento de 1. En cualquiera de los dos formatos, piensa en lo que hace restar cero.

Sin saber qué significa esa función para ti, tendría que decir que no.

En realidad, el cumplido de 2 funcionará. No es intuitivo que lo haga, pero el bit de "signo" de los 4 bits inferiores se comportará correctamente para el complemento de 2, como un bit ordinario. El "acarreo" de los 4 bits inferiores se puede utilizar como un "medio acarreo" para la aritmética BCD. La segunda función funcionará correctamente como una resta si establece el "carry-in" más bajo en uno (cambiando el "cumplido" por un "cumplido e incremento", la definición de negación del complemento de 2).