Instrucción Cpuid Caché, Hyperthreading, y Simd

Páginas: 54 (13497 palabras) Publicado: 2 de septiembre de 2011
“Instrucción CPUID: Caché, HyperThreading, y SIMD”

RESUMEN

Conocer las características del procesador sobre el que correr una aplicación es de suma importancia para poder adaptar la misma de acuerdo a lo que ofrezca la CPU, para de esa manera mejorar su performance. El presente trabajo de investigación ofrece un panorama de tecnologías tales como memoria cache, HyperThreading einstrucciones SIMD, mostrando sus ventajas y desventajas sobre una arquitectura x86. Por otro lado se muestra la utilización de la instrucción CPUID, provista por Intel y AMD, para descubrir las características ofrecidas por el procesador sobre un sistema operativo de propósito pedagógico.

1. INTRODUCCION

Con el paso del tiempo los procesadores se han vuelto cada vez más potentes y rápidos loque ha permitido grandes avances en variadas áreas de aplicación. Pero esto también ha contribuido a un aumento de la complejidad del diseño de los mismos y del consumo de energía de ellos. Lo que hace más difícil obtener aumentos significativos de performance en aplicaciones que corran sobre ellos si se desconoce cómo utilizar de manera correcta muchas de las características que se tratan eneste trabajo. Esto es de especial importancia en áreas que han visto un crecimiento exponencial en los últimos tiempos, tales como las telecomunicaciones y la multimedia. En este sentido es preciso considerar el uso correcto de características tales como memoria caché, multiprocesamiento simultaneo y uso de instrucciones SIMD; como así también los problemas que puede generar la utilización incorrectade las mismas y su impacto negativo en la performance tanto a nivel aplicativos como a nivel de sistema operativo. Datos sobre tamaño y funcionamiento de los diferentes niveles de caché presentes son fundamentales para una correcta optimización del software; mientras que la información concerniente a la cantidad de procesadores físicos y lógicos (HyperThreading) es necesaria si se precisaprogramar un kernel que soporte la ejecución en paralelo de diferentes hilos. El soporte de las instrucciones del tipo SIMD (Single Instruction, Multiple Data) es necesario para sacar el mayor provecho de la vectorización del software y consiste en el tipo de paralelismo a nivel instrucción que mayor impacto ha tenido en el desarrollo de aplicaciones multimedia.
El presente trabajo se encuentraestructurado de la siguiente manera: la sección 2 presenta una mirada sobre el concepto de HyperThreading, la sección3 hace lo mismo con respecto a memoria cache, mientras que la sección 4 se enfoca en el concepto de instrucciones SIMD y como se encuentran implementadas las mismas en una arquitectura Intel, por último en la sección 5 se presentan las conclusiones.

2. HYPERTHREADING

HyperThreadinges una implementación propietaria de Intel del concepto de multitarea simultánea (conocido como SMT). Este concepto es una técnica para mejorar la eficiencia de ejecución de un procesador superescalar[1] utilizando soporte para multitarea directo en el hardware. SMT permite a varios threads de ejecución correr en la misma CPU al mismo tiempo de esa manera se utilizan mejor los recursos provistospor arquitecturas modernas. Esto se logra haciendo que instrucciones de varios threads se ejecuten en cualquier etapa del pipeline al mismo tiempo.
La tecnología HyperThreading de Intel hace a un procesador físico comportarse como si fuera dos procesadores lógicos. Los recursos de ejecución son compartidos y el estado del procesador se encuentra duplicado para los dos procesadores lógicos. Estosignifica que un sistema operativo puede planificar dos threads para ejecutarse en un solo procesador al mismo tiempo, como si estuviera planificando para dos procesadores distintos. Y por otro lado las instrucciones de ambos threads se van a ejecutar al mismo tiempo en recursos de ejecución de la CPU compartidos.
Hoy en día muchos tipos distintos de software utilizan multiprocesamiento a nivel de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ciclo de instruccion cpu
  • no cacho
  • Cachas
  • CACH
  • cache
  • Cacha
  • De Cache
  • Cacha

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS