Download Tema 2 – CMPs: Jerarquía de Memoria
Document related concepts
no text concepts found
Transcript
Tema 2 – CMPs: Jerarquía de Memoria Alberto Ros Bardisa Tema 2 – Memoria Alberto Ros Bardisa 1 / 35 Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 2 / 35 Esquema de la Jerarquía de Memoria Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 3 / 35 Esquema de la Jerarquía de Memoria Tiled CMPs: Repasando... Un tile es un bloque de construcción que tiene: Un procesador Cache: Una o varias caches privadas (L1/L2) Una LLC (Last Level Cache) privada o compartida Un router o interfaz de red Tema 2 – Memoria Alberto Ros Bardisa 4 / 35 Esquema de la Jerarquía de Memoria Tiled CMPs: Repasando... Los Tiled CMPs se construyen replicando bloques (o tiles) y conectándolos con una red de interconexión escalable Un tile es un bloque de construcción que tiene: Un procesador Cache: Una o varias caches privadas (L1/L2) Una LLC (Last Level Cache) privada o compartida Tiled CMP de 16 cores conectados por una malla 2D Un router o interfaz de red Tema 2 – Memoria Alberto Ros Bardisa 4 / 35 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 5 / 35 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) LLC privada Cada banco de cache es accedido por el procesador local La latencia de acceso (pequeña) es la misma para cualquier procesador Los datos pueden estar replicados en diferentes caches → mala utilización El acceso a la cache compartida o memoria se hace fuera del chip → alta latencia en la compartición Tema 2 – Memoria Alberto Ros Bardisa 6 / 35 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) LLC compartida centralizada La cache cache puede ser accedida por cualquier procesador La latencia de acceso es la misma para cualquier procesador Los datos no están replicados en la cache → mejor utilización La compartición de datos se realiza dentro del chip → baja latencia El acceso a la cache puede suponer un cuello de botella Tema 2 – Memoria Alberto Ros Bardisa 7 / 35 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) LLC compartida distribuida (NUCA) Un banco de cache puede ser accedido por cualquier procesador La latencia de acceso depende del banco al que se acceda Los datos no están replicados en la cache → mejor utilización La compartición de datos se realiza dentro del chip → baja latencia Se elimina el cuello de botella del esquema centralizado Tema 2 – Memoria Alberto Ros Bardisa 8 / 35 El mapeo de memoria Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 9 / 35 El mapeo de memoria Mapeo a conjunto de cache (índice) Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 10 / 35 El mapeo de memoria Mapeo a conjunto de cache (índice) El mapeo de memoria Mapeo a conjunto de cache (índice) Direccion Tag Set O.B. Cache Tag Datos Comp Hit/Miss Tema 2 – Memoria Datos Alberto Ros Bardisa 11 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 12 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) El mapeo de memoria Mapeo a banco de memoria (nodo home) Bits menos significativos Tag Set Home O.B. Bits mas significativos Home Tag ... Banco 0 Banco 1 Set O.B. ... Banco n−1 Tema 2 – Memoria Banco 0 Banco 1 Banco n−1 Alberto Ros Bardisa 13 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) Mapeo controlado por el OS Recordando En caches NUCA (Non-Uniform Cache Architecture), la latencia de acceso depende de donde mapeo el bloque solicitado (nodo o banco home) Este mapeo normalmente se realiza cogiendo unos bits de la dirección del bloque (mapeo Round-Robin) El mapeo Round-Robin no se preocupa de la distancia entre los cores que solicitan el dato y el banco LLC donde mapea dicho dato Una política First-Touch puede reducir la latencia de acceso Como se puede hacer? ⇒ Mediante el Sistema Operativo ⇒ Mapeo a nivel de páginas Tema 2 – Memoria Alberto Ros Bardisa 14 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) Mapeo controlado por el OS Traducción de dirección virtual a física Fallo de página Tema 2 – Memoria Alberto Ros Bardisa 15 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) Mapeo controlado por el OS Traducción de dirección virtual a física Fallo de página Virt. a Fís. O.P. O.B. Home Traducción de dirección virtual a física Tema 2 – Memoria Alberto Ros Bardisa 15 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) Mapeo controlado por el OS Traducción de dirección virtual a física Fallo de página Peticionario Virt. a Fís. O.P. O.B. Home Traducción de dirección virtual a física Tema 2 – Memoria Política de mapeo Alberto Ros Bardisa 15 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) Mapeo controlado por el OS Traducción de dirección virtual a física Fallo de página Peticionario Virt. a Fís. O.P. O.B. Home Traducción de dirección virtual a física Tema 2 – Memoria Política de mapeo Home Lista de direcciones libres Alberto Ros Bardisa 15 / 35 El mapeo de memoria Mapeo a banco de memoria (nodo home) Mapeo controlado por el OS Traducción de dirección virtual a física Fallo de página Peticionario Virt. a Fís. O.P. O.B. Home Traducción de dirección virtual a física Tema 2 – Memoria Política de mapeo Home Dir. física Lista de direcciones libres Alberto Ros Bardisa 15 / 35 CMPs actuales Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 16 / 35 CMPs actuales Niagara 2 (Sun 8-core CMP) LLC (L2) compartida → 8 bancos de 512KB cada uno (4MB) Tema 2 – Memoria Alberto Ros Bardisa 17 / 35 CMPs actuales Magny-Cours (AMD 12-core M-CMP) LLC (L3) compartida → centralizada 6MB Tema 2 – Memoria Alberto Ros Bardisa 18 / 35 CMPs actuales Nehalem (Intel 4-core CMP) LLC (L3) compartida → 4 bancos de 2MB cada uno (8MB) Tema 2 – Memoria Alberto Ros Bardisa 19 / 35 CMPs actuales Polaris: Intel 80-core Tiled CMP No coherente → El programador necesita asegurar la coherencia LLC (L1) privada → 2KB datos y 3KB instrucciones Tema 2 – Memoria Alberto Ros Bardisa 20 / 35 CMPs actuales Intel MIC: Co-procesador de 60 cores Protocolo de coherencia MESI Tema 2 – Memoria Alberto Ros Bardisa 21 / 35 CMPs actuales Intel MIC: Organización L2 cachés privadas. Red de interconexión de anillo. Tema 2 – Memoria Alberto Ros Bardisa 22 / 35 Algo de investigación Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 23 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 24 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Motivation Remember In NUCA (Non-Uniform Cache Architecture) caches, the access latency depends on where the requested block is mapped (home bank). Tema 2 – Memoria Alberto Ros Bardisa 25 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Motivation Remember This mapping is commonly performed by taking some bits from the block address leading to a Round-Robin mapping. The Round-Robin mapping does not care about the distance between requesting cores and home banks ⇒ long access latency. A First-Touch mapping policy can lessen this latency. Distance to home In NUCA (Non-Uniform Cache Architecture) caches, the access latency depends on where the requested block is mapped (home bank). Round−Robin Ideal First−Touch Off−chip accesses But can cause imbalance among cache banks ⇒ high cache miss rate. Tema 2 – Memoria Alberto Ros Bardisa 25 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy We propose a Distance-Aware Round-Robin mapping policy which is managed by the OS. The unit of mapping is a memory page. Does not add extra hardware. Our policy tries to map the pages to the local bank of the first requesting core. ⇒ Reduces access latency. But also introduces a threshold to bound the deviation of the distribution of memory pages among cache banks. ⇒ Lessens off-chip accesses. Tema 2 – Memoria Alberto Ros Bardisa 26 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP P0 P1 P2 P3 Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 1 P0 P1 1 0 P2 P3 0 0 P0 accesses a block within a page 0x00 which faults in memory. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 P0 P1 1 0 1 1 P2 P3 0 0 0 0 1 P0 accesses a block within a page 0x00 which faults in memory. 2 P1 accesses a new page (0x01) ⇒ OK. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 P0 P1 1 0 1 1 1 1 P2 P3 0 0 0 0 0 0 1 P0 accesses a block within a page 0x00 which faults in memory. 2 P1 accesses a new page (0x01) ⇒ OK. 3 P1 accesses page 0x00 ⇒ Nothing happens. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 P0 P1 1 0 1 1 1 1 2 1 P2 P3 0 0 0 0 0 0 0 0 1 P0 accesses a block within a page 0x00 which faults in memory. 2 P1 accesses a new page (0x01) ⇒ OK. 3 P1 accesses page 0x00 ⇒ Nothing happens. 4 P0 accesses a new page (0x02) ⇒ threshold reached. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03 P0 P1 1 0 1 1 1 1 2 1 2 1 P2 P3 0 0 0 0 0 0 0 0 1 0 1 P0 accesses a block within a page 0x00 which faults in memory. 2 P1 accesses a new page (0x01) ⇒ OK. 3 P1 accesses page 0x00 ⇒ Nothing happens. 4 P0 accesses a new page (0x02) ⇒ threshold reached. 5 P0 accesses a new page (0x03) ⇒ to another bank. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03 6.P3 → 0x04 P0 P1 1 0 1 1 1 1 2 1 2 1 2 1 P2 P3 0 0 0 0 0 0 0 0 1 0 1 1 1 P0 accesses a block within a page 0x00 which faults in memory. 2 P1 accesses a new page (0x01) ⇒ OK. 3 P1 accesses page 0x00 ⇒ Nothing happens. 4 P0 accesses a new page (0x02) ⇒ threshold reached. 5 P0 accesses a new page (0x03) ⇒ to another bank. 6 P3 accesses a new page (0x04) ⇒ counters decreased. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03 6.P3 → 0x04 P0 P1 1 0 1 1 1 1 2 1 2 1 12 01 P2 P3 0 0 0 0 0 0 0 0 1 0 01 01 1 P0 accesses a block within a page 0x00 which faults in memory. 2 P1 accesses a new page (0x01) ⇒ OK. 3 P1 accesses page 0x00 ⇒ Nothing happens. 4 P0 accesses a new page (0x02) ⇒ threshold reached. 5 P0 accesses a new page (0x03) ⇒ to another bank. 6 P3 accesses a new page (0x04) ⇒ counters decreased. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Mapping Policy Example for a 2x2 tiled CMP and a threshold value of 2 2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03 6.P3 → 0x04 7.P0 → 0x05 P0 P1 1 0 1 1 1 1 2 1 2 1 12 01 2 0 P2 P3 0 0 0 0 0 0 0 0 1 0 01 01 0 0 1 P0 accesses a block within a page 0x00 which faults in memory. 2 P1 accesses a new page (0x01) ⇒ OK. 3 P1 accesses page 0x00 ⇒ Nothing happens. 4 P0 accesses a new page (0x02) ⇒ threshold reached. 5 P0 accesses a new page (0x03) ⇒ to another bank. 6 P3 accesses a new page (0x04) ⇒ counters decreased. 7 P0 accesses a new page (0x05) ⇒ OK. Tema 2 – Memoria Alberto Ros Bardisa 27 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Evaluation Barnes FFT MPGenc MPGdec Ocean 85 26 27 26 73 59 52 54 23 26 26 16 46 46 30 50 83 85 69 71 30 45 25 29 52 71 51 55 26 26 20 26 54 58 48 40 64 66 65 64 36 26 27 34 53 55 53 54 84 104 40 38 88 48 60 44 67 66 92 65 44 26 28 37 60 61 56 57 16 16 27 26 226 172 46 184 69 65 66 76 Raytrace Radix Unstructured Water-NSQ Volrend 202 52 46 49 82 64 58 22 88 40 30 22 52 6 1 6 31 22 22 22 54 47 52 63 147 16 52 60 260 13 19 16 11 27 4 23 24 25 25 23 61 55 86 77 18 100 37 36 45 14 15 16 8 18 12 21 21 24 21 24 102 94 148 134 8 38 40 56 17 13 15 30 1 1 6 9 29 39 31 52 Ocean4 Radix4 516 468 478 471 475 469 468 469 494 555 494 547 491 549 488 567 468 469 469 491 482 470 469 490 527 560 527 562 525 562 520 559 481 469 469 469 483 469 469 470 493 543 493 549 499 552 495 553 468 487 469 489 468 469 469 490 522 565 521 563 527 548 518 562 659 469 468 469 126 108 86 57 1134 921 126 270 927 922 125 263 469 469 468 506 123 45 61 85 921 948 105 188 937 937 108 187 0 17 18 28 55 48 43 44 0 38 73 75 0 34 80 75 29 26 29 87 55 49 43 81 40 87 79 113 39 89 78 111 Mix4 # Number of pages mapped to each cache bank Mix8 Tema 2 – Memoria Alberto Ros Bardisa 28 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Evaluation Multiprogramed workloads bin o dR in ob dR un o R 2.6 2.5 2.4 -1 2.3 RR DA R-4 2.2 R 16 DA RR6 2.1 24 DA R-64 R-25 R-10 uch R R 2.0 R To A A t A s D D D Fir 1.9 1.8 0.80 0.85 0.90 0.95 1.00 Normalized memory misses Distance to home (hops) Distance to home (hops) Parallel applications un Ro 4.0 3.5 -1 RR DA R-4 6 R -1 DA RR 4 DA R-6 R DA 3.0 2.5 2.0 1.5 -25 RR DA 1.0 0.5 0.60 0.70 0.80 0.90 6 24 -10 RR ouch A D stT Fir 1.00 Normalized memory misses A threshold value between 64 and 256 obtains a good trade-off. Tema 2 – Memoria Alberto Ros Bardisa 29 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Evaluation Parallel applications RoundRobin FirstTouch Normalized execution time Parallel applications DARR-1 DARR-4 DARR-16 DARR-64 DARR-256 DARR-1024 1.1 1.0 0.9 0.8 s rne Ba T FF Gd MP ec nc MP Ge n ea Oc dix Ra ed nd lre tur uc Vo e ac ytr Ra str Un r-N te Wa sq ge era Av DARR-256 improves Round-Robin by 5% and First-Touch by 2%. Tema 2 – Memoria Alberto Ros Bardisa 30 / 35 Algo de investigación Distance-Aware Round-Robin Mapping Evaluation Multiprogramed workloads RoundRobin FirstTouch Normalized execution time Multi-programmed workloads DARR-1 DARR-4 DARR-16 DARR-64 DARR-256 DARR-1024 1.1 1.0 0.9 0.8 0.7 0.6 0.5 x4 Mi x8 Mi n4 ea Oc 4 dix Ra ge era Av DARR-256 improves Round-Robin by 14% and First-Touch by 7%. Tema 2 – Memoria Alberto Ros Bardisa 31 / 35 Algo de investigación Adaptive Cache Indexing Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 32 / 35 Algo de investigación Adaptive Cache Indexing Adaptive Cache Indexing LSB indexing vs. disperse indexing Memory addresses requested Memory addresses requested LSB indexing 43210 Bit position 00000 00100 01000 01100 10000 10100 11000 11100 000 100 000 100 000 100 000 100 DM cache set 0 set 1 set 2 set 3 set 4 set 5 set 6 set 7 Bits selected to form the index Unused set Tema 2 – Memoria Other−bits indexing 43210 Bit position 00000 00100 01000 01100 10000 10100 11000 11100 000 001 010 011 100 101 110 111 Conflict−free set DM cache set 0 set 1 set 2 set 3 set 4 set 5 set 6 set 7 Conflicting set Alberto Ros Bardisa 33 / 35 Conclusiones Agenda 1 Esquema de la Jerarquía de Memoria Último nivel de cache (LLC) 2 El mapeo de memoria Mapeo a conjunto de cache (índice) Mapeo a banco de memoria (nodo home) 3 CMPs actuales 4 Algo de investigación Distance-Aware Round-Robin Mapping Adaptive Cache Indexing 5 Conclusiones Tema 2 – Memoria Alberto Ros Bardisa 34 / 35 Conclusiones Conclusiones y otros aspectos Se han realizado avances en la jerarquía de memoria pero todavía queda mucho que investigar ¿Cual es el valor más frecuente tanto en caches como en memoria? Tema 2 – Memoria Alberto Ros Bardisa 35 / 35 Conclusiones Conclusiones y otros aspectos Se han realizado avances en la jerarquía de memoria pero todavía queda mucho que investigar ¿Cual es el valor más frecuente tanto en caches como en memoria? El cero → ¿Compresión de datos en caches? Tema 2 – Memoria Alberto Ros Bardisa 35 / 35 Conclusiones Conclusiones y otros aspectos Se han realizado avances en la jerarquía de memoria pero todavía queda mucho que investigar ¿Cual es el valor más frecuente tanto en caches como en memoria? El cero → ¿Compresión de datos en caches? Otros aspectos: Consistencia ¿Sabemos realmente que resultados debemos esperar de nuestros programas? Asumimos que inicialmente x e y tienen valor 0 x = 1; print y; Tema 2 – Memoria y = 1; print x; Alberto Ros Bardisa 35 / 35 Conclusiones Conclusiones y otros aspectos Se han realizado avances en la jerarquía de memoria pero todavía queda mucho que investigar ¿Cual es el valor más frecuente tanto en caches como en memoria? El cero → ¿Compresión de datos en caches? Otros aspectos: Consistencia ¿Sabemos realmente que resultados debemos esperar de nuestros programas? Asumimos que inicialmente x e y tienen valor 0 x = 1; print y; y = 1; print x; En procesadores Intel y AMD el par (x, y) = (0, 0) es posible! Tema 2 – Memoria Alberto Ros Bardisa 35 / 35