<< Chapter < Page Chapter >> Page >

Una ventaja extra de evitar la cache es que los datos no requieren moverse a través de la cache de SRAM. Esta operación puede agregar entre 10 y 50 ns al tiempo de carga para una palabra simple. Ello también evita tener que invalidar los contenidos de una línea de cache completa.

Agregar una forma de evitar la cache, incrementar el ancho de memoria del sistema y agregar bancos incrementa el costo de un sistema de memoria. Los fabricantes de sistemas de cómputo toman una decisión de índole económica acerca de cuántas de estas técnicas requieren aplicar para obtener el rendimiento suficiente en su sistema y procesador particulares. De este modo, conforme crece la velocidad del procesador, deben agregar más de estas características del sistema de memoria a sus equipos para mantener el balance entre las velocidades del procesador y el sistema de memoria.

Evitando la cache

Esta figura muestra una pequeña caja en cuyo centro aparece rotulado Cache, y una caja grande a la derecha donde dice SIMM cuatro veces. Hay una línea pequeña y gruesa que conecta la CPU a la cache. Hay una flecha de direcciones que sale de la CPU y apunta a los SIMMs, y desde la ache apuntando a los SIMMs. Hay una flecha grande que dice 128 bits, apuntando desde los SIMMs a la Cache, y una flecha más angosta apuntando desde los SIMMs a la CPU, etiquetada 32 bits.

Sistemas de memoria intercalados y entubados

Las supercomputadoras vectoriales, tales como la CRAY Y/MP y la Convex C3, son máquinas que dependen de sistemas de memoria multibanco para lograr alto rendimiento. En particular la C3 tiene un sistema de memoria con intercalación de hasta 256 vías. Cada intercalado (o banco) tiene 64 bits de anchura. Se trata de un sistema de memoria caro de construir, pero tiene algunas características de rendimiento muy atractivas. Tener un gran número de bancos ayuda a reducir las posibilidades de accesos repetidos al mismo banco de memoria. Pero si se da el caso de acertar dos veces al mismo renglón, la penalización es un retraso de cerca de 300 ns -un tiempo largo para una máquina con un tiempo de reloj de 16 ns. Pero cuando las cosas salen bien, realmente van muy bien.

Sin embargo, no es suficiente tan sólo con tener un gran número de bancos para alimentar un prosador a 16 ns usando una DRAM a 50 ns. Además del intercalado, el sistema de memoria también requiere entubarse. Esto es, la CPU debe comenzar la segunda, tercera y cuarta cargas antes de haber recibido los resultados de la primera, como se muestra en [link] . Luego cada vez que recibe los resultados del banco "n", debe comenzar la carga del banco "n+4" para mantener alimentada la tubería. De esta forma, tras un breve retraso en el arranque, las cargas se completan cada 16 ns y así el sistema de memoria parece operar a la velocidad de reloj de la CPU. El enfoque de memoria entubada se facilita por los registros vectoriales de 128 elementos en el procesador C3.

Usando hardware recolector/dispersor, también pueden entubarse operaciones de incremento no unitario. La única diferencia de las operaciones de incremento no unitario es que no se accede a los bancos en orden secuencial. Con un patrón aleatorio de referencias a memoria, es posible reacceder al banco de memoria antes de que el acceso previo se refresque completamente. Esto se llama detención de banco. .

Sistema de memoria multibanco

Esta figura muestra una caja a la izquierda, y un renglón de cajas en un espacio tridimensional a la derecha. La caja a la izquierda contiene el siguiente texto: inicio 0, inicio 1, inicio 2, inicio 3, inicio 4, espera 0, inicio 5, espera 1, inicio 6. Las cajas a la derecha están etiquetadas SIMMs SIMMS, y contienen flechas, cada una de ellas etiquetada 64, en la caja.

Diferentes patrones de acceso están sujetos a detenciones de banco de severidad variable. Por ejemplo, acceder a una palabra de cada cuatro en un sistema de memoria de ocho bancos puede estar sujeto a detenciones de banco, aunque la recuperación será rápida. Puede ser que hacer referencias a una palabra de cada dos no haga experimentar detenciones de banco en absoluto; cada banco puede haberse recuperado para el momento en que llegue la siguiente referencia; depende de las velocidades relativas del procesador y del sistema de memoria. De seguro que los patrones de acceso irregular encontrarán algunas detenciones de banco.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Cómputo de alto rendimiento. OpenStax CNX. Sep 02, 2011 Download for free at http://cnx.org/content/col11356/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Cómputo de alto rendimiento' conversation and receive update notifications?

Ask