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

1.8 Ejercicios

El siguiente segmento de código recorre una cadena de apuntadores: while ((p = (char *) *p) != NULL); ¿Cómo interactuará este código con la cache si todas las referencias caen en una pequeña porción de memoria? ¿Cómo interactuará con la cache si las referencias se prolongan a través de varios megabytes?

¿Cómo se comportará el código en [link] en un sistema de memoria multibanco que no tenga cache?

Hace mucho tiempo, la gente escribía regularmente código automodificable -programas que escriben en la memoria de instrucciones y cambian su propio comportamiento. ¿Cuáles son las implicaciones de código automodificable en una máquina con una arquitectura de memoria Harvard?

Asuma una arquitectura de memoria con una velocidad de cache L1 de 10 ns, una velocidad L2 de 30 ns, y una velocidad de memoria de 200 ns. Compare el rendimiento promedio del sistema de memoria con: 1) L1 80%, L2 10% y memoria 10%; y 2) L1 85% y memoria 15%.

En un sistema de cómputo, ejecute ciclos que procesen arreglos de longitudes variables de 16 a 16 millones: ARRAY(I) = ARRAY(I) + 3 ¿Cómo cambia el número de sumas por segundo conforme la longitud del arreglo cambia? Experimente con REAL*4 , REAL*8 , INTEGER*4 , e INTEGER*8 .

¿Qué tiene un impacto más significativo en el rendimiento, elementos de arreglo más grandes o números enteros versus números de punto flotante? Realice pruebas en una variedad de computadoras diferentes.

Elabore un arreglo bidimensional de 1024x1024. Recorra el array, con los renglones como ciclo interno y después con las columnas como ciclo interno. Realice alguna operación simple en cada elemento. ¿Se comportan distinto los ciclos? ¿Por qué? Experimente con diferentes dimensiones de arreglos y vea el impacto en el rendimiento.

Escriba un programa que ejecute repetidamente ciclos temporizados de diferentes tamaños, para determinar el tamaño de cache de su sistema.

<< 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.