La computación reconfigurable es un término que se aplica a varias opciones de computación. Una computadora reconfigurable es aquella en la que los chips y componentes de la arquitectura de la computadora se pueden intercambiar por otros a pedido. Alternativamente, los chips y componentes se pueden reorganizar y conectar juntos de manera diferente para realizar diferentes funciones y seguir diferentes disposiciones de flujo de datos. Una computadora reconfigurable puede contener o no una unidad de procesamiento de computadora (CPU) de propósito general, puede tener varias CPU o solo puede ejecutarse mediante circuitos integrados dedicados y arreglos de puertas programables en campo. Algunas personas se refieren a la computación reconfigurable como computación híbrida, computación paralela, computación en canalización o computación de alto rendimiento.
Las computadoras de matriz de puertas programables en campo (FPGA) pueden tener una CPU para realizar funciones de plataforma y red, o pueden realizar todas las funciones de la 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 bruta para tareas informáticas especializadas y mayores capacidades de velocidad en comparación con las computadoras de propósito general. En opciones alternativas, los FPGA se pueden reprogramar repetidamente mediante lenguajes específicos de hardware, en uso informático paralelo, para producir diferentes rutas de flujo de datos y operaciones de datos de canalización simultáneas.
La computación híbrida se considera computación reconfigurable, ya que implica 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 matrices 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 la tarjeta de señalización o gráficos. La informática reconfigurable se trata de ofrecer opciones de alto rendimiento para tareas especializadas.
La razón por la que se prefieren los sistemas informáticos reconfigurables a la informática 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 secuencias de bits de instrucciones. Estas reconfiguraciones pueden tener lugar mientras otra parte del sistema lógico está calculando otras tareas. Existe una gran diferencia de velocidad entre el uso de tareas de ejecución de software y el uso de la flexibilidad de la computación reconfigurable para realizar las mismas tareas, mientras se consume menos energía.
En las comunidades científica, académica, militar y empresarial, se están realizando muchos campos de investigación para promover las prácticas informáticas reconfigurables. Gran parte de esta investigación tiene como objetivo producir una mejor gestión de los gastos generales en los sistemas operativos. De manera relacionada, se está investigando sobre las opciones en la delegación de tareas a las CPU anfitrionas y las FPGA lógicas. Además, se enfatizan las estrategias de optimización para FPGA en video, señal y procesamiento de redes para comunidades científicas y militares, y bioinformática para comunidades médicas.