Análisis a Bajo Nivel de Procesadores Superescalares Reales

A. Linares, R. Paz Vicente, S. Vicente, M. A. Rodríguez Jódar, F. Díaz del Río
Universidad de Sevilla

Resumen

En esta ponencia-demo se presenta una práctica donde se analiza la influencia en el tiempo de ejecución de algunas optimizaciones sobre el código máquina para procesadores reales (familia Intel Pentium). Se propone el estudio del efecto del emparejamiento de instrucciones y de las dependencias entre registros, la aceleración obtenida con el desenrollado de iteraciones, la comparación entre instrucciones simples (del núcleo RISC) y complejas, etc. Además todo ello se ejecuta desde código ensamblador, midiendo el tiempo y otros eventos directamente sobre los Pentium, gracias a los contadores internos de monitorización del rendimiento ("Performance Monitoring Counters", PMC) de esta familia de procesadores. El alumno se enfrenta a las dificultades que supone trabajar con el sistema real y a bajo nivel. Se compara con otros métodos existentes y se describen una serie de rutinas para acceder a los contadores dando varios ejemplos de las posibilidades que brindan para el análisis de la estructura superescalar de estos procesadores.

Descarga

Ponencia completa en formato PDF
Material de la demo comprimido en un fichero zip