1. An apparatus comprising: a multithreaded memory management unit (MMU) configured to receive two or more address translation requests from one or more upstream devices, wherein the multithreaded MMU is further configured to process at least two of the two or more address translation requests in parallel, to obtain corresponding translated addresses of a system memory.