8 votos

¿Cómo comerciales microprocesadores cumplir con los tiempos con un gigahercio reloj?

Estoy teniendo problemas de hacer un relativamente simple de diseño de FPGA (para una Altera Cyclone IV) cumplir con el calendario para la lógica impulsada por un 250 MHz de reloj. Esto me hace preguntarme cómo comerciales de los microprocesadores (como el Intel Core i7) la gestión para cumplir con el tiempo con frecuencias de reloj más de un orden de magnitud mayor.

¿Cómo pueden los microprocesadores comerciales cumplan los requisitos de plazos en el 3,8 GHz cuando estoy luchando a 250 MHz para una FPGA?

7voto

Duncan Smart Puntos 9195

Los FPGAs en realidad no tiene "puertas" de por sí. Por lo general, tienen Look-Up Tables (LUTs). LUTs generalmente se implementan con Sram. Por ejemplo, Spartan 3 FPGAs de 16 bits Sram; es decir, cuatro direcciones de las entradas de producir una señal de salida. La "programación" se realiza mediante la carga de la SRAM con un patrón de bits que representa la tabla de verdad, de tal manera que, por ejemplo, 2-entrada XOR, tiene dirección 00 = salida 0, dirección 01 = salida 1, la dirección 10 = salida 1, la dirección 11 = salida 0.

Todo esto significa que los FPGAs en realidad tienen muchos, muchos extra e innecesaria de puertas para realizar la misma función de lógica. Si usted necesita FPGAs para la reprogramabilidad y la creación rápida de prototipos, entonces este es genial!!! De hecho, algunas personas de implementar el diseño por primera vez en la FPGA, depurar y, a continuación, pasar a un ASIC, que será más pequeño, más rápido y consume menos energía, todo mientras se hace la misma cosa que la FPGA.

Los modernos microprocesadores también son canalizadas. Por ejemplo, en un simple programa FPGA, una muy grande cálculo de la participación de varios añade, y tal vez algunos se multiplica y una comparación puede llevarse a cabo en el mismo ciclo de reloj. Hacer todo este trabajo en un ciclo de reloj significa que el ciclo de reloj debe ser de largo. En un pipeline de ejecución (que es posible implementar en FPGAs y se utiliza a menudo para lograr la temporización de cierre), la gran cálculo se divide en trozos, y cada pieza se ejecuta en uno mucho más corto ciclo de reloj. Todavía tiene aproximadamente la misma cantidad de tiempo para hacer el cálculo, pero la ventaja es que después de la primera pieza se calcula y el primer parcial dato se ha trasladado a la segunda pieza, la primera pieza inmediatamente puede comenzar el proceso de la segunda datum. El cálculo de la primera todavía va a tardar muchos ciclos para completar, pero una vez que se realiza un nuevo cálculo será completado durante cada ciclo de reloj.

Así, en una palabra, los FPGAs han genérico de la lógica, mientras que la CPU tiene una lógica específica. FPGA ha de enrutamiento genérico, mientras que la CPU ha específicas de enrutamiento. FPGA puede ser canalizado, pero la CPU es definitivamente canalizado.

4voto

Chris Miller Puntos 2552

La expansión en dwlech del comentario. Los procesadores tienen directa conexiones de cobre. Los FPGAs están interconectados a través programable conexiones. También los procesadores más importantes cosas uno al lado del otro. Los FPGAs también necesitan un espacio para el SRAM que contiene la programación.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X