This page is optimized for mobile devices, if you would prefer the desktop version just click here

1.6 Mejorando el rendimiento de la memoria  (Page 5/6)

Efectos post-risc sobre las referencias a memoria

En un procesador RISC, las operaciones de memoria típicamente acceden a ésta durante la fase de ejecución del entubamiento. En el procesador post-RISC, las cosas no son diferentes que en un procesador RISC, excepto que en un momento dado muchas cargas pueden estar a medio terminar. En algunos procesadores actuales pueden estar activas hasta 28 operaciones de memoria, con 10 en espera de salir de la memoria. Esta es una forma excelente de compensar la latencia de una memoria lenta comparada con la velocidad de la CPU. Considere el siguiente ciclo:


LOADI R6,10000 El número de iteraciones LOADI R5,0 La variable índiceCICLO: LOAD R1,R2(R5) Carga un valor de la memoria INCR R1 Suma 1 a R1STORE R1,R3(R5) Almacena el valor incrementado de vuelta en la memoria INCR R5 Suma 1 a R5COMPARE R5,R6 Comprueba la terminación del ciclo BLT CICLO si R5 = R6, salta a CICLO

Asumamos en este ejemplo que toma 50 ciclos acceder a la memoria. Cuando la búsqueda/decodificación pone la primera carga en el buffer de reordenamiento de instrucciones (IRB), la carga comienza en el siguiente ciclo y luego se suspende en la fase de ejecución. Sin embargo, el resto de las instrucciones están en el IRB. La instrucción INCR R1 debe esperar a la carga, y la instrucción STORE también debe esperar. Sin embargo, al usar un registro renombrado, las instrucciones INCR R5, COMPARE y BLT pueden todas ejecutarse, y la búsqueda/decodificación avanza a la parte superior del ciclo y envía otra carga al IRB para la siguiente localidad de memoria que tiene que esperar. Esta secuencia continúa hasta que se hayan cargado unas 10 iteraciones del ciclo en la TLB. Es entonces cuando se entrega la primera carga desde la memoria, y comienzan a ejecutarse las instrucciones INCR 1 y STORE de la primera iteración. Por supuesto el almacenamiento toma algo de tiempo, pero alrededor de ese momento termina la segunda carga, de modo que hay más trabajo por hacer, y así sucesivamente...

Como muchos otros aspectos de la computación, la arquitectura post-RISC, con su ejecución especulativa fuera de orden, optimiza las referencias a memoria. El procesador post-RISC desenrolla los ciclos dinámicamente, a tiempo de ejecución, para compensar los retrasos del subsistema de memoria. Asumiendo un sistema de memoria multibanco con entubamiento, que puede tener iniciadas múltiples operaciones de memoria antes de que alguna se complete (la HP PA-8000 tiene simultáneamente 10 operaciones de memoria fuera del chip al vuelo), el procesador continúa despachando operaciones a memoria hasta que tales operaciones comiencen a completarse.

A diferencia de un procesador vectorial o una instrucción de precarga, el procesador post-RISC no necesita anticipar el patrón preciso de referencias a memoria, de forma que puede controlar cuidadosamente el subsistema de memoria. Como resultado, el procesador post-RISC puede lograr su rendimiento máximo en un rango mucho más amplio de secuencias de código que los procesadores vectoriales y los procesadores RISC de ejecución en orden con capacidad de precarga.

<< Chapter < Page Page > Chapter >>

Read also:

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.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.