On-Chip Software Tools for Hardware Multitasking on Partially Reconfigurable FPGAS - Morales Villanueva, Aurelio Federico (2015)
Los arreglos de puerta programables en campo (FPGA) parcialmente reconfigurables (PR) dividen el FPGA en una región estática y múltiples regiones PR (PRR). Esta partición permite un tiempo de reconfiguración más rápido, en comparación con la configuración de la FPGA completa, ya que los PRR se reconfiguran utilizando flujos de bits parciales más pequeños. Los FPGA PR también permiten una reconfiguración aislada, ya que solo el PRR reconfigurado detiene la ejecución mientras el resto del FPGA continúa funcionando. La reconfiguración más rápida y aislada permite la multiplexación flexible de tareas de hardware en los PRR y, para explotar por completo esta multiplexación de tiempo PRR, las tareas de mayor prioridad deberían poder evitar las tareas de menor prioridad, y las tareas anticipadas deberían poder reanudar la ejecución en cualquier PRR con suficiente recursos. Esta preferencia/reanudación requiere guardar/restaurar el contexto de ejecución de tarea anticipada y reubicar la tarea en otro PRR. Algunos trabajos anteriores abordan los desafíos involucrados, pero estos trabajos solo proporcionan soluciones parciales e imponen limitaciones y/o gastos generales que evitan la portabilidad de estos trabajos en diferentes familias de dispositivos FPGA. La investigación presentada aquí presenta un conjunto de métodos y herramientas de software para la multitarea de hardware en FPGA PR para abordar las limitaciones de trabajos anteriores. Primero, presentamos el software de guardado y restauración de contexto (CSR) en chip para permitir la preferencia/reanudación de tareas en el mismo PRR, preservando el estado de ejecución de las tareas de hardware preferentes, sin interrumpir las operaciones en la región estática y otros PRR en el FPGA. En segundo lugar, presentamos el software de reubicación de tareas de hardware (HTR) en el chip para permitir que se guarde un estado de ejecución de tareas, y se reubique y restaure en cualquier PRR en la FPGA con recursos suficientes. Finalmente, utilizando nuestro software HTR en chip, presentamos la gestión de recursos dinámicos distribuidos en chip (DDRM) para FPGA PR para permitir la reubicación de contexto de tareas de hardware entre diferentes FPGA físicos en una red interconectada. Los resultados experimentales evalúan los tiempos de ejecución de CSR, HTR y DDRM, lo que permite a los diseñadores intercambiar la granularidad de tareas/PRR y los tiempos de ejecución de CSR/HTR/DDRM según los requisitos de la aplicación.