https://courses.grainger.illinois.edu/ece524/sp2021/Spectre_Attacks__Exploiting_Speculative_Execution.pdf