Chips a medida
1997/02/01 Urkizu, Urtzi | Waliño, Josu - Elhuyar Fundazioa Iturria: Elhuyar aldizkaria
En general, el diseño de software puede considerarse más sencillo que el diseño de hardware. En el 99% de los casos, la mejor solución a un problema digital es la adquisición de un chip estándar y la redacción de un software que indique el trabajo que debe realizar. Sin embargo, algunos científicos han querido hacer el camino al revés y, por lo visto, han conseguido buenos resultados. Con el éxito de este camino se reduciría enormemente el tiempo y la cantidad de dinero que se emplea en el diseño de chips.
Los chips tradicionales están constituidos por millones de elementos nimiños en forma de sumideros e inversores. Clasificar y conectar todos ellos es un trabajo muy especializado, intensivo y largo. Por ello, varios grupos de investigadores han querido perfeccionar y facilitar esta labor a través de paquetes de software denominados compiladores hardware. Estos paquetes devuelven el listado de componentes y conexiones necesarias para completar el chip que cumple sus funciones, tomando cualquier programa de aplicación. A continuación, otro software toma estas listas conocidas como Listas de Red y las convierte en diseños concretos de chips que se podrán grabar directamente en silicio.
Sin duda, todo ello abre un nuevo camino en el diseño de chips, ya que cualquier persona que no sepa diseñar hardware podrá diseñar un chip adaptado a sus necesidades. Además, estas listas de redes incrementarían la capacidad de la nueva generación de chips programables que cambiarían las conexiones internas en cualquier momento.
Ventaja de la velocidad
Sin embargo, las ventajas de estos nuevos chips no se limitan al simple diseño. En general, los trabajos que puede realizar un PC normal son muy diferentes: va del juego al procesador de textos pasando por un programa de diseño. Las aplicaciones software son órdenes escritas en un lenguaje de alto nivel, que pasan por un compilador soft que hace entender estas órdenes al ordenador. Por ello, durante la ejecución de la aplicación, se toma su código compilado y se compara en todo momento con una lista general que contiene el procesador principal del PC. Si se dispone del chip correspondiente a cada programa, el procesador distribuiría el trabajo y realizaría estas comparaciones con listas más pequeñas. Esto supondría una reducción del tiempo de ejecución y, en consecuencia, una aceleración extraordinaria de la velocidad.
Además de las citadas anteriormente, esta nueva vía de diseño tiene la ventaja adicional de poder preparar hardware para procesar de forma paralela dos partes del trabajo que va a realizar. Por ejemplo, el tiempo necesario para unir una larga lista de números se puede dividir en dos, dividiendo la lista en dos, añadiendo cada parte en un circuito y sumando ambas.
Sin duda, la mejor solución sería tener chips adaptados a las necesidades de cada usuario para ahorrar tiempo y, según parece, se está trabajando en ello. La principal dificultad que han encontrado hasta ahora ha sido encontrar un sistema sencillo para convertir software en hardware, ya que es muy difícil crear conexiones adecuadas entre componentes electrónicos. Hay que tener en cuenta que un lector, un programa normal necesita cerca de 500.000 componentes para funcionar correctamente.
El diseñador tradicional utiliza herramientas con ayuda de ordenador para localizar y conectar diferentes componentes y testea los resultados mediante un software de simulación. Los compiladores de hardware, por su parte, modifican el proceso habitual de fabricación de chips, creando una lista de componentes a conectar a partir del software para obtener el equivalente de hardware.
Un paquete de simulación que utilizan los diseñadores de chips actuales (VHDL) puede hacer parte de este trabajo, pero genera lagunas de tiempo (gap) que son difíciles de solucionar. Las grandes empresas que hasta ahora utilizaban VHDL y el software asociado (como Hewlett Packard) se han interesado por compiladores de hardware. Y el porqué de este comportamiento está claro: los compiladores van a abaratar enormemente la producción de chips.
Conexiones adecuadas
Los investigadores han tratado de construir compiladores para ser usadas. Por ejemplo, un equipo de la Universidad de Toronto ha conseguido construir un compilador de hardware llamado Transmogrifier que compagina aplicaciones realizadas en lenguaje de programación C. Es previsible que millones de usuarios en el mundo conozcan el lenguaje C —y que su capacidad sea muy elevada— sea muy ventajosa.
Varios investigadores ya han utilizado esta técnica para desarrollar chips a medida, como el control de módems. Otro equipo detecta el movimiento de imagen de la cámara de vídeo y desarrolla el chip que sigue este movimiento. La velocidad es un factor determinante para estas obligaciones: la cámara aporta 25 imágenes por segundo, por lo que para presentar cada imagen de forma individual se requiere un procesamiento de datos muy rápido.
A las puertas del futuro
Como hemos explicado, las ventajas son muchas y variadas, pero los compiladores hardware también tienen algunos inconvenientes. En general, los chips fabricados con este sistema son menos efectivos que los realizados en procesos manuales. Cuando hay que buscar una solución a un problema, el hombre sabe elegir el camino más adecuado, pero la máquina no. Los compiladores aplican principios generales y las soluciones ofrecidas no siempre son las más adecuadas en todas las situaciones. No obstante, se considera que en breve se solucionará este problema.
Por supuesto, en nuestros hogares todavía no ha llegado ningún mecanismo de este tipo, pero en muy poco tiempo no nos resultará tan extraño la nueva combinación de hardware y software.
Gai honi buruzko eduki gehiago
Elhuyarrek garatutako teknologia