How simultaneous multithreading works under the hood | Hacker News