Estoy jugando con el diseño de una CPU simple de 8 bits a partir de componentes lógicos básicos. Tengo una idea bastante clara de cómo interactúan mi ALU y mis registros, pero lo único que siento que puede mejorar es cómo alternar cuándo se permite que una línea se conecte al bus de datos principal.
Mi pensamiento inicial fue usar y puertas para conducir el autobús. La salida de las diversas líneas en la ALU podría ir en un conjunto de chips de cuatro Y que salen al bus. Solo un juego de compuertas AND a la vez tendría todas sus entradas B elevadas para dejarlas salir al bus.
Un par de cosas de las que no estoy seguro: parece un desperdicio usar ocho compuertas AND completas por línea, cuando solo necesito una línea de control. ¿Hay un chip más adecuado para este propósito? Estoy seguro de que también podría hacerlo con ocho transistores, pero me gustaría seguir con ICs bastante comunes (y baratos).
Una solución como esta solo permite que los datos fluyan de una manera desde el bus. ¿Es esto un problema? Creo que no, ya que tengo otras líneas de control que impiden que los registros carguen los datos del bus hasta que yo quiera.
¿Hay un chip estándar para usar en una puerta de bus como esta?