¿Qué es la informática reconfigurable?
La computación reconfigurable es un término aplicado a varias opciones de computación. Una computadora reconfigurable es aquella en la que los chips y componentes de la arquitectura de la computadora pueden intercambiarse por otros a pedido. Alternativamente, los chips y componentes pueden reorganizarse y conectarse juntos de manera diferente para realizar diferentes funciones y seguir diferentes disposiciones de flujo de datos. Una computadora reconfigurable puede o no contener una unidad de procesamiento de computadora (CPU) de propósito general, puede tener varias CPU, o solo ser ejecutada por circuitos integrados dedicados y arreglos de compuerta programables en campo. Algunas personas se refieren a la informática reconfigurable como informática híbrida, informática paralela, informática de canalización o informática de alto rendimiento.
Las computadoras con arreglo de compuerta programable en campo (FPGA) pueden tener una CPU para realizar funciones de plataforma y red, o pueden realizar todas las funciones de CPU de forma independiente en una computadora reconfigurable. Estos FPGA son componentes lógicos de computadora que se pueden agrupar en una variedad de configuraciones de cableado, produciendo diferentes funciones y flujos de datos, y se pueden reorganizar en nuevos arreglos en cualquier momento. Esta flexibilidad proporciona la máxima potencia informática en bruto para tareas informáticas especializadas y mayores capacidades de velocidad sobre las computadoras de uso general. En opciones alternativas, los FPGA pueden reprogramarse repetidamente mediante lenguajes específicos de hardware, en uso de computación paralela, para producir diferentes rutas de flujo de datos y operaciones simultáneas de datos de canalización.
La computación híbrida se considera computación reconfigurable, ya que involucra un núcleo de CPU de propósito general combinado con núcleos específicos de la aplicación para usos específicos, lo que aumenta las capacidades y la velocidad de ciertas funciones informáticas. Estos núcleos específicos de la aplicación pueden ser FPGA, reconfigurados por un consumidor o arreglos de procesamiento de datos reconfigurables (rDPA). Además, se puede agregar una tarjeta de expansión de computadora PCI Express® internamente a la placa base, o externamente en su propio gabinete, para aumentar las capacidades de gráficos o tarjetas de señalización. La informática reconfigurable se trata de ofrecer opciones de alto rendimiento para tareas especializadas.
La razón por la cual los sistemas de computación reconfigurables son preferibles a la computación de propósito general es que los sistemas reconfigurables proporcionan tal flexibilidad de rendimiento. Un sistema reconfigurable se puede cambiar sobre la marcha antes de la ejecución, entre conjuntos de funciones o en casi cualquier punto durante la ejecución mediante flujos de bits de instrucciones. Estas reconfiguraciones pueden tener lugar mientras otra parte del sistema lógico está computando otras tareas. Hay una gran diferencia de velocidad entre el uso de tareas que realizan software y el uso de la flexibilidad de la informática reconfigurable para realizar las mismas tareas, mientras se consume menos energía.
En comunidades científicas, académicas, militares y comerciales, se están realizando muchos campos de investigación para avanzar en las prácticas de computación reconfigurables. Gran parte de esta investigación está dirigida a producir una mejor gestión de gastos generales en los sistemas operativos. De manera relacionada, se están realizando investigaciones sobre las opciones en la delegación de tareas para alojar CPU y FPGA lógicas. Además, se enfatizan las estrategias de optimización para FPGA en video, señal y procesamiento de red para comunidades científicas y militares, y bioinformática para comunidades médicas.