Vatios: Simulador de Procesador con Estimación de Potencia

Vatios: Simulador de Procesador con Estimación de Potencia Juan Antonio Victorio Enrique F. Torres Moreno Victor Viñals Yúfera Grupo de Arquitectur

2 downloads 73 Views 416KB Size

Recommend Stories


Rango de salida A soldadura CD 3000 Vatios de potencia de CA
SOLDADORAS TIPO GENERADOR CON MOTOR A DIESEL SAE-300® HE Procesos Electrodo Revestido, TIG, MIG(1), Alambre tubular(1), Desbaste (1) soldadura con a

Lámparas. Germicidas UV. Cómo funciona? Potencia de la lámpara (Vatios) 15W 30W
Juan Pablo López Maria Velazco Nicolas Solano Ana María Martínez Jose Sabino Lámparas Germicidas UV Lámpara  Germicida  UV  para  destruir  micro-org

AMPLIFICADOR DE CAJUELA DE 50 VATIOS
AMPLIFICADOR DE CAJUELA DE 50 VATIOS MANUAL DEL PROPIETARIO Por favor lea antes de usar este equipo. Cat. No. 12-1970 CARACTERISTICAS Su Amplificad

Story Transcript

Vatios: Simulador de Procesador con Estimación de Potencia Juan Antonio Victorio

Enrique F. Torres Moreno

Victor Viñals Yúfera

Grupo de Arquitecturas de Zaragoza Universidad de Zaragoza [email protected]

Grupo de Arquitecturas de Zaragoza Universidad de Zaragoza [email protected]

Grupo de Arquitecturas de Zaragoza Universidad de Zaragoza [email protected]

Resumen 1. Introducción El consumo energético, así como el calor disipado por un procesador han ido creciendo en importancia como factor a la hora de diseñar un procesador CMOS. Es por lo tanto interesante tener una estimación de la potencia disipada por un procesador a la hora de diseñarlo, además de poder comparar las distintas opciones de diseño para elegir la más adecuada teniendo en cuenta el consumo. Existen varios simuladores que calculan la potencia consumida por un procesador utilizando distintas técnicas y consiguiendo mayor o menor precisión. Wattch [1] es un simulador, basado en SimpleScalar [2] que incluye un modelo para el consumo del procesador y se ha convertido en la herramienta más usada para calcular consumo en artículos presentados en conferencias internacionales sobre arquitectura de computadores. Sin embargo Wattch presenta ciertas deficiencias en su modelo de consumo y carece de flexibilidad a la hora de simular distintas tecnologías o frecuencias. En este artículo se presenta Vatios, una infraestructura basada en Wattch, que permite calcular la potencia disipada por un procesador de una manera más correcta y flexible. Vatios ha sido desarrollado pensando en su integración con otros simuladores ya existentes, sean o no basados en SimpleScalar, con el fin de añadir estimación de consumo a las simulaciones. Por último se presenta sim-gaz, un simulador con cálculo de potencia que modela una arquitectura más representativa de los procesadores actuales, basada en ROB + IQ, jerarquía de memoria basada en LSQ y cola de peticiones L2 y ejecución especulativa con predicción de latencia.

El consumo en procesadores CMOS de altas prestaciones ha ido creciendo como factor relevante a la hora de diseñar un procesador hasta llegar a ser uno de los factores clave. Un mayor valor de consumo implica una necesidad energética mayor, lo que supone un problema para los grandes centros de cálculo. Además se reduce la autonomía en dispositivos portátiles como ordenadores portátiles o PDA’s. Por otro lado, el creciente calor disipado en un área tan reducida (densidad de potencia) implica añadir complejos sistemas de disipación, ventilación e incluso refrigeración. La importancia del consumo y el calor en procesadores ha llegado hasta tal punto, que algunas de las últimas generaciones de procesadores el consumo es una barrera que limita el rendimiento [8]. El consumo en un procesador proviene de dos fuentes, el consumo estático y el consumo dinámico. El consumo estático es el consumo que se produce debido a corrientes de fuga (leakage) existentes en los transistores. El valor de este consumo depende de características de la tecnología que se emplea, el número de transistores y la temperatura de funcionamiento del circuito. El consumo dinámico se produce debido a la carga y descarga de la capacidad de los transistores y los buses, y depende de la actividad del circuito. Como arquitectos, necesitamos herramientas que permitan calcular estos consumos en etapas tempranas de diseño, con el objetivo de elegir tomar las decisiones más acertadas lo antes posible.

116

Arquitectura del Procesador, Multi-núcleo y Multiprocesadores

En la siguiente sección se presentarán los simuladores disponibles que tienen en cuenta el consumo y sus características. A continuación se introducirá Wattch, que es uno de estos simuladores, y sus características, para después presentar las deficiencias encontradas y proponer una alternativa: Vatios, su uso y su modificación para necesidades concretas. También se introducirá el simulador sim-gaz. Por último se hablará sobre las conclusiones y el trabajo futuro.

Sin embargo, el hecho de que no modele un procesador completo, y no mida la actividad del procesador al ejecutar una carga de trabajo representativa, hace que no sea el simulador más adecuado para calcular el consumo de procesadores. Por último existe otro tipo de simuladores, que calcula el consumo en base a la ejecución de trazas de cargas representativas, midiendo la actividad. Dentro de este estilo de simuladores, el más popular es Wattch.

2. Estado del arte 3. Características de Wattch Actualmente existen distintos tipos de herramientas que permiten modelar el consumo de un procesador. Las herramientas más generales son los simuladores tipo Spice. Con estos simuladores se consiguen los resultados más precisos, aunque presentan varios inconvenientes para ser utilizados en etapas tempranas de diseño. El primero de estos inconvenientes es que necesitan una descripción completa del procesador, incluyendo la implementación física del procesador (layout). El segundo de los inconvenientes es su elevado coste computacional, ya que para calcular con tal precisión los valores de potencia, es necesario resolver una gran cantidad de ecuaciones. Por estos dos motivos, parece inviable simular el consumo de un procesador con un simulador de este estilo, y mucho menos simular una carga de trabajo representativa como puede ser un juego de Benchmarks SPEC. Afortunadamente, muchos componentes de un procesador son estructuras regulares, por ejemplo, las memorias cache. Algunos simuladores aprovechan esta característica para poder realizar sus simulaciones con un tiempo de ejecución mucho menor. Este es el caso de CACTI [4]. CACTI es una herramienta que calcula los principales parámetros de memorias cache, como son tiempos de acceso, tiempos de ciclo, área de silicio, y consumo, tanto estático como dinámico. La principal ventaja que ofrece CACTI es que en un tiempo corto, y solamente a partir de parámetros arquitectónicos de la memoria cache (tamaño, asociatividad, número de puertos,…), es capaz de ofrecer resultados con márgenes de error dentro del 10% del resultado que se obtendría con SPICE.

Wattch es un simulador presentado en el ISCA 2000, basado en SimpleScalar y que añade un modelo de potencia/consumo. Wattch toma como entrada la definición del procesador y una traza o ejecutable a simular. Tras la simulación de la traza, Wattch muestra la potencia de pico de cada una de las unidades que componen el procesador, así como el consumo producido durante la ejecución. Para cada unidad se muestran 4 valores de consumo, que reflejan los consumos calculados aplicando 4 estilos distintos de Clock Gating. El Clock Gating es una técnica que inhibe la señal de reloj a determinadas zonas de un circuito para que no se produzca conmutación los ciclos que esa zona esta inactiva. Los 4 estilos de Clock Gating que define Wattch son los siguientes: • NCC: No aplicar Clock Gating • CC1: Clock Gating simple, una unidad bien esta inactiva, con un consumo nulo, o bien su consumo es el 100% del consumo máximo. • CC2: Clock Gating lineal ideal, en el que el consumo de una unidad es lineal en función de los recursos utilizados durante cada ciclo (por ejemplo, número de puertos en un banco de registros). • CC3: Clock Gating lineal no ideal, similar al anterior, pero añadiendo un 10% de consumo en caso de que la unidad no se utilice. Para obtener estos resultados, Wattch calcula la potencia máxima de cada una de las unidades antes de iniciar la simulación de la traza o del ejecutable. Durante la simulación en si, se cuenta el número de accesos a cada unidad, para al final del ciclo de simulación calcular, utilizando las fórmulas del Clock Gating, cuánto consumo se ha

XVIII Jornadas de Paralelismo, Zaragoza 2007 producido y acumularlo en unos contadores de consumo global de la simulación. Para calcular la potencia de pico de cada unidad, Wattch las clasifica en 4 tipos: unidades tipo RAM, unidades tipo CAM (lógica asociativa), unidades basadas en lógica combinacional y distribución de reloj. Las dos primeras están modeladas de forma genérica mediante funciones que calculan la potencia de las distintas partes de una memoria RAM y de una memoria CAM en función del número de filas, columnas y puertos. Dentro de todas las funciones que calculan potencia en Wattch, se acaban realizando llamadas a funciones de la librería de la herramienta CACTI 1.0 [3], que calculan la capacidad de los distintos componentes. Además se utiliza CACTI para obtener los parámetros de subbanking de las memoria cache. Existen ciertas unidades, como por ejemplo el banco de registros, para las que Wattch, además de contar el número de accesos, tiene en cuenta la actividad (proporción de 1’s y 0’s) a nivel de bit en los resultados. Esto permite calcular de modo más fino el consumo en estas unidades. Wattch es ampliamente utilizado en artículos de investigación presentados diversos congresos del área. Además se han creado versiones que mejoran determinados aspectos, como por ejemplo el modelo de las ALU’s, mejorado en el simulador FU-Wattch [7]. En las siguientes subsecciones se va a describir el modelo de potencia de las unidades en Wattch. 3.1. Renombre, decodificación y predictor Wattch modela la lógica de renombre como el cómputo de la potencia de la tabla de renombre RAT (Register Alias Table), modelada como una memoria RAM, más el consumo de la lógica de chequeo de dependencias (DCL) modelada como un circuito combinacional. Además, a esta unidad se añade la potencia de la lógica de decodificación, modelada como una RAM. Se modela un predictor de saltos convencional, cuya potencia se modela como la suma de varias tablas RAM. No se modelan las lecturas al predictor.

117

3.2. Ventana de instrucciones y cola Load-Store La ventana de instrucciones se modela como la suma de tres componentes: Lógica de despertado, lógica de selección y estaciones de reserva. La lógica de despertado se modela como una memoria CAM, la lógica de selección esta modelada como un circuito combinacional y las estaciones de reserva se modelan como una memoria RAM. La potencia de la cola Load-Store se modela como la suma de dos componente: Una memoria CAM para la lógica de despertado más una memoria RAM para los registros. Wattch incluye además una función que calcula la potencia en el bus de resultados. 3.3. Memorias cache El TLB, tanto de datos, como de instrucciones se modela como una memoria CAM + RAM. La potencia de la cache se modela como una memoria RAM para etiquetas más una para datos. El resultado de este cálculo se multiplica por el número de puertos y por el número de subbancos. El modelo para la cache de instrucciones es análogo, considerando 1 puerto. Para la cache de nivel 2, se llama a CACTI para buscar la mejor opción de subbanking. Para calcular la potencia de la unidad, se tiene en cuenta la potencia de un solo subbanco modelado como una RAM para etiquetas más una para datos. 3.4. Reloj Wattch define una función para el cálculo de la potencia disipada por la distribución del reloj, a la que contribuyen 3 factores: Líneas de distribución de la señal, buffers intermedios y carga de registros a los que llega la señal. Para calcular el valor del consumo de la señal de reloj, según los distintos estilos de clock gating, se utiliza el consumo del total del resto de unidades se aplica el factor definido en la ecuación (1) donde ccx puede ser cc1, cc2 o cc3.

clock_ ccx = clock_ ncc*

total _ ccx total _ ncc

(1)

118

Arquitectura del Procesador, Multi-núcleo y Multiprocesadores

4. Deficiencias encontradas en Wattch Las características de Wattch hacen que sea una herramienta muy útil a la hora de realizar un estudio en arquitectura de computadores, sin embargo, Wattch no esta libre de errores. El primer problema con el que se encuentra un usuario de Wattch es la falta de documentación del simulador, ya que la única documentación disponible se limita al artículo presentado al congreso ISCA 2000. Este artículo da pocos detalles de su funcionamiento interno y del modelo de procesador que utiliza a la hora de calcular el consumo. Otro inconveniente que surge al utilizar Wattch es la falta de flexibilidad a la hora de definir parámetros de consumo como son la tecnología de fabricación y la frecuencia de reloj. Ambos parámetros son clave en el cálculo de la potencia/consumo y no pueden ser modificados sin recompilar el simulador. Entrando más a fondo en la implementación del simulador, se pueden observar otras deficiencias, como por ejemplo modelar el consumo de un procesador basado en Reorder Buffer + Ventana de Intrucciones [5][6] cuyo segmentado se muestra en la Figura 1 sobre un simulador basado en Estaciones de reserva.

Figura 1 Segmentado del procesador del que modela el consumo Wattch Por otro lado, Wattch modela el consumo de la unidad de renombre, sin que ni si quiera el comportamiento de ésta esté modelada en la arquitectura del simulador, modelándose su comportamiento funcional. En el plano del cálculo de potencia, Wattch, además de sus propias fórmulas, utiliza llamadas a la librería de CACTI, no solamente para saber los parámetros de subbanking de las caches, sino también para calcular determinadas capacidades, a partir de las cuales se calcula posteriormente la potencia. CACTI 1.0 trabaja sobre la escala tecnológica de 800 nm, y Wattch por defecto trabaja a la escala de 350 nm, por lo tanto, en esta herramienta

se mezclan resultados para dos tecnologías distintas. Otro inconveniente de Wattch es que no modela el consumo de energía estática, que ha crecido en importancia con respecto al consumo de energía dinámica según ha aumentado la escala de integración.

5. Vatios Como alternativa a Wattch se propone Vatios, un conjunto de herramientas que mejoran a Wattch en varios aspectos. En primer lugar, el simulador sim-vatios, que incluye la misma arquitectura que Wattch y SimpleScalar, para facilitar su adopción por otros grupos de trabajo. Este simulador, basado en Wattch tiene la misma funcionalidad, aportando una serie de ventajas. La escala tecnológica y la frecuencia de funcionamiento pueden ser elegidas en el momento de la ejecución, pudiendo realizar un barrido para distintas escalas tecnológicas sin tener que recompilar la aplicación, como haríamos con Wattch. La versión de la herramienta CACTI ha sido actualizada a la versión 4.2. Esta versión puede trabajar a distintas escalas tecnológicas, sin tener que recompilar, con lo que los resultados de las llamadas a CACTI reflejan los valores de la tecnología que el usuario desea. Además al actualizar la versión de CACTI, debido a mejoras de esta herramienta, cambian los resultados del cálculo de sub-banking de las memorias cache. Con vatios se permite tener tantos modelos que calculen la potencia de una unidad como el usuario desee. Un ejemplo representativo es el de las memorias cache. Además del modelo de potencia que incluye Wattch, se ha añadido un modelo que utiliza CACTI 4.2 para calcular la potencia de las memorias cache, ya que la herramienta CACTI 4.2, a diferencia de CACTI 1.0 es capaz de calcular la potencia disipada por las caches que modela. Como era de esperar, sabiendo que Wattch utiliza CACTI 1.0 para calcular no solo el subbanking de las caches, sino también la capacidad del resto de componentes del procesador, y que estos valores, no están escalados correctamente, el resultado del cálculo de la potencia varía considerablemente. Con una

XVIII Jornadas de Paralelismo, Zaragoza 2007

119

diferencia todavía mayor en el caso de las memorias cache, ya que con Vatios se puede dejar que sea CACTI quien calcule la potencia de la memoria. Estos resultados pueden verse en la Tabla 1.

de sim-vatios o Wattch, por lo tanto, con el uso de esta herramienta conseguimos un ahorro de tiempo computacional. El fichero con la información de uso/actividad es generado automáticamente por sim-vatios, pero al tratarse de un fichero de texto con una serie de parámetros en un formato determinado, es sencillo generar ese mismo fichero, añadiendo pequeñas modificaciones, desde otros simuladores, basados o no en SimpleScalar.

Potencia Máxima(W) Renombre Data Cache

Wattch

Vatios

0,42

0,24

6,12

2,02

Otros

39,53

27,25

Total

46,08

29,52

Tabla 1 Potencia por unidades Wattch vs. Vatios Otro de los cambios importantes introducidos, es que sim-vatios no calcula energía ciclo a ciclo. En lugar de esto, solamente guarda información sobre el uso/actividad de las unidades. Esta información, es usada, al final de la simulación, y no al final de cada ciclo, para calcular la energía consumida por el procesador. Este sistema tiene algún inconveniente, como no poder calcular el ciclo de consumo máximo. Lo interesante de este modo de calcular el consumo, es que tras la simulación de la traza de ejecución (Figura 2), se puede fácilmente volcar a un fichero la información de uso/actividad del procesador a lo largo de esa simulación, para posteriormente reutilizarla con otra herramienta, power-vatios (Figura 3), para realizar más simulaciones, sobre la misma traza de ejecución, variando modelos de potencia, escala tecnológica, frecuencia de funcionamiento, y en general, cualquier parámetro que no altere la temporización del procesador, y por lo tanto las estadísticas de uso de sus unidades.

Figura 3 Escenario de ejecución de power-vatios. Vatios viene acompañado de documentación en inglés, para llegar al máximo público posible. Por un lado, el manual de usuario explica el funcionamiento de las herramientas, cómo se realizan las simulaciones y qué nuevos parámetros de simulación han sido añadidos (tecnología, frecuencia,…), así como los parámetros necesarios para volcar la información de acceso uso a fichero, para utilizarla después con powervatios. Por otro lado, se ha escrito un manual del programador, que incluye la información necesaria para que cualquier usuario pueda añadir nuevos escalas de integración, nuevas unidades y modelos de potencia y adaptar el toda la infraestructura a otro simulador. Vatios se encuentra disponible en la dirección http://webdiis.unizar.es/gaz/vatios/.

6. Uso de Vatios En esta sección se detallará el uso y las opciones de las dos herramientas que componen Vatios: 6.1. Sim-vatios

Figura 2 Escenario de ejecución de sim-vatios. El tiempo de ejecución de power-vatios es despreciable con respecto al tiempo de ejecución

El uso de sim-vatios es similar al uso de Wattch o SimpleScalar, pero se han añadido una serie de opciones utilizadas al ejecutar el simulador, cuya funcionalidad se detalla a continuación:

120 •





Arquitectura del Procesador, Multi-núcleo y Multiprocesadores -dumpconfig filename: se utiliza para indicar al simulador a qué fichero volcar las estadísticas de uso/actividad de la simulación para posteriormente re-simular utilizando power-vatios. En caso de que no se especifique, no se vuelcan estos datos. -tech valor: se utiliza para especificar la tecnología para la que se quiere realizar la simulación. Se especifica en nanómetros, y los siguientes valores 800, 400, 350, 250, 180 y 100 son válidos actualmente. -freq valor: se utiliza para especificar la frecuencia de funcionamiento del procesador. Se especifica en Mhz.

6.2. Power-vatios Una vez realizada una simulación y volcadas las estadísticas de uso/actividad a fichero, es posible recalcular el consumo de esa misma ejecución, sin tener que volver a simular, cambiando parámetros tecnológicos, frecuencia, modelos de potencia, y en general cualquier parámetro que no altere el comportamiento temporal del procesador. Esto se hace llamando a la herramienta powervatios. La sintaxis de esta llamada es la siguiente: power-vatios -config filename …

Como se ha comentado en la sección anterior, el usuario puede añadir más modelos de potencia para una unidad concreta. Los modelos de potencia se identifican con un número entero. Actualmente, todas las unidades tienen el modelo 1 de potencia igual que el de Wattch, el modelo 0 (en el que el consumo de la unidad se considera nulo) y el modelo 2 (en el que el usuario puede introducir manualmente la potencia de una unidad). Además, para algunas unidades se ha programado el modelo 3, en el que es la herramienta CACTI 4.2 la que se encarga totalmente de calcular la potencia de la unidad. La sintaxis para especificar el modelo de potencia para una unidad es la siguiente: -unitName:model powerModelNumber Por ejemplo, para asignar el modelo 0 al renombre añadiríamos la siguiente opción: -rename:model 0 O bien para indicar manualmente (modelo 2) que la unidad de renombre consume 2.5W: -rename:model 2 –rename:power 2.5 La lista de nombres utilizados para cada una de las unidades se encuentra en el manual de usuario, disponible en la página Web de Vatios.

Donde filename es el nombre del fichero que contiene las estadísticas de uso/actividad. Por último se pueden añadir tantas opciones como necesite el usuario. A continuación se muestran varios ejemplos en los que se especifican distintas tecnologías, frecuencias y modelos de potencia: power-vatios -config myFile.txt -tech 400 –freq 2000 power-vatios -config myFile.txt -rename:model 0 La ejecución de power-vatios tiene un tiempo despreciable en comparación con la ejecución de sim-vatios o Wattch, por lo tanto, su uso implica un gran ahorro en coste computacional.

7. Modificación de Vatios Vatios ha sido diseñado de la forma más genérica posible, además se ha pensado en facilitar su modificación/adaptación. En la documentación de Vatios se incluyen un manual del programador, en el que se explica detalladamente cómo realizar las modificaciones descritas en los siguientes subapartados. 7.1. Añadir una nueva escala tecnológica Para añadir una nueva escala tecnológica solamente es necesario conocer una serie de factores de escala que la definen. Estos factores son relativos a la escala de 800nm.

XVIII Jornadas de Paralelismo, Zaragoza 2007 Los factores son los siguientes: • CSCALE: Factor de capacitancia • RSCALE: Factor de resistencia • LSCALE: Factor de longitud • VSCALE: Factor de voltage • VTSCALE: Factor de voltage de “threshold” • SSCALE: Factor de voltage (sense) • GEN_POWER_SCALE 7.2. Añadir un nuevo modelo de potencia Añadir un nuevo modelo de potencia es equivalente a añadir un algoritmo que calcule la potencia pico de una unidad. El en manual del programador se detalla claramente el interface creado para poder añadir nuevos modelos. También se detalla como añadir nuevas variables que puedan ser necesitadas por el algoritmo, y su integración en el resto de la herramienta. 7.3. Añadir una nueva unidad Puede darse el caso en el que se necesite el cálculo del consumo de una unidad no modelada por Wattch. Además de realizar los cambios necesarios en el simulador, el manual del programador detalla cómo añadir el cálculo de consumo a esa nueva unidad.

121 Para las unidades para las que además se tiene en cuenta el factor de actividad (1’s y 0’s en el resultado) es necesario otro vector extra que contenga esta información.

8. Sim-gaz Dado que SimpleScalar modela un procesador general basado en estaciones de Reserva RUU, se ha desarrollado un simulador, denominado simgaz, que incluye la infraestructura de Vatios, pero modela un procesador con arquitectura distinta. La diferencia más significativa es que sim-gaz modela un procesador basado en Reorder Buffer (ROB) y ventanas de lanzamiento de instrucciones (IQ), a diferencia de Wattch, basado en estaciones de reserva. Se han modificado las etapas del segmentado, y se ha añadido el mecanismo estándar de renombre. Se ha modificado el núcleo de fuera de orden (Figura 4), para que sim-gaz modelara predicción de latencia de las instrucciones de acceso a memoria y el lanzamiento especulativo de instrucciones dependientes desde la IQ. En caso de fallo de cache, al haber fallado la predicción de latencia, se anulan las instrucciones dependientes, que serán relanzadas posteriormente, cuando la jerarquía de memoria sirva el fallo.

7.4. Añadir vatios a un simulador existente En el caso más general, el usuario puede disponer de un simulador adaptado a sus necesidades. Este simulador puede o no estar basado en SimpleScalar. En el manual del programador, se detalla cómo, simplemente con generar un fichero con un formato determinado, se puede utilizar la herramienta power-vatios para calcular consumo. Este fichero deberá contener los parámetros arquitectónicos de las unidades, en el mismo formato en el que se especifican a SimpleScalar, y las estadísticas de acceso a las unidades. Estas estadísticas se vuelcan al fichero en formato de vector, en el que cada componente indica el número de ciclos que la unidad ha sido utilizada un número determinado de veces, hasta un máximo que depende de la unidad. Estos vectores de accesos tienen la siguiente forma: [# 0 veces, # 1 vez, # 2 veces, …, #max veces]

Figura 4 Etapas fuera de orden sim-gaz. El sistema de memoria ha sido completamente modificado (Figura 5). Las instrucciones de tipo Load realizan la petición a memoria en una etapa denominada cache peticion y el dato se obtiene en la etapa cache servicio. Las instrucciones tipo Store envían su escritura a memoria en una etapa denominada pre-commit. Se han modelado unidades como Store Buffer (STB), Load Buffer (LDB), Miss Address File (MAF), y L2Q. Se ha separado el acceso a etiquetas del acceso a los bancos de datos en la memoria cache de nivel 2, con una cola de peticiones tipo Itanium 2 [9].

122

Arquitectura del Procesador, Multi-núcleo y Multiprocesadores investigación en el área de arquitectura de computadores.

Referencias

Figura 5 Estructuras de la jerarquía de memoria Ya que sim-gaz es un simulador que calcula consumo, se ha creado un modelo de potencia para las unidades que componen el procesador (ROB, IQ’s, MAF, STB, LDB, caches,…). Estos modelos están basados o bien en modelos ya incluidos en Vatios, o bien en modelos realizados a partir de la herramienta CACTI 4.2, incluida en la infraestructura de Vatios. Dentro de la jerarquía de memoria, ha sido modelado el consumo de las unidades sombreadas en la Figura 5. Para modelar las unidades utilizando CACTI 4.2, se ha hecho un análisis de las características de la unidad (número de entradas, bits por entrada, número de accesos por ciclo,…) Con esta información se llama a CACTI 4.2 para calcula el consumo de una memoria (RAM o CAM) de esas características. Es la herramienta CACTI la que se ocupa de calcular la potencia de la unidad. Esta potencia es escalada, posteriormente al en función del Clock Gating, del mismo modo que hace Wattch y Vatios. Sim-gaz no se ha puesto a disposición pública, pero se atenderán solicitudes a través de correo electrónico.

9. Conclusiones y trabajo futuro Como conclusiones del trabajo realizado sobre Wattch, se han puesto de manifiesto sus limitaciones y varias deficiencias. Se ha creado un juego de herramientas, Vatios, que mejoran a Wattch, y se ha documentado suficientemente, para facilitar su uso y adopción por otros grupos de trabajo. Este simulador puede ser ampliado, añadiendo modelos más finos de potencia o nuevos puntos tecnológicos. También sería interesante añadir cálculo de consumo estático. Además se ha desarrollado sim-gaz, un simulador, representativo de las arquitecturas actuales, que sirve de simulador base para la

[1] D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In 27th Annual International Symposium on Computer Architecture, June 2000. [2] Doug Burger and Todd M. Austin. The SimpleScalar Tool Set Version 2.0. Technical Report 1342, Computer Sciences Department, University of Wisconsin--Madison, May 1997. [3] An Enhanced Access and Cycle Time Model for On-Chip Caches.Wilton, Steven J.E; Jouppi, Norman P. WRL-93-5 Jul 1994 [4] CACTI 4.0 Tarjan, David; Thoziyoor, Shyamkumar; Jouppi, Norman P. HPL-200686 20060606 [5] Subbarao Palacharla, Norman P. Jouppi and J.E. Smith. "Complexity-Effective Superscalar Processors". In 24th Annual Internacional Symposium on Computer Architecture, Denver, 1997, pp. 206-218. [6] Subbarao Palacharla, Norman P. Jouppi, and James E. Smith. Quantifying the complexity of superscalar processors. Technical Report CS-TR-96-1328, University of Wisconsin, Madison, 19 November 1996. [7] G. Miñana, O. Garnica, J.I. Hidalgo, J. Lanchares, J.M. Colmenar. Adaptación de un simulador de potencia para UFs en procesadores de alto rendimiento. Jornadas de Paralelismo. Actas del Primer Congreso Español de Informática. (CEDI 2005). Granada (Spain). September 2005. [8] High-performance and low-power challenges for sub-70 nm microprocessor circuits Krishnarnurthy, R.K.; Alvandpour, A.; De, V.; Borkar,S. Custom Integrated Circuits Conference, 2002. Proceedings of the IEEE 2002 Volume , Issue , 2002 Page(s): 125 – 128 [9] C. McNairy and D. Soltis. Itanium 2 processor microarchitecture. IEEE Micro, 23(2):56--65, March/April 2003. 183

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.