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 buena de cómo interactuarán mi ALU y mis registros, pero lo único que creo que puede mejorar es cómo alternar cuando se permite que una línea se conecte al bus de datos principal.
Mi pensamiento inicial fue usar puertas para conducir el autobús. La salida de varias líneas en la ALU podría ir a un conjunto de chips quad-AND que salen al bus. Solo un conjunto de compuertas AND a la vez tendría todas sus entradas B elevadas para dejarlas salir en el 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 mejor 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 circuitos integrados bastante comunes (y baratos).
Una solución como esta solo permite que los datos fluyan en una dirección 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 autobús como esta?