La habilidad para integrar decenas de millones de transistores en un único chip conducirá a la implementación de sistemas que incluirán varias unidades de procesamiento o “núcleos” (core).
En lugar de hacer que fuese un único pero sofisticado procesador central el encargado de ejecutar secuencialmente todos y cada uno de los pasos de una tarea, un conjunto de procesadores más simples trabajarán en el mismo problema de forma autónoma -pero simultánea y coordinadamente-, logrando un considerable incremento en la velocidad.
Así como hoy ya se observan chips multi-core que contienen dos núcleos, en el futuro podrían existir computadoras escalables que ofrecieran la posibilidad de juntar muchos de ellos, a fin de acelerar la finalización de aquellas tareas complejas o que manejan una gran cantidad de datos.
También será posible escalar memoria, ancho de banda de las interconexiones y capacidades de entrada/salida. De esta forma, se podrá aumentar el rendimiento del sistema en forma gradual y evolucionar desde una pequeña computadora económica hasta una poderosa supercomputadora.
Reconfigurando las cosas
Esta arquitectura puede lograrse a través de la computación reconfigurable. El chip podría estar compuesto por muchas unidades de procesamiento, áreas de almacenamiento y dispositivos de entrada/salida. Dado que estas conexiones pueden alterarse enviando señales al chip, pueden ser reconfigurados por el usuario.
Incluso cada “núcleo” puede estar compuesto por bloques lógicos con conexiones internas que se podrán reescribir y reprogramar repetidamente (y convertirse así en un coprocesador gráfico, matemático, de video, etc.).
En consecuencia, y guardando un conjunto lo suficientemente extenso de configuraciones en sus bancos de memoria, el chip podría ejecutar un enorme repertorio de tareas, pasando -casi inmediatamente- de una “arquitectura” a otra sin borrar la información procesada parcialmente.
En el futuro cercano, se podría concebir el software en dos “niveles”: El primero -y más básico-, a fin de especificar la estructura interna óptima para la tarea a ejecutar, y el segundo, para correr el programa -en el sentido tradicional del software- sobre el diseño configurado. En consecuencia, estas máquinas tendrán la capacidad de auto-repararse y auto-adaptarse.
Noticia completa en Tendencias21