Numerous techniques have been developed to reduce TLB miss penalty in uniprocessors, including the impact of TLB size, associativity, multilevel hierarchies, super pages, and prefetching. TLB design and optimizations for multiprocessors are currently being actively research. In this project, I will first review and recreate the results from recent papers on TLB optimizations. I will continue by proposing and evaluating my own enhancements in this space.