Estoy un poco confundido sobre los significados de la espacial y temporal de la localidad. Espero que al verlo con un ejemplo de la matriz que me va a ayudar a entenderlo mejor.

En un ejemplo como este:
A[0][1], A[0][2], UN[0][3]…. etc

Hace esto demuestra temporal de la localidad? Veo la misma fila se accede muchas veces, pero en diferentes desplazamientos… ¿esto significa que una dirección diferente a la que se accede?

También, estoy en lo correcto en decir que un ejemplo como este:
A[1], A[2] [3]… etc

Demuestra localidad espacial?

Espero que algunas aclaraciones sobre cómo espacial y temporal de la localidad de trabajo en el código real me ayudará a entenderlos mejor.

InformationsquelleAutor Eric Smith | 2013-04-29

6 Comentarios

  1. 71

    Espacial y temporal de la localidad describir dos diferentes características de la forma en que los programas de acceso a datos (o instrucciones). Wikipedia tiene un buen artículo sobre localidad de referencia.

    Una secuencia de referencias se dice que spatial localidad si las cosas que se hace referencia cercano en el tiempo, también están muy cerca en el espacio (cerca de direcciones de memoria, cerca de los sectores en un disco, etc.). Una secuencia se dice que temporal localidad si los accesos a la misma cosa son agrupados en el tiempo.

    Si un programa tiene acceso a cada elemento de una matriz de gran tamaño, y se lee una vez y, a continuación, pasa al siguiente elemento y que no se repita un acceso en cualquier lugar hasta que éste haya tocado a cada otro lugar, a continuación, es un claro caso de espacial la localidad, sino que no temporal localidad. Por otro lado, si un programa pasa tiempo en repetidas ocasiones el acceso a un subconjunto aleatorio de las ubicaciones en la matriz antes de pasar a otro subconjunto aleatorio se dice que tiene temporal la localidad, sino que no espacial localidad. Un programa tendrán las estructuras de datos que agrupan las cosas que se accede juntos, garantizando espacial localidad. Si el programa es probable que el acceso B poco después de accesos Un entonces ambos Un y B debe ser asignado a cerca unos de otros.

    Su primer ejemplo

    A[0][1], A[0][2], A[0][3]
    

    muestra espacial localidad, las cosas que se tiene acceso cercano en el tiempo está cerca en el espacio. No muestra temporal localidad debido a que no han accedido a la misma cosa más de una vez.

    Tu segundo ejemplo

    A[1], A[2], A[3]
    

    también muestra espacial localidad, pero no temporal localidad.

    He aquí un ejemplo que muestra temporal localidad

    A[1], A[2000], A[1], A[1], A[2000], A[30], A[30], A[2000], A[30], A[2000], A[30], A[4], A[4]
    
  2. 17

    En palabras simples,

    Temporal de la localidad: El concepto de que un recurso al que se hace referencia en un punto
    en el tiempo se hace referencia de nuevo en algún momento en el futuro cercano.

    Localidad espacial: el concepto de que La probabilidad de hacer referencia a un recurso
    superior si el recurso de cerca era sólo de referencia.

    Fuente(s): Wikipedia

  3. 8

    Aquí es un ejemplo de código con la localidad:

    var sum = 0;
    for (i = 0; i < n; i++){
      for(j=0; j < m ; j++){
        sum += a[i][j];
        }
    }
    return sum;
    
    • Existe temporal localidad porque suma se accede con frecuencia en el bucle. Temporal de la localidad es explotado por mantener recientemente se utiliza la instrucción y los valores de los datos en la memoria caché y mediante la explotación de una caché de jerarquía. O incluso en un registro, no en la memoria a todos.

    • Existe localidad espacial porque tenemos una matriz » a » y nos
      acceder a cada elemento de la matriz en orden. Localidad espacial es generalmente explotados por el uso de un mayor caché de bloques y por la incorporación de precarga de los mecanismos de obtención de elementos de uso anticipado) en la caché de la lógica de control.

    • Creo que se invierte la frase 2 de cada viñeta. Y por CIERTO, los compiladores mantener sum en un registro, no de memoria, para obtener el máximo beneficio de reiterados de acceso.
    • sí su derecho @peterCordes , voy a hacer ese ajuste
    • bueno, gracias
  4. 0

    Temporal localidad es el caso especial de localidad espacial.

    • Eso es cierto, y una observación interesante, para la memoria caché en función de las líneas o bloques de datos, como una caché de CPU. (En lugar de una lista de las recientes consultas de búsqueda o algo, donde localidad espacial no está aún bien definida. Pero este es un equipo de arquitectura pregunta donde cachés son casi siempre de algún tipo de espacio de direcciones, si se trata de un TLB, descodificado-uop caché, o una caché de datos). Pero a menudo localidad espacial significa la cercana accesos son casi simultánea, y, básicamente, de parte de uno de mayor acceso. Temporal normalmente significa que pronto, pero no necesariamente de inmediato.
    • es decir, que necesita tanto espacial y temporal de la localidad para obtener los aciertos de caché, de lo contrario, la línea que contiene el elemento que le han sido desalojados. Pero sí, el caso de acceder a otra vez el mismo tema, es la clase de un caso especial de la localidad espacial. Me gustaría upvote esta respuesta si se dijo que, por favor, considere la posibilidad de editar 🙂
  5. 0

    Me fuera y tiene dificultad en recordar la diferencia entre ellos, aunque recuerdo que ambos tipos de localidad.

    Spatical Localidad recordar que mantener «secuencialmente» adverbio en mente.

    Temporal Localidad recordar que al principio de los tiempos de aprendizaje de ordenación algos, que ve «una variable temp» para intercambiar. por ejemplo, especie de burbuja. Tiene dos bucles y a la swap no es como int temp = ......

    Se puede reconocer que la definición pertenece a lo que por medio de la forma.

    • Los términos están basados en el estándar inglés significado de las palabras. Espaciales = en el espacio / posición. Temporal = relación en el tiempo. Localidad = cercanía. (Los enlaces son a google diccionario). «Temporal» tiene la misma raíz que la palabra «temporal», en latín, «tempus» = tiempo. Pero aparte de eso, temporal y temporal son conceptos diferentes. Si esa conexión / mnemónico truco le ayuda a recordar lo «temporal» significa, pues genial.
  6. 0

    Temporal localidad: localidad Temporal se basa en repetidas ocasiones se hace referencia a los recursos.

    Localidad espacial: localidad Espacial, informa que los datos adyacentes recientemente que se hace referencia se solicitarán los datos en el futuro cercano.

Dejar respuesta

Please enter your comment!
Please enter your name here