Articulo de referencia

Computación reconfigurable

La computación reconfigurable es una arquitectura informática que combina la flexibilidad del software con el alto rendimiento del hardware mediante el procesamiento con platafo...

La computación reconfigurable es una arquitectura informática que combina la flexibilidad del software con el alto rendimiento del hardware mediante el procesamiento con plataformas de hardware flexibles como las matrices de puertas programables en campo (FPGA). La principal diferencia con respecto al uso de microprocesadores convencionales radica en la capacidad de añadir bloques computacionales personalizados mediante FPGA. Por otro lado, la principal diferencia con el hardware personalizado, es decir, los circuitos integrados de aplicación específica (ASIC), es la posibilidad de adaptar el hardware durante la ejecución "cargando" un nuevo circuito en la arquitectura reconfigurable, lo que proporciona nuevos bloques computacionales sin necesidad de fabricar ni añadir nuevos chips al sistema existente.

Historia

El concepto de computación reconfigurable existe desde la década de 1960, cuando el artículo de Gerald Estrin propuso la idea de una computadora compuesta por un procesador estándar y una matriz de hardware "reconfigurable". [ 1 ] [ 2 ] El procesador principal controlaría el comportamiento del hardware reconfigurable. Este último se adaptaría para realizar una tarea específica, como el procesamiento de imágenes o la búsqueda de patrones , con la misma rapidez que un hardware dedicado. Una vez finalizada la tarea, el hardware podría ajustarse para realizar otra. Esto dio como resultado una estructura de computadora híbrida que combinaba la flexibilidad del software con la velocidad del hardware.

En las décadas de 1980 y 1990 se produjo un renacimiento en esta área de investigación con numerosas arquitecturas reconfigurables propuestas y desarrolladas en la industria y la academia, [ 3 ] tales como: Copacobana, Matrix, GARP, [ 4 ] Elixent, NGEN, [ 5 ] Polyp, [ 6 ] MereGen, [ 7 ] PACT XPP, Silicon Hive, Montium, Pleiades, Morphosys y PiCoGA. [ 8 ] Estos diseños fueron factibles gracias al constante progreso de la tecnología del silicio, que permitió implementar diseños complejos en un solo chip. Algunas de estas computadoras reconfigurables masivamente paralelas se construyeron principalmente para subdominios especiales como la evolución molecular, el procesamiento neuronal o de imágenes. La primera computadora reconfigurable comercial del mundo, la Algotronix CHS2X4, se completó en 1991. No fue un éxito comercial, pero resultó lo suficientemente prometedora como para que Xilinx (el inventor de la matriz de puertas programables en campo , FPGA) comprara la tecnología y contratara al personal de Algotronix. [ 9 ] Máquinas posteriores permitieron las primeras demostraciones de principios científicos, como la autoorganización espacial espontánea de la codificación genética con MereGen. [ 10 ]

Teorías

Clasificación de Tredennick

El modelo fundamental del paradigma de la máquina de computación reconfigurable, la antimáquina basada en flujo de datos , se ilustra bien mediante las diferencias con otros paradigmas de máquinas que se introdujeron anteriormente, como lo muestra el siguiente esquema de clasificación de paradigmas de computación de Nick Tredennick (véase "Tabla 1: Esquema de clasificación de paradigmas de Nick Tredennick"). [ 11 ]

El ordenador de Hartenstein

El científico informático Reiner Hartenstein describe la computación reconfigurable en términos de una antimáquina que, según él, representa un cambio de paradigma fundamental que se aleja de la máquina de von Neumann más convencional . [ 12 ] Hartenstein la llama la paradoja de la computación reconfigurable , que la migración de software a configware (software a FPGA ) da como resultado factores de aceleración reportados de hasta más de cuatro órdenes de magnitud, así como una reducción en el consumo de electricidad de hasta casi cuatro órdenes de magnitud, aunque los parámetros tecnológicos de las FPGA están por detrás de la curva de Gordon Moore en aproximadamente cuatro órdenes de magnitud, y la frecuencia de reloj es sustancialmente más baja que la de los microprocesadores. Esta paradoja se explica en parte por el síndrome de von Neumann .

computación de alto rendimiento

La computación reconfigurable de alto rendimiento ( HPRC , por sus siglas en inglés) es una arquitectura informática que combina aceleradores basados ​​en computación reconfigurable, como matrices de puertas programables en campo, con CPU o procesadores multinúcleo .

El aumento de la lógica en un FPGA ha permitido programar algoritmos más grandes y complejos. La conexión de dicho FPGA a una CPU moderna mediante un bus de alta velocidad, como PCI Express , ha posibilitado que la lógica configurable funcione más como un coprocesador que como un periférico . Esto ha introducido la computación reconfigurable en el ámbito de la computación de alto rendimiento .

Además, al replicar un algoritmo en un FPGA o al utilizar múltiples FPGAs, se ha permitido producir sistemas SIMD reconfigurables donde varios dispositivos computacionales pueden operar simultáneamente con diferentes datos, lo que constituye una computación altamente paralela .

Esta técnica de sistemas heterogéneos se utiliza en la investigación informática y especialmente en la supercomputación . [ 13 ] Un artículo de 2008 reportó factores de aceleración de más de 4 órdenes de magnitud y factores de ahorro de energía de hasta casi 4 órdenes de magnitud. [ 14 ] Algunas empresas de supercomputación ofrecen bloques de procesamiento heterogéneos que incluyen FPGA como aceleradores. Un área de investigación es la productividad del flujo de herramientas de programación de doble paradigma obtenida para dichos sistemas heterogéneos. [ 15 ]

La Fundación Nacional de Ciencias de EE. UU. cuenta con un centro para computación reconfigurable de alto rendimiento (CHREC). [ 16 ] En abril de 2011 se celebró en Europa la cuarta Conferencia de Supercomputación Reconfigurable y de Múltiples Núcleos. [ 17 ]

Los sistemas informáticos reconfigurables de alto rendimiento comerciales están empezando a surgir con el anuncio de IBM de integrar FPGA con sus microprocesadores IBM Power . [ 18 ]

Reconfiguración parcial

La reconfiguración parcial es el proceso de modificar una parte de un circuito de hardware reconfigurable mientras que la otra parte conserva su configuración anterior. Los arreglos de puertas programables en campo (FPGA) se utilizan frecuentemente como soporte para la reconfiguración parcial.

El hardware electrónico , al igual que el software , puede diseñarse de forma modular, creando subcomponentes y luego componentes de nivel superior para instanciarlos. En muchos casos, resulta útil poder reemplazar uno o varios de estos subcomponentes mientras el FPGA sigue en funcionamiento.

Normalmente, la reconfiguración de una FPGA requiere que se mantenga en estado de reinicio mientras un controlador externo recarga un diseño. La reconfiguración parcial permite que partes críticas del diseño continúen funcionando mientras un controlador, ya sea en la FPGA o fuera de ella, carga un diseño parcial en un módulo reconfigurable. La reconfiguración parcial también puede utilizarse para ahorrar espacio en múltiples diseños, almacenando únicamente los diseños parciales que cambian entre ellos. [ 19 ]

Un ejemplo común de cuándo sería útil la reconfiguración parcial es el caso de un dispositivo de comunicación. Si el dispositivo controla múltiples conexiones, algunas de las cuales requieren cifrado , sería útil poder cargar diferentes núcleos de cifrado sin que se caiga todo el controlador.

La reconfiguración parcial no es compatible con todos los FPGA. Se requiere un flujo de software especial que priorice el diseño modular. Por lo general, los módulos de diseño se construyen siguiendo límites bien definidos dentro del FPGA, lo que exige que el diseño se asigne de forma específica al hardware interno.

Desde la funcionalidad del diseño, la reconfiguración parcial se puede dividir en dos grupos: [ 20 ]

  • La reconfiguración parcial dinámica , también conocida como reconfiguración parcial activa, permite cambiar una parte del dispositivo mientras el resto del FPGA sigue en funcionamiento;
  • Reconfiguración parcial estática : el dispositivo no está activo durante el proceso de reconfiguración. Mientras se envían los datos parciales al FPGA, el resto del dispositivo se detiene (en modo de apagado) y se activa una vez completada la configuración.

Sistemas actuales

Emulación por computadora

Se está utilizando una placa FPGA para recrear el ordenador Vector-06C.

Con la llegada de placas FPGA asequibles, los proyectos de estudiantes y aficionados buscan recrear computadoras antiguas o implementar arquitecturas más novedosas. [ 21 ] [ 22 ] [ 23 ] Estos proyectos se construyen con hardware reconfigurable (FPGA), y algunos dispositivos admiten la emulación de múltiples computadoras antiguas utilizando un único hardware reconfigurable ( C-One ).

COPACOBANA

Un ejemplo de ordenador basado íntegramente en FPGA es el COPACOBANA, un analizador y decodificador de bajo coste , y su sucesor, el RIVYERA. La empresa derivada SciEngines GmbH , surgida del proyecto COPACOBANA de las Universidades de Bochum y Kiel en Alemania, continúa el desarrollo de ordenadores basados ​​íntegramente en FPGA.

Mitriónica

Mitrionics desarrolló un SDK que permite compilar y ejecutar software escrito con un único lenguaje de asignación en computadoras basadas en FPGA. El lenguaje de software Mitrion-C y el procesador Mitrion permiten a los desarrolladores de software escribir y ejecutar aplicaciones en computadoras basadas en FPGA del mismo modo que con otras tecnologías informáticas, como unidades de procesamiento gráfico (GPU), procesadores basados ​​en celdas, unidades de procesamiento paralelo (PPU), CPU multinúcleo y clústeres de CPU tradicionales de un solo núcleo. (Empresa fuera de servicio)

Instrumentos Nacionales

National Instruments ha desarrollado un sistema informático integrado híbrido llamado CompactRIO . Consta de un chasis reconfigurable que aloja la FPGA programable por el usuario, módulos de E/S intercambiables en caliente, un controlador en tiempo real para comunicación y procesamiento deterministas, y el software gráfico LabVIEW para la programación rápida de la FPGA y el sistema en tiempo real.

Xilinx

Xilinx ha desarrollado dos estilos de reconfiguración parcial de dispositivos FPGA: basada en módulos y basada en diferencias . La reconfiguración parcial basada en módulos permite reconfigurar partes modulares distintas del diseño, mientras que la reconfiguración parcial basada en diferencias se puede utilizar cuando se realiza un pequeño cambio en el diseño.

Intel

Intel [ 24 ] admite la reconfiguración parcial de sus dispositivos FPGA en  dispositivos de 28 nm como Stratix V, [ 25 ] y en los  dispositivos Arria 10 de 20 nm. [ 26 ] El flujo de reconfiguración parcial de Intel FPGA para Arria 10 se basa en la metodología de diseño jerárquico del software Quartus Prime Pro, donde los usuarios crean particiones físicas de la FPGA que pueden reconfigurarse [ 27 ] en tiempo de ejecución mientras el resto del diseño continúa funcionando. El software Quartus Prime Pro también admite la reconfiguración parcial jerárquica y la simulación de la reconfiguración parcial.

Clasificación de sistemas

Al tratarse de un campo emergente, las clasificaciones de arquitecturas reconfigurables aún se están desarrollando y perfeccionando a medida que surgen nuevas arquitecturas; hasta la fecha no se ha propuesto ninguna taxonomía unificada. Sin embargo, se pueden utilizar varios parámetros recurrentes para clasificar estos sistemas.

Granularidad

La granularidad de la lógica reconfigurable se define como el tamaño de la unidad funcional más pequeña (bloque lógico configurable, CLB) a la que se dirigen las herramientas de mapeo. Una granularidad alta, también conocida como granularidad fina, suele implicar una mayor flexibilidad al implementar algoritmos en el hardware. Sin embargo, esto conlleva un coste en términos de mayor consumo de energía, área y retardo debido a la mayor cantidad de enrutamiento requerido por cálculo. Las arquitecturas de granularidad fina operan a nivel de manipulación de bits; mientras que los elementos de procesamiento de granularidad gruesa (unidad de ruta de datos reconfigurable, rDPU) están mejor optimizados para aplicaciones de ruta de datos estándar. Una de las desventajas de las arquitecturas de granularidad gruesa es que tienden a perder parte de su utilización y rendimiento si necesitan realizar cálculos más pequeños de lo que permite su granularidad; por ejemplo, para una suma de un bit, una unidad funcional de cuatro bits desperdiciaría tres bits. Este problema se puede solucionar integrando una matriz de granularidad gruesa ( matriz de ruta de datos reconfigurable , rDPA) y una FPGA en el mismo chip.

Las arquitecturas de grano grueso ( rDPA ) están diseñadas para la implementación de algoritmos que requieren rutas de datos de ancho de palabra (rDPU). Dado que sus bloques funcionales están optimizados para grandes cálculos y suelen constar de unidades aritmético-lógicas (ALU) de ancho de palabra, realizan estos cálculos con mayor rapidez y eficiencia energética que un conjunto de unidades funcionales más pequeñas interconectadas. Esto se debe a que los cables de conexión son más cortos, lo que reduce la capacitancia de los cables y, por lo tanto, permite diseños más rápidos y de menor consumo energético. Una posible consecuencia indeseable de tener bloques computacionales más grandes es que, cuando el tamaño de los operandos no coincide con el algoritmo, puede producirse una utilización ineficiente de los recursos. A menudo, el tipo de aplicaciones que se ejecutarán se conoce de antemano, lo que permite adaptar la lógica, la memoria y los recursos de enrutamiento para mejorar el rendimiento del dispositivo, a la vez que se mantiene cierto nivel de flexibilidad para futuras adaptaciones. Un ejemplo de esto son las matrices específicas de dominio, cuyo objetivo es obtener un mejor rendimiento en términos de potencia, área y rendimiento que sus homólogas FPGA de grano más fino , aunque reduciendo su flexibilidad.

Tasa de reconfiguración

La configuración de estos sistemas reconfigurables puede realizarse en el momento del despliegue, entre fases de ejecución o durante la ejecución. En un sistema reconfigurable típico, se utiliza un flujo de bits para programar el dispositivo en el momento del despliegue. Los sistemas de grano fino, por su propia naturaleza, requieren mayor tiempo de configuración que las arquitecturas de grano grueso, debido a la mayor cantidad de elementos que deben ser direccionados y programados. Por lo tanto, las arquitecturas de grano grueso se benefician de un menor consumo energético potencial, ya que se transfiere y utiliza menos información. Intuitivamente, cuanto menor sea la velocidad de reconfiguración, menor será el consumo de energía, puesto que el coste energético asociado a la reconfiguración se amortiza durante un período de tiempo más prolongado. La reconfiguración parcial tiene como objetivo permitir que una parte del dispositivo se reprograme mientras otra parte sigue realizando cálculos activos. La reconfiguración parcial permite flujos de bits reconfigurables más pequeños, evitando así el desperdicio de energía en la transmisión de información redundante en el flujo de bits. Es posible comprimir el flujo de bits, pero se debe realizar un análisis cuidadoso para garantizar que la energía ahorrada al utilizar flujos de bits más pequeños no se vea contrarrestada por el cálculo necesario para descomprimir los datos.

Acoplamiento del anfitrión

A menudo, la matriz reconfigurable se utiliza como acelerador de procesamiento conectado a un procesador principal. El nivel de acoplamiento determina el tipo de transferencias de datos, la latencia, el consumo de energía, el rendimiento y la sobrecarga asociados al uso de la lógica reconfigurable. Algunos de los diseños más intuitivos emplean un bus periférico para proporcionar una configuración similar a la de un coprocesador para la matriz reconfigurable. Sin embargo, también existen implementaciones donde la estructura reconfigurable está mucho más cerca del procesador; algunas incluso se implementan en la ruta de datos, utilizando los registros del procesador. La función del procesador principal es realizar las funciones de control, configurar la lógica, programar los datos y proporcionar la interfaz externa.

Enrutamiento/interconexiones

La flexibilidad de los dispositivos reconfigurables reside principalmente en su interconexión de enrutamiento. Un estilo de interconexión popularizado por fabricantes de FPGA como Xilinx y Altera es el diseño tipo isla, donde los bloques se organizan en una matriz con enrutamiento vertical y horizontal. Un diseño con un enrutamiento inadecuado puede presentar poca flexibilidad y un uso deficiente de los recursos, lo que limita su rendimiento. Si se proporciona un exceso de interconexión, se requieren más transistores de los necesarios y, por lo tanto, mayor superficie de silicio, cables más largos y mayor consumo de energía.

Desafíos para los sistemas operativos

Uno de los principales desafíos de la computación reconfigurable es lograr una mayor productividad en el diseño y facilitar el uso de sistemas de computación reconfigurable a usuarios que no estén familiarizados con los conceptos subyacentes. Una forma de conseguirlo es mediante la estandarización y la abstracción, generalmente respaldadas e implementadas por un sistema operativo. [ 28 ]

Una de las tareas principales de un sistema operativo es ocultar el hardware y presentar a los programas (y a sus programadores) abstracciones claras, limpias, elegantes y consistentes con las que trabajar. En otras palabras, las dos tareas principales de un sistema operativo son la abstracción y la gestión de recursos . [ 28 ]

La abstracción es un mecanismo poderoso para gestionar tareas (de hardware) complejas y diversas de forma definida y común. Una de las abstracciones más elementales del sistema operativo es el proceso. Un proceso es una aplicación en ejecución que tiene la percepción (proporcionada por el sistema operativo) de que se ejecuta de forma independiente en el hardware virtual subyacente. Esto se puede flexibilizar mediante el concepto de hilos, lo que permite que diferentes tareas se ejecuten simultáneamente en este hardware virtual para aprovechar el paralelismo a nivel de tarea. Para que los diferentes procesos e hilos coordinen su trabajo, el sistema operativo debe proporcionar métodos de comunicación y sincronización. [ 28 ]

Además de la abstracción, es necesaria la gestión de recursos de los componentes de hardware subyacentes porque las computadoras virtuales proporcionadas a los procesos e hilos por el sistema operativo necesitan compartir los recursos físicos disponibles (procesadores, memoria y dispositivos) espacial y temporalmente. [ 28 ]

Véase también

Referencias

  1. Estrin, G (2002). "Orígenes de las computadoras reconfigurables: la computadora de estructura fija más variable (F+V) de UCLA". IEEE Ann. Hist. Comput . 24 (4): 3– 9. Bibcode : 2002IAHC...24d...3E . doi : 10.1109/MAHC.2002.1114865 . S2CID 7923912 . 
  2. Estrin, G., "Organización de sistemas informáticos: la computadora de estructura fija más variable", Actas de la Conferencia Conjunta de Computación del Oeste, Nueva York, 1960, págs. 33-40.
  3. C. Bobda: Introducción a la computación reconfigurable: arquitecturas; Springer, 2007
  4. Hauser, John R. y Wawrzynek, John, "Garp: un procesador MIPS con un coprocesador reconfigurable", Actas del Simposio IEEE sobre máquinas informáticas personalizadas programables en campo (FCCM '97, 16-18 de abril de 1997), págs. 24-33.
  5. ^ McCaskill, John S.; Chorongiewski, Harald; Mekelburg, Karsten; Tangen, Uwe; Gemm, Udo (1 de septiembre de 1994). "NGEN: hardware informático configurable para simular la autoorganización prolongada de biopolímeros". Berichte der Bunsengesellschaft für Physikalische Chemie . 98 (9): 1114. doi : 10.1002/bbpc.19940980906 . ISSN 0005-9021 . 
  6. Sistemas evolutivos : de la biología al hardware : segunda Conferencia Internacional, ICES 98, Lausana, Suiza, 23-25 ​​de septiembre de 1998: actas . Sipper, Moshe., Mange, Daniel, 1940-, Pérez-Uribe, Andrés., Conferencia Internacional sobre Sistemas Evolutivos (2.ª : 1998 : Lausana, Suiza). Berlín: Springer. 1998. ISBN     978-3-540-64954-0OCLC 39655211 {{cite book}}: CS1 mantenimiento: otros ( enlace )
  7. Acoplamiento de sistemas biológicos y electrónicos: actas del II Caesarium, Bonn, 1-3 de noviembre de 2000. Hoffmann, K.-H. (Karl-Heinz). Berlín: Springer. 2002. ISBN 978-3-540-43699-7OCLC 49750250 {{cite book}}: CS1 mantenimiento: otros ( enlace )
  8. Campi, F.; Toma, M.; Lodi, A.; Cappelli, A.; Canegallo, R.; Guerrieri, R., "Un procesador VLIW con conjunto de instrucciones reconfigurable para aplicaciones embebidas", Solid-State Circuits Conference, 2003. Resumen de artículos técnicos. ISSCC. 2003 IEEE International, vol., n.º, págs. 250–491 vol. 1, 2003
  9. Historia de Algotronix
  10. Füchslin, Rudolf M.; McCaskill, John S. (31 de julio de 2001). "Autoorganización evolutiva de la codificación genética libre de células" . Actas de la Academia Nacional de Ciencias . 98 (16): 9185–9190 . Bibcode : 2001PNAS...98.9185F . doi : 10.1073/pnas.151253198 . ISSN 0027-8424 . PMC 55395. PMID 11470896 .   
  11. N. Tredennick: El caso de la computación reconfigurable; Microprocessor Report, vol. 10, n.º 10, 5 de agosto de 1996, págs. 25-27.
  12. Hartenstein, R. 2001. Una década de computación reconfigurable: una retrospectiva visionaria. En Actas de la Conferencia sobre Diseño, Automatización y Pruebas en Europa (DATE 2001) (Múnich, Alemania). W. Nebel y A. Jerraya, Eds. Diseño, automatización y pruebas en Europa. IEEE Press, Piscataway, NJ, 642–649.
  13. N. Voros, R. Nikolaos, A. Rosti, M. Hübner (editores): Reconfiguración dinámica de sistemas en plataformas heterogéneas: el enfoque MORPHEUS; Springer Verlag, 2009
  14. Tarek El-Ghazawi; et al. (febrero de 2008). "La promesa de la computación reconfigurable de alto rendimiento". IEEE Computer . 41 (2): 69– 76. Bibcode : 2008Compr..41b..69E . CiteSeerX 10.1.1.208.4031 . doi : 10.1109/MC.2008.65 . S2CID 14469864 .   
  15. Esam El-Araby; Ivan Gonzalez; Tarek El-Ghazawi (enero de 2009). "Aprovechamiento de la reconfiguración parcial en tiempo de ejecución para la computación reconfigurable de alto rendimiento". ACM Transactions on Reconfigurable Technology and Systems . 1 (4): 1– 23. doi : 10.1145/1462586.1462590 . S2CID 10270587 . 
  16. "Centro NSF para Computación Reconfigurable de Alto Rendimiento" . Sitio web oficial . Consultado el 19 de agosto de 2011 .
  17. "Conferencia sobre supercomputación multinúcleo y reconfigurable" . Sitio web oficial . 2011. Archivado del original el 12 de octubre de 2010. Consultado el 19 de agosto de 2011 .
  18. "Altera e IBM presentan sistemas POWER acelerados por FPGA" . HPCwire. 17 de noviembre de 2014. Consultado el 14 de diciembre de 2014 .
  19. ^ Wanta, Damián; Smolik, Waldemar T.; Kryszyn, Jacek; Wróblewski, Przemysław; Midura, Mateusz (2022). "Un método de reconfiguración en tiempo de ejecución para un sistema de tomografía de capacitancia eléctrica basado en FPGA" . Electrónica . 11 (4): 545. doi : 10.3390/electrónica11040545 .
  20. Wiśniewski, Remigiusz (2009). Síntesis de unidades de control de microprogramas compositivos para dispositivos programables . Zielona Góra: Universidad de Zielona Góra. pag. 153.ISBN  978-83-7481-293-1.
  21. "Apple2 FPGA" . Consultado el 6 de septiembre de 2012 .
  22. Niklaus Wirth. "El diseño de una arquitectura RISC y su implementación con una FPGA" (PDF) . Consultado el 6 de septiembre de 2012 .
  23. Jan Gray. "Diseño de una CPU RISC y un sistema en un chip optimizados para FPGA" (PDF) . Consultado el 6 de septiembre de 2012 .
  24. "Intel completa la adquisición de Altera" . Sala de prensa de Intel . Consultado el 15 de noviembre de 2016 .
  25. "Stratix V FPGAs: Máxima flexibilidad mediante reconfiguración parcial y dinámica" . Consultado el 15 de noviembre de 2016 .
  26. "Herramientas y características de productividad del software Intel Quartus Prime" . Consultado el 15 de noviembre de 2016 .
  27. "Manual de Quartus Prime Standard Edition , Volumen 1: Diseño y síntesis" (PDF) . Intel. págs. 4–1 . Consultado el 15 de noviembre de 2016 . 
  28. 1 2 3 4 Eckert, Marcel; Meyer, Dominik; Haase, Jan; Klauer, Bernd (30-11-2016). "Conceptos de sistemas operativos para computación reconfigurable: revisión y análisis" . Revista internacional de computación reconfigurable . 2016 : 1–11 . doi : 10.1155/2016/2478907 . ISSN 1687-7195 . Este artículo contiene citas de esta fuente, que está disponible bajo la licencia Creative Commons Attribution 4.0 International (CC BY 4.0) .

Lecturas adicionales

  • Cardoso, João MP; Hübner, Michael (Eds.), Computación reconfigurable: de FPGA al diseño de código de hardware/software , Springer, 2011.
  • S. Hauck y A. DeHon, Computación reconfigurable: Teoría y práctica de la computación basada en FPGA , Morgan Kaufmann , 2008.
  • J. Henkel, S. Parameswaran (editores): Diseño de procesadores embebidos. Una perspectiva de bajo consumo; Springer Verlag, marzo de 2007.
  • J. Teich (editor) et al.: Sistemas informáticos reconfigurables. Número especial de la revista it — Information Technology , Oldenbourg Verlag, Múnich. Vol. 49 (2007) Número 3
  • TJ Todman, GA Constantinides, SJE Wilton, O. Mencer, W. Luk y PYK Cheung, "Computación reconfigurable: arquitecturas y métodos de diseño", IEEE Proceedings: Computer & Digital Techniques, vol. 152, n.º 2, marzo de 2005, págs.  193-208.
  • A. Zomaya (editor): Manual de computación innovadora e inspirada en la naturaleza: integración de modelos clásicos con tecnologías emergentes; Springer Verlag, 2006
  • JM Arnold y DA Buell, "Programación VHDL en Splash 2", en More FPGAs, Will Moore y Wayne Luk, editores, Abingdon EE & CS Books, Oxford, Inglaterra, 1994, págs.  182-191. (Actas del Taller Internacional sobre Lógica Programable en Campo, Oxford, 1993).
  • JM Arnold, DA Buell, D. Hoang, DV Pryor, N. Shirazi, MR Thistle, "Splash 2 y sus aplicaciones", Actas de la Conferencia Internacional sobre Diseño de Computadoras, Cambridge, 1993, págs. 482–486.
  • DA Buell y Kenneth L. Pocek, "Máquinas de computación personalizadas: una introducción", The Journal of Supercomputing , vol. 9, 1995, págs.  219-230.
  • Conferencias sobre computación reconfigurable en la Universidad de Brown.
  • Introducción a la reconfiguración parcial dinámica
  • Proyecto ReCoBus-Builder para implementar fácilmente sistemas reconfigurables complejos.
  • Proyecto de investigación DRESD (Reconfigurabilidad dinámica en el diseño de sistemas embebidos) Archivado el 15/07/2008 en Wayback Machine.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Reconfigurable_computing&oldid=1360740515 "