cs.phhsnews.com


cs.phhsnews.com / Když se cache CPU vyprázdní zpět do hlavní paměti?

Když se cache CPU vyprázdní zpět do hlavní paměti?


Pokud se právě začínáte naučit, jak pracují vícejádrové procesory, ukládání do mezipaměti, koherence mezipaměti a paměti, nejprve matoucí. S ohledem na to má dnešní příspěvek SuperUser Q & A odpovědi na zvědavou čtenářskou otázku.

Dnešní dotazy týkající se otázky Otázka a odpověď se k nám přicházejí s laskavým svolením SuperUser - subdivize Stack Exchange, komunitní skupiny webových stránek Q & A. > Otázka

čtečka SuperUser CarmeloS chce vědět, kdy je mezipaměť procesoru vrácena zpět do hlavní paměti:

Pokud mám CPU se dvěma jádry a každé jádro má vlastní L1 cache, je možné, že Core1 a Core2 současně ukládat do paměti stejnou část paměti? Pokud je to možné, jaká bude hodnota hlavní paměti, pokud Core1 a Core2 upraví své hodnoty v mezipaměti?

Kdy je mezipaměť CPU proplavena zpět do hlavní paměti?

Odpovědi

Schwartz, sleske a Kimberly W mají odpověď. Nejdřív, David Schwartz:

Pokud mám CPU se dvěma jádry a každé jádro má vlastní L1 cache, je možné, že Core1 a Core2 současně ukládají do paměti stejnou část paměti?

Ano, výkon by byl hrozný, kdyby tomu tak nebylo. Zvažte dva podprocesy se stejným kódem. Chcete kód v obou mezipaměti L1

Pokud je to možné, jaká bude hodnota hlavní paměti v případě, že Core1 a Core2 upraví své hodnoty v mezipaměti?

Stará hodnota bude v hlavní paměti, nezáleží na tom, jelikož jádro ji nebude číst. Před vysunutím upravené hodnoty z mezipaměti musí být zapsána do paměti. Obvykle se používá některá varianta protokolu MESI. V tradiční implementaci MESI, pokud je hodnota změněna v jedné mezipaměti, nemůže být vůbec přítomna v žádné jiné mezipaměti na stejné úrovni.

Následuje odpověď sleske:

Ano, má dvě mezipaměti mezipaměti může dojít ke stejné paměťové oblasti a je to vlastně problém, který se v praxi vyskytuje hodně. Existují různá řešení, například:

Dvě vyrovnávací paměti mohou komunikovat, aby se ujistily, že nesouhlasí

  • Můžete mít nějakého supervizora, který sleduje všechny mezipaměti a odpovídajícím způsobem je aktualizuje
  • Každý procesor sleduje paměťové oblasti že má mezipaměť a když detekuje zápis, vyhazuje svou (nyní neplatnou) mezipaměť
  • Problém se nazývá koherence mezipaměti a článek Wikipedie o tématu má pěkný přehled problému a možných řešení.

A naše konečná odpověď od Kimberly W:

Chcete-li odpovědět na otázku v názvu vašeho příspěvku, záleží na tom, co je protokol ukládání do mezipaměti. Pokud se jedná o zpětný zápis, mezipaměť bude vrácena zpět do hlavní paměti pouze tehdy, když má správce mezipaměti jinou možnost než vložení nového mezipaměti do již obsazeného prostoru. Blok, který dříve obsadil prostor, je odebrán a jeho hodnota je zapsána zpět do hlavní paměti.

Druhý protokol je zápis. V takovém případě kdykoli je mezipaměť zapsána na úrovni

n , aktualizuje se odpovídající blok na úrovni n + 1 . V konceptu je podobná vyplňování formuláře s podtlakovým papírem; vše, co píšete nahoře, je zkopírováno na list níže. To je pomalejší, protože samozřejmě zahrnuje více operací psaní, ale hodnoty mezi mezipaměti jsou konzistentnější. V schématu zápisu zpětné vazby by měla nejaktuálnější mezní hodnota pro určitý paměťový blok pouze mezipaměť nejvyšší úrovně. Musíte něco přidat k vysvětlení? Zní to v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.


Image Credit: Lemsipmatt (Flickr)


Nastavení Facebooku obsahují tlačítka ochrany osobních údajů, která dělají absolutně nic

Nastavení Facebooku obsahují tlačítka ochrany osobních údajů, která dělají absolutně nic

Nastavení ochrany osobních údajů ve Facebooku je nepořádek - nikdy nenajdu vylepšení, které hledám. Zřejmě Facebook není si jistý, co tam je. Hned v sekci Nastavení> Aplikace a aplikace "Apps Others Use" najdete celou část možností, která od roku 2014 nic neučinila. Je pravda, že na jeden bod Facebook sdílel vaše informace s aplikacemi, které nainstalovali vaši přátelé, ale Facebook se změnil před lety.

(how-top)

Jak restartovat Roku bez odpojení

Jak restartovat Roku bez odpojení

Modul Roku nemá tlačítko napájení a neexistuje žádný zřejmý způsob restartu v uživatelském rozhraní. Je nepříjemné, že? Je to problém, když se věci zřítily, ano, ale také proto, že věci jako aktualizace a přidávání soukromých kanálů jsou z velké části spuštěny restartováním systému. Neexistuje nějaký způsob, jak přinutit věc k restartování, aniž by bylo nutné odpojit napájení a zapojit jej znovu?

(how-top)