Estoy jugando con el diseño de una simple CPU de 8 bits a partir de componentes lógicos básicos. Tengo una idea bastante buena de cómo van a interactuar mi ALU y mis registros, pero lo único que creo que puede mejorar es cómo alternar cuando una línea puede conectarse al bus de datos principal.
Mi idea inicial era utilizar y puertas para conducir el autobús. La salida de las diferentes líneas de la ALU podría ir a un conjunto de chips quad-AND que salieran al bus. Sólo un conjunto de compuertas AND a la vez tendría todas sus entradas B en alto para dejarlas salir al bus.
Hay un par de cosas de las que no estoy seguro: Parece un desperdicio utilizar ocho compuertas AND completas por línea, cuando sólo necesito que entre una línea de control. ¿Hay algún chip mejor 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 ésta sólo permite que los datos fluyan en un sentido 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 lo desee.
¿Existe un chip estándar para una puerta de bus como ésta?