¿Cómo decide una CPU qué transistores usar?

¿Cómo decide una CPU qué transistores usar?

Quizás no estoy pensando en esto correctamente, pero cuando le das a la CPU un comando como Multiplicar registros (MR) R2, R4, ¿cómo decide qué puertas lógicas usará? ¿Son solo las primeras puertas disponibles o hay algo? No soy consciente de lo que sucede bajo el capó. Entiendo que una CPU tiene millones de puertas lógicas, entonces, ¿cómo gestiona su uso correctamente?

Respuesta1

En realidad, su pregunta pertenece más al ámbito de la ingeniería eléctrica que a la informática, por lo que está un poco fuera de tema, pero veré qué puedo hacer.

Su instrucción de multiplicación se pondría en cola en unUnidad de procesamiento aritméticoen una de sus conexiones de entrada/salida.

La ALU utilizaLógica combinacionalen su disposición, de forma que la electricidad fluye por todo el circuito, y su salida varía en función de la entrada recibida. No selecciona un conjunto de puertas para usar, todas las puertas reciben señal, pero el diseño del circuito crea una transformación reproducible de la señal de entrada que transporta el resultado. Tenga en cuenta que en este nivel, está trabajando tanto con señales analógicas como con bits digitales, por lo que la electricidad fluye como agua a través de una red de tuberías y los circuitos permiten que más o menos agua atraviese diferentes vías.

La unidad de ejecución que impulsa la instrucción le envía la ALU para su procesamiento y, en el siguiente tic del reloj, espera que el resultado esté disponible en uno de los registros de salida de la ALU. ver más detalles aquí:https://en.wikipedia.org/wiki/Arithmetic_logic_unit#Circuit_operation

Respuesta2

En pocas palabras, es el comando que está ejecutando el que determina los estados de los transistores y, por lo tanto, las puertas lógicas en uso. Verá una serie de bytes y esa serie está configurando efectivamente el estado inicial del procesador. Es mucho más complicado en procesadores modernos con múltiples unidades de ejecución, pero esto es lo esencial.

Cuando el procesador se inicie, estará en la dirección 0 y colocará esa dirección en el bus de direcciones. Luego estará esperando que los bytes en la dirección 0 aparezcan en sus entradas de datos. Esto luego le indicará al procesador el estado inicial en el que debe estar, para que pueda colocar la siguiente ubicación de dirección en el bus de direcciones y esperar el siguiente byte y así sucesivamente.

Pronto tendrá un comando completo y los bytes que necesita se multiplicarán. Todos estos bytes "configurarán" efectivamente el núcleo del procesador para la tarea que debe realizarse.

Después de haber ingresado el comando completo junto con los bytes de datos necesarios colocados en el registro, puede continuar con el comando necesario y, después de recorrer la serie de transiciones lógicas necesarias, generará el resultado.

información relacionada