Sé que un FPGA utiliza look-up tables (LUTs) para sintetizar las puertas de la lógica. Una LUT es un bloque de memoria RAM que es indexado por un número de entradas. La salida es el valor almacenado en esa dirección de memoria. La magia es que el LUT puede ser programado para mostrar lo que usted desea para una entrada en particular. Así, una LUT puede ser programado con la tabla de verdad de cualquier puerta lógica con el fin de imitar! Que es como un FPGA sintetiza las puertas de la lógica que se especifica en el código HDL.
Estaba pensando el otro día, ¿cómo es que un ordenador normal imitar las puertas de la lógica? Hasta donde yo sé (que no es mucho), si puedo escribir un programa en C++, primero debe ser compilado a código de máquina, de modo que la CPU puede leer. Entonces, cuando yo presione "ejecutar", el código de la máquina pasa a la memoria a la espera de procesamiento del CPU. No estoy muy claro sobre lo que sucede después, pero en algún momento la CPU debe tener ejecutar las operaciones lógicas que mi programa contiene, a la derecha? A diferencia de un FGPA, la CPU no puede sintetizar todos los recursos que necesita. Así que ¿cómo es ejecutar el programa?
Mis Conjeturas:
La CPU tiene un número de pre-construcción de puertas lógicas. Cuando se encuentra con un Y la instrucción en el código de C++ es la ejecución, utiliza uno de sus Y puertas. Si ve una O declaración, utiliza uno de sus puertas; si ve a una declaración de SI, utiliza uno de sus SI las puertas; etc.
O, se implementa la lógica en la memoria de alguna manera similar a una tabla de búsqueda. Esto tiene más sentido para mí, ya que no dependa de un limitado número de puerta de recursos. Si mi programa requiere de toneladas de lógica O por ejemplo, la CPU no conseguir un cuello de botella por falta de O puertas.
Así que, ¿cómo de lejos soy yo?
Edit: Gracias por las respuestas a todos, he aprendido bastante acerca de Cpu y Alu. Además, "SI la puerta" en mi primer supongo que es una errata, que debe ser "la puerta" (aunque es sólo un ejemplo, cualquier puerta lógica que haría). Lo siento por la confusión que existe.