¿Cómo ofrecen los FPGA el paralelismo de canalización profunda?

1

Mientras lee el PPT aquí (última diapositiva), encontré la afirmación de que los FPGA tienen un paralelismo profundo de tuberías. He entendido el significado del paralelismo de tuberías profundas, pero ¿puede alguien explicar cómo se logra esto realmente en el FPGA (puede ser el punto de vista de la arquitectura o el algoritmo)?

    
pregunta gpuguy

2 respuestas

3

Fundamentalmente, los FPGA tienen muchos y muchos registros. Y muchos bloques de memoria RAM pequeños que también pueden ser útiles para algunas tuberías.

Si puede dividir su algoritmo en muchos pasos pequeños con un registro al final de cada paso, puede ingresar un nuevo valor de datos en cada tic del reloj. Durante cada ciclo de reloj, se realiza el algoritmo completo, pero cada parte se realiza en una "pieza" diferente de los datos de entrada. Después de que el reloj haya marcado el tiempo suficiente para cubrir el número de etapas de registro en su canalización, se obtiene la respuesta para los datos que ingresaron hace tantas marcas.

Agregar etapas de registro para ejecutar varios subprocesos también se denomina c-slowing .

    
respondido por el Martin Thompson
0
  1. Cree alguna lógica segmentada que realice una función particular.
  2. Replica esa lógica varias veces.
  3. Distribuya el flujo de datos de entrada entre las copias lógicas.
  4. Reensamble los datos de salida de las copias lógicas en un flujo de salida contiguo.

Idealmente, se logrará un equilibrio óptimo de rendimiento -v- utilización lógica.

    
respondido por el markt

Lea otras preguntas en las etiquetas