BitCuco

¡Hola Mundo!

Fabricantes de hardware dejan obsoletos a millones de microprocesadores

Anuncio / Advertisement

La carrera por controlar la participación de mercado en el área de los microprocesadores hace que cada fabricante de chips de computadora supere la cantidad de núcleos que se pueden colocar económicamente en un solo chip. Toda esta competencia pone cada vez más poder de cómputo en manos del consumidor. El problema principal es que el software de escritorio normal no se ha diseñado para aprovechar las nuevas arquitecturas multinúcleo. De hecho, para ver cualquier aceleración real de las nuevas arquitecturas multinúcleo, el software de escritorio necesita ser rediseñado.


Los avances más recientes en el diseño de microprocesadores para computadoras de escritorio implican poner múltiples procesadores en un solo chip de computadora. Estos diseños multinúcleo están reemplazando completamente los diseños tradicionales de un solo núcleo que han sido la base de las computadoras de escritorio hasta hace algunos años. Empresas como IBM, Sun, Intel y AMD han cambiado sus canales de chips de producción de procesador de núcleo único a producción de procesador multinúcleo. Esto ha llevado a los proveedores de computadoras como Dell, HP y Apple a cambiar su enfoque para vender computadoras de escritorio con múltiples núcleos.


Los enfoques para diseñar e implementar software de aplicación que aprovechan la arquitectura de los procesadores multinúcleo son radicalmente diferentes de las técnicas utilizadas en el desarrollo de software para un solo núcleo. El enfoque del diseño y desarrollo de software cambia las técnicas tradicionales de programación secuencial a técnicas de programación paralela y multiproceso.

Anuncio / Advertisement


La estación de trabajo estándar del desarrollador y el servidor de nivel de entrada ahora son multiprocesadores capaces de realizar instrucciones multiproceso y procesamiento paralelo a nivel de hardware. Aunque la programación secuencial y el desarrollo de aplicaciones de núcleo único tienen un lugar y continuarán con nosotros, las ideas de diseño y desarrollo de aplicaciones multinúcleo ahora están en su apogeo.

La nueva arquitectura de microprocesadores


Un multinúcleo es un diseño de arquitectura de procesador que coloca múltiples de éstos en un solo chip de computadora. Cada procesador se llama núcleo. A medida que aumentaba la capacidad del chip, se hizo práctico colocar múltiples procesadores en un solo chip. Estos diseños se conocen como multiprocesadores de chips (CMP) porque permiten el multiprocesamiento de un solo chip. Multinúcleo es simplemente un nombre popular para CMP o multiprocesadores para un solo chip.

El concepto de multiprocesamiento de un solo chip no es nuevo, y los fabricantes de chips han estado explorando la idea de crear procesadores con múltiples núcleos desde la década de 1990. Recientemente, el CMP se ha convertido en el método preferido para mejorar el rendimiento general de las computadoras. Ésta es una desviación del enfoque de aumentar la frecuencia del reloj o la velocidad del procesador para lograr ganancias en el rendimiento general del sistema. El aumento de la frecuencia del reloj ha comenzado a alcanzar sus límites en términos de rentabilidad, ya que una frecuencia más alta requiere más potencia, lo que hace que sea más difícil y costoso para enfriar el sistema. Esto también afecta las consideraciones de tamaño y empaque. Entonces, en lugar de tratar de hacer que el procesador sea más rápido para obtener rendimiento, la respuesta ahora es solo agregar más procesadores.

Anuncio / Advertisement


Para los desarrolladores de software que están familiarizados con el multiprocesamiento, el desarrollo multinúcleo estará familiarizado. Desde un punto de vista lógico, no existe una diferencia real significativa entre la programación para múltiples procesadores en paquetes separados y la programación para múltiples procesadores contenidos en un solo paquete en un solo chip. Sin embargo, puede haber diferencias de rendimiento porque los nuevos CMP continúan avanzando en arquitecturas de bus y en conexiones entre procesadores, de modo que esto puede hacer que una aplicación que se escribió originalmente para varios procesadores se ejecute más rápido cuando se ejecuta en un CMP.

Anuncio / Advertisement

Además de las posibles ganancias de rendimiento, el diseño y la implementación son muy similares. Para los desarrolladores que solo están familiarizados con la programación secuencial y el desarrollo de un solo núcleo, el enfoque multinúcleo ofrece muchos nuevos paradigmas de desarrollo de software, tales como multiproceso, proceso paralelo y su extensión hacia varios núcleos.


Arquitecturas multinúcleo


Los CMP vienen en múltiples formas: configuraciones de dos procesadores (doble núcleo), cuatro procesadores (cuatro núcleos) y ocho procesadores (octa-núcleo). Algunas de las configuraciones son multiproceso. Hay ciertas variaciones en la forma en que se administran la memoria caché y la memoria en los nuevos CMP. Los enfoques para la comunicación de procesador a procesador varían entre diferentes implementaciones. Las implementaciones de CMP de los principales fabricantes de chips manejan el bus de E/S y el bus frontal (FSB) de manera diferente.

Algunos diseños multinúcleo admiten multihilo dentro de sus núcleos. Por ejemplo, un procesador de doble núcleo multihilo podría presentarse lógicamente como un procesador de cuatro núcleos para el sistema operativo. De forma que el multiprocesador también puede albergar varios hilos de ejecución.

Para aprovechar la insfraestructura de la mejor forma, la industria del software debe dar un giro hacia el uso de éstas arquitecturas, así como el uso de multihilo, multiproceso y programación paralela dentro de sus paradigmas de procesador, no solo para las computadoras de escritorio, sino para los dispositivos móviles y hardware multicore de sistemas embebidos, ¡Todo un reto!

Anuncio / Advertisement

Por último, dentro de las aplicaciones más recientes del uso de múltiples procesadores se destaca la programación con GPUs para juegos de alto rendimiento y de realidad aumentada, minería de criptomonedas, cálculos científicos y otros usos en donde el poder de cómputo es significativamente grande.

Anuncio / Advertisement
0 0

Sobre el Autor

BitCuco

BitCuco. El Blog para los desarrolladores emergentes.