Yo era la aplicación de la ALU a partir de las especificaciones dadas en mi Los Elementos de los sistemas de cálculo del libro. Estoy atascado en un problema. ¿Cómo puedo saber si un número dado es cero o no. Una cosa que puedo hacer es o todos los bits en el bus, y luego aplicar una puerta not en que. Pero tiene que haber alguna otra solución elegante.
Respuestas
¿Demasiados anuncios?Simplemente no hay manera alrededor de ORing todos los bits, como insatisfactorio que pueda parecer. Sin embargo, usted no está limitado a dos puertas de entrada en silicio. Usted puede construir un 4-entrada de la puerta NOR CMOS lógica poniendo 4 de la serie p-tipo de transistores en la subida de red y 4 en paralelo de n-transistores de tipo en la lista desplegable de la red. Que reduce la profundidad de su topología de árbol y, por tanto, su retardo de propagación. Usted sólo puede tomar esa teoría hasta ahora a pesar de que antes de que la acumulación de la caída de voltaje a través de la serie de transistores que hace que el pull-up no tirar-lo suficiente como para ser un "1"... cuatro es una buena regla del pulgar, si recuerdo correctamente.
La solución típica con máquinas de 8 bits fue que la ALU se iba a producir un número de la bandera de los " bits que representan el resultado de la más reciente operación. Aunque sería posible tener cualquier número de bits de indicador alrededor (es decir, usted podría tener un 'Z' de la bandera para todos los registros en la CPU), es por lo general la cosa acaba calcula que usted es el más interesante, por lo que tiene un cierto grado de sentido hacerlo de esa manera.
Algunos de esos viejos Cpu automáticamente conjunto de bits de indicador para casi todos los datos se mueven, mientras que otros requieren que usted mantenga un determinado "comparar" la instrucción en el código si de repente necesitas saber si un determinado registro fue de cero. Y si usted proporciona un cheque de cero para cada registro o simplemente para lo que se acaba de calcular, realmente no hay manera más sencilla de comprobar "es esta palabra cero" de que O todos los bits juntos.