<< Chapter < Page Chapter >> Page >

Cuando menos el estrato superior de la jerarquía de memoria, los registros de la CPU, operan tan rápido como el resto del procesador. El objetivo es mantener los operandos en los registros tanto como sea posible. Ello resulta especialmente importante para los valores intermedios usados durante cálculos largos, tales como:

X = G * 2.41 + A / W - W * M

Mientras calculamos el cociente de A entre W, debemos mantener almacenado el resultado de multiplicar G por 2.41. Sería una lástima tener que almacenar este resultado intermedio en memoria, para luego recargarlo unas pocas instrucciones más tarde. En cualquier procesador moderno con una optimización moderada, el resultado inmediato se almacena en un registro. Y como además el valor W se usa en dos cálculos, puede cargarse una vez y usarse dos, para eliminar el "desperdicio" que significaría otra operación de carga.

A partir de la década de 1970, los compiladores se han vuelto muy buenos en detectar este tipo de optimizaciones, y hacer un uso eficiente de los registros disponibles. Agregar más registros al procesador acarrea algún beneficio en el rendimiento, pero no es práctico agregar tantos como para almacenar los datos del problema completo. Así que debemos recurrir a una tecnología de memoria más lenta.

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