To pole (probe_array) se nepoužívá pro zmatení branch prediktoru, ale pro zjištění hodnoty na té adrese. Protože přímo z cache tu hodnotu nevyčtete. Dá se to ale nepřímo pomocí zjištění, která stránka skončila v cache po provedení probe_array[4096 * (*adresa)]. Koukněte na Listing 1 (a 2 pro ASM verzi) v tom paperu. Figure 4 potom ukazuje, že prostá iterace přes probe_array (kam máte přístup) stačí ke zjištění neznámé hodnoty, protože ta jedna použitá stránka z cache je rozpoznatelná podle rychlosti přístupu k ní.
Ty adresy pro mapování paměti nemám z Meltdown paperu, ale z prezentace pro debugging Linuxového kernelu. Samotná dokumentace kernelu říká:
4 level TLB:
ffff880000000000 - ffffc7ffffffffff (=64 TB) direct mapping of all phys. memory
Takže bych řekl, že to už namapováno je a MMU to bez otázek přeloží. Urychlení může spočívat čistě v tom, že tu paměť přečtete sekvenčně. Meltdown paper tvrdí, že rychlost čtení je méně než jeden MBps. To není zrovna závratná rychlost.