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