Origen ©
By Ingeniero Juan Carlos Gutiérrez Martinéz . Pereira - Colombia
(Nota del autor: El siguiente contenido corresponde al capítulo 1. CONTEXTO HISTORICO de mi Tesis de grado denominada "MANUAL PARA EL PROCESO DE IMPLEMENTACIÓN DE ALGORITMOS EN UNA ARQUITECTURA DE COMPUTACIÓN RECONFIGURABLE SOBRE LA PLATAFORMA RASC DE SGI" calificada con nota "Sobresaliente", en la Universidad Tecnológica de Pereira. He omitido las imágenes inicialmente mientras verifico el tipo de licencia de estas. Información o contacto en
Mientras en Minnesota, Seymour Cray, considerado “el padre de la supercomputación”[1], en 1959 culminó el CDC 1604, el primer computador fabricado en su totalidad con transistores, dejando atrás el uso de tubos al vacío[2]; en la Universidad de los Ángeles, California, UCLA (*), el científico Gerald Estrin, durante el verano de ese mismo año, inmerso en si mismo se dedica a hallar solución al reto planteado por John Pasta (**), de proponer nuevas formas de organizar los sistemas de cómputo y los avances de las investigaciones ponerlas en conocimiento del dominio público con la esperanza que estos condujeran a un aumento del desarrollo de computadores en el dominio privado[3].
El reto sugerido por John Pasta tuvo su origen en la necesidad de resolver problemas computacionales de vital importancia que los computadores disponibles a finales de la década del 50 no estaban en posibilidad de resolver.
Como resultado de las investigaciones de Gerald Estrin y su equipo de trabajo, en mayo de 1960, presentaron el documento: “Organization of Computer Systems—The Fixed Plus Variable Structure Computer”[4].
En el documento, el Dr. Gerald Estrin sustentó el desarrollo de una nueva arquitectura, (figura 1), un computador hibrido, que combina un procesador de propósito general, “Fixed”, y una matriz de bloques configurables de acuerdo a tareas particulares, con la característica de poder ser reconfigurados para otras tareas, a la que denominó “Variable” y cuyo comportamiento es controlado por el procesador de propósito general.
En la figura 1,se muestra la relación entre el procesador de propósito general, identificado con la letra “F”, la matriz de bloques reconfigurables identificada con la letra “V”,las entradas y salidas, identificadas con la letra “I”, la unidad de control supervisora, identificada con la letra “S” y los humanos, identificados con la letra “H”.
Figura 1. Relación entre los elementos del sistema hibrido.

Fuente. ESTRIN, Gerald. Reconfigurable computer origins: the UCLA fixed-plus-variable (F+V) structure computer. En: Annals of the History of Computing, IEEE. Octubre y diciembre, 2002, vol. 24, 4 ed., p. 4. ISSN: 1058-6180
Aunque el Dr. Estrin construyo una maquina para demostraciones, (figura 2), su idea no logró imponerse[5] y solo fue hasta 1984, en la que un circuito integrado, denominado FPGA (*), que puede ser reprogramado por el usuario con la ayuda de software, fuese inventado por Ross Freeman[6], cofundador de XILINX[7], el que abriera las puertas para el renacimiento del concepto planteado en 1960, de un sistema con un componente programable variable (**).
Figura 2. Sistema fijo y variable para demostración.

Fuente. ESTRIN, Gerald. Reconfigurable computer origins: the UCLA fixed-plus-variable (F+V) structure computer. En: Annals of the History of Computing, IEEE. Octubre y diciembre, 2002, vol. 24, 4 ed., p. 5. ISSN: 1058-6180
Para el año 1985, el lenguaje para describir hardware, VHDL[8], necesario para programar (*) los circuitos integrados FPGA, es presentado al público, fruto del desarrollo realizado por un equipo conformado por investigadores de las compañías IBM, Texas Instruments e Intermetrics, que fueron encargadas por el departamento de defensa de los Estados Unidos de América para desarrollar una herramienta para describir hardware en circuitos integrados de altísima velocidad (VHSIC).
La primera versión de VHDL disponible al público fue la 7.5, la cual luego de mejorarla, fue estandarizada[9] en 1987, por el “Institute of electrical and electronic engineers” IEEE, y reconocida por “American National Standard Institute”, ANSI. Esta versión estándar fue actualizada por primera vez en 1993 (**).
Las condiciones para hacer nuevos sistemas basados en el modelo planteado por PhD. Gerald Estrin, están dadas y desembocan en la computación reconfigurable.
[1] CRAY – THE SUPERCOMPUTING COMPANY. A Man Whose Vision Changed the World [Documento en línea]. 11, 09, 2008 [consultado en 24,05, 2009]. 4 p. Disponible en Internet:
[2] Ibid., p. 1.
(*) University of California, Los Angeles
(**) Físico y matemático, en 1959 presidente del comité asesor de investigación en matemáticas y ciencias de la computación para la comisión de energía atómica de los Estados Unidos de América.
[3] ESTRIN, Gerald. Reconfigurable computer origins: the UCLA fixed-plus-variable (F+V) structure computer. En: Annals of the History of Computing, IEEE. Octubre y diciembre, 2002, vol. 24, 4 ed., p. 3. ISSN: 1058-6180.
[4] Ibid., p. 4
[5] THE ECONOMIST.. Reconfigurable Systems Undergo Revival. 22, 05, 1999, vol. 351, no. 8120, p. 89. Citado por: ESTRIN, Gerald. Reconfigurable computer origins: the UCLA fixed-plus-variable (F+V) structure computer. En: Annals of the History of Computing, IEEE. Octubre y diciembre, 2002, vol. 24, 4 ed., p. 4. ISSN: 1058-6180.
(*) FPGA, acrónimo en ingles de: Field Programmable Gate Array., en español:: Arreglo de compuertas programables en campo, sin embargo se utiliza la sigla para hacer referencia a estos dispositivos como FPGA
[6] XILINX, How Xilinx Began [documento en línea]. 2009. [Consultado en 24, 05, 2009]. Disponible en Internet:
(**) Con la palabra “variable” se hace referencia a que puede cambiar su estado de funcionamiento reprogramándolo.. (El autor).
[7] XILINX, How Xilinx Began.
[8] NAZEIH M. Botros. HDL Programming Fundamentals: VHDL and Verilog + With CD. Wiley-India, 2006. 506 p. ISBN 8177226975, 9788177226973. p. 2. [Consultado en 24, 05, 2009] [Versión parcial en línea]. Disponible en: < https://books.google.com.co/books?id=L0PB2VWg7PgC&pg=PA2&lpg=PA2&dq=hdl+department+of+defense&source=bl&ots=O0S_PkdexT&sig=9xGMSXOGoUHBZEsv_t07GxicE8I&hl=es&ei=IfEZSqzfH5DFtge6mICBDQ&sa=X&oi=book_result&ct=result&resnum=5#PPA2,M1>.
(*) Cuando se describe un hardware en una FPGA, se hace referencia a “Mapping” en ves de “programar” dado que en las FPGA se trazan rutas, (Routing), entre los bloques que la componen para que realice la tarea específica deseada. (El autor)
[9] Ibid., p. 2
(**) La versión estándar, mas reciente, vigente en 25, 5, 2009, es la IEEE std 1076-2008. Disponible en Internet en: < https://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&isnumber=4772739&arnumber=4772740&punumber=4772738>

