Intel Sapphire Rapids či Alder Lake nabídnou instrukce CLDEMOTE, k čemu?
5.6.2020, Jan Vítek, aktualita
Vedle procesorů Intel Sapphire Rapids a Alder Lake to jsou ještě Tremont, které využívají nové instrukce CLDEMOTE, jež se týkají způsobu využití paměti cache. My se můžeme v krátkosti podívat na to, k čemu konkrétnímu budou dobré.
Celkem tři procesorové rodiny firmy Intel budou vybaveny novými instrukcemi CLDEMOTE, o nichž se na svém blogu zmiňuje John McCalpin.
Jedná se o zeleně zvýrazněné procesorové rodiny Sapphire Rapids, Alder Lake a Tremont, čili půjde o procesory Intel Xeon, pak o příští Core, jež mají být určeny pro LGA 1700 a DDR5 a Tremont známe jako architekturu pro slabší Atomy, Pentia Silver, Celerony či Core Hybrid.
Instrukce CLDEMOTE, respektive "Cache Line Demote" poslouží k tomu, aby operační systém mohl sdělit procesorovému jádru, jaký konkrétní řádek v paměti cache už není zapotřebí, a jeho obsah tak může být přesunut jinam. Ovšem ne rovnou do hlavní operační paměti, nýbrž stále do procesorové cache, ale vyšší úrovně (z L1 do L2 a z L2 do L3). A k čemu to je dobré?
Jednak samozřejmě k tomu, aby se lépe uvolňovala paměť cache nižších úrovní, které mají nižší kapacitu, takže se počítá zpravidla s odsunem dat do sdílené L3 cache, která má v dnešních procesorech už velice slušnou kapacitu. I když záleží na architektuře, ostatně Intel v modernějších architekturách navyšuje kapacitu L2 cache právě na úkor L3, ale paměť nejvyšší úrovně má stále bezpečně nejvyšší kapacitu.
A zadruhé jde o to, že CLDEMOTE umožní rychlejší přesouvání zátěže (vláken procesů) mezi jednotlivými jádry, a to právě díky tomu, že ta si budou moci ihned vyzvednout příslušná data ze sdílené L3 cache. To tak má znamenat i pozitivní dopad na výkon, ale jak značný, to se zatím nedozvíme.