¿Cómo se sincronizan los microprocesadores comerciales con un reloj de gigahercios?

Tengo problemas para hacer que un diseño FPGA relativamente simple (para un Altera Cyclone IV) cumpla con el tiempo para la lógica impulsada por un reloj de 250 MHz. Esto hace que me pregunte cómo los microprocesadores comerciales (como el Intel Core i7) logran cumplir con el tiempo en frecuencias de reloj más de un orden de magnitud superior.

¿Cómo pueden los microprocesadores comerciales cumplir con la sincronización a 3,8 GHz cuando estoy luchando a 250 MHz por un FPGA?

una fpga y un procesador son manzanas y naranjas. El fpga se construye a partir de módulos/celdas relativamente grandes que están interconectadas. El compilador para fpga no es mejor ni peor que un compilador de software, lo que significa que hay mucho espacio para mejorar el rendimiento, sus señales se enrutan por todas partes, a través de celdas grandes/lentas que consumen tiempo. Un procesador, por ejemplo, es exactamente las puertas necesarias, sin enrutamiento adicional (bueno, jtag scan y bist), etc. El mismo problema con el compilador, pero hay algunos compiladores de chips mejores (caros).

Respuestas (2)

Los FPGA en realidad no tienen "puertas" per se. Por lo general, tienen tablas de consulta (LUT). Los LUT generalmente se implementan utilizando SRAM. Por ejemplo, los FPGA Spartan 3 usan SRAM de 16 bits; es decir, cuatro entradas de dirección producen una señal de salida. La "programación" se realiza cargando la SRAM con un patrón de bits que representa la tabla de verdad, de modo que, por ejemplo, para XOR de 2 entradas, tiene dirección 00 = salida 0, dirección 01 = salida 1, dirección 10 = salida 1, dirección 11 = salida 0

Todo esto significa que los FPGA en realidad tienen muchas, muchas puertas adicionales e innecesarias para realizar la misma función lógica. Si necesita FPGA para la reprogramabilidad y la creación rápida de prototipos, ¡entonces esto es genial! De hecho, algunas personas implementan el diseño primero en el FPGA, lo depuran y luego pasan a un ASIC, que será más pequeño, más rápido y consumirá menos energía, todo mientras hace lo mismo que hace el FPGA.

Los microprocesadores modernos también están canalizados. Por ejemplo, en un programa FPGA simple, se puede realizar un cálculo muy grande que involucra varias sumas y tal vez algunas multiplicaciones y una comparación en el mismo ciclo de reloj. Hacer todo este trabajo en un ciclo de reloj significa que el ciclo de reloj debe ser largo. En una implementación canalizada (que es posible implementar en FPGA y se usa a menudo para lograr el cierre de tiempo), el gran cálculo se divide en partes, y cada parte se ejecuta en un ciclo de reloj mucho más corto. Todavía lleva aproximadamente la misma cantidad de tiempo hacer el cálculo, pero la ventaja es que después de calcular la primera parte y el primer dato parcial se ha movido a la segunda parte, la primera parte puede comenzar a procesar inmediatamente la segunda parte. El primer cálculo aún tardará muchos ciclos en completarse, pero una vez hecho,

Entonces, en pocas palabras, los FPGA tienen una lógica genérica mientras que la CPU tiene una lógica específica. FPGA tiene enrutamiento genérico mientras que CPU tiene enrutamiento específico. FPGA puede estar canalizado, pero la CPU definitivamente está canalizada.

Ampliando el comentario de Dwlech. Los procesadores tienen conexiones directas de cobre. Los FPGAs están interconectados a través de conexiones programables. Además, los procesadores colocan elementos críticos uno al lado del otro. Los FPGA también necesitan espacio para la SRAM que contiene la programación.

Tenga en cuenta que los procesadores de proveedores como Intel se fabrican a la vanguardia de la tecnología, donde las ventajas y desventajas de la velocidad y la potencia son lo último en tecnología. Tampoco es una hazaña simple "cumplir con el tiempo" en un núcleo de procesador de varios gigahercios, incluso con las ventajas específicas señaladas por Brian Carlton.
A pesar de lo que señala @Michael Karas, los últimos FPGA a menudo también están a la vanguardia de la tecnología para las fábricas.