uniformitat de les dades de recursos compartits From Wikipedia, the free encyclopedia
En l'arquitectura d'ordinadors, la coherència de la memòria cau és la uniformitat de les dades de recursos compartits que s'emmagatzemen en múltiples memòria cau local. Quan els clients d'un sistema mantenen la memòria cau d'un recurs de memòria comú, poden sorgir problemes amb dades incoherents, que és particularment el cas de les CPU en un sistema multiprocessament.[1]
A la il·lustració de la dreta, considereu que tots dos clients tenen una còpia en memòria cau d'un bloc de memòria concret d'una lectura anterior. Suposem que el client de la part inferior actualitza/canvia aquest bloc de memòria, el client de la part superior es podria deixar amb una memòria cau no vàlida sense cap notificació del canvi. La coherència de la memòria cau està pensada per gestionar aquests conflictes mantenint una visió coherent dels valors de dades en múltiples memòria cau.
En un sistema multiprocessador de memòria compartida amb una memòria cau separada per a cada processador, és possible tenir moltes còpies de dades compartides: una còpia a la memòria principal i una altra a la memòria cau local de cada processador que ho ha sol·licitat. Quan es canvia una de les còpies de dades, les altres còpies han de reflectir aquest canvi. La coherència de la memòria cau és la disciplina que assegura que els canvis en els valors dels operands compartits (dades) es propaguen per tot el sistema de manera oportuna.[2]
Els següents són els requisits per a la coherència de la memòria cau: [3]
Teòricament, la coherència es pot realitzar a la granularitat de càrrega/emmagatzematge. Tanmateix, a la pràctica generalment es realitza amb la granularitat dels blocs de memòria cau.[4]
La coherència defineix el comportament de les lectures i escriptures en una única ubicació d'adreça.[5]
Un tipus de dades que es produeixen simultàniament en diferents memòries cau s'anomena coherència de memòria cau, o en alguns sistemes, memòria global.
En un sistema multiprocessador, considereu que més d'un processador ha emmagatzemat en memòria cau una còpia de la ubicació de memòria X. Les condicions següents són necessàries per aconseguir la coherència de la memòria cau: [6]
Els dos mecanismes més habituals per garantir la coherència són el rastreig i el basat en directoris, cadascun amb els seus propis avantatges i inconvenients. Els protocols basats en snooping solen ser més ràpids, si hi ha prou amplada de banda disponible, ja que totes les transaccions són una sol·licitud/resposta vista per tots els processadors. L'inconvenient és que el snooping no és escalable. Cada sol·licitud s'ha de transmetre a tots els nodes d'un sistema, és a dir, a mesura que el sistema es fa més gran, la mida del bus (lògic o físic) i l'ample de banda que proporciona ha de créixer. Els directoris, d'altra banda, solen tenir latències més llargues (amb una sol·licitud/enviament/resposta de 3 salts), però utilitzen molt menys amplada de banda, ja que els missatges són punt a punt i no s'emeten. Per aquest motiu, molts dels sistemes més grans (>64 processadors) utilitzen aquest tipus de coherència de memòria cau.
S'han ideat diversos models i protocols per mantenir la coherència, com ara MSI, MESI (també conegut com Illinois), MOSI, MOESI, MERSI, MESIF, write-once, Synapse, Berkeley, Firefly i Dragon protocol. El 2011, ARM Ltd va proposar l'AMBA 4 ACE [7] per gestionar la coherència en els SoC. L'especificació AMBA CHI (Coherent Hub Interface) [8] d'ARM Ltd, que pertany al grup d'especificacions AMBA5 defineix les interfícies per a la connexió de processadors totalment coherents.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.