na wiki jsem nasel u cpu cache zajimavy vypocet rychlosti ziskani dat z pameti s pouzitim ruznych cache:
Example: main memory = 50 ns, L1 = 1 ns with 10% miss rate, L2 = 5 ns with 1% miss rate, L3 = 10 ns with 0.2% miss rate.
No cache, AAT = 50 ns
L1 cache, AAT = 1 ns + (0.1 × 50 ns) = 6 ns
L1–2 caches, AAT = 1 ns + (0.1 × [5 ns + (0.01 × 50 ns)]) = 1.55 ns
L1–3 caches, AAT = 1 ns + (0.1 × [5 ns + (0.01 × [10 ns + (0.002 × 50 ns)])]) = 1.5101 ns
Více-úrovňová keš nemá až zas tak velký smysl, protože RAM má pořád stejnou "cenu" narozdíl od keší na procesoru, které jsou spíše implementovány pomocí SRAM.
Nicméně existují hybridní cache-eviction algoritmy, kde se položky přesouvají mezi jednotlivými vrstvami na základě zvoleného algoritmu, a každá vrstva má jinak řešeno vyhazování. Viz ten odkazovaný článek do wikipedie.
Víceúrovňová cache se případně používá na úrovni sítě – váš počítač má svou DNS cache. Když v ní nenajde odpověď, zeptá se cache v síti. Když ta nenajde odpověď, zeptá se cache u ISP, když ta nemá odpověď, zeptá se třeba ještě cache Googlu, Cloudflare nebo CZ.NICu.
Pak to někdo celé obejde, když si rovnou na počítači nastaví cache Googlu… (A někdy oprávněně, pokud místní cachující resolver nebo resolver ISP odpovídá pomaleji, než Google…)