I'm currently investigating Meltdown in combination with X86.
The cause of Meltdown is that due to out of order execution, access to memory can be done in a page that doesn't have the correct permissions to be accessed. And using a side channel attack based on cache timing every byte from that page can be accessed.
This part is clear.
What isn't clear is if my understanding of the MMU is correct.
The MMU is in charge of doing virtual to physical address translation and to verify the permissions on the page.
The question is if the MMU is a black box or if the MMU is just a concept and is implemented by generating the appropriate uops including the permission validation. And since these uops can be executed out of order, it is possible to access the address before the permissions have been validated and hence we have Meltdown.