Performance as well as non-performance issues in current michroarchitecture research and development. Modern techniques to fight control dependence (advanced branch predictors), and data dependence (perfecting algorithms, data speculation techniques), and techniques to scale michroarchitectures for supporting large number of in-flight instructions. Design of microprocessors for low power, reliability, and security. Power/performance trade-offs and metrics, transient fault detection and recovery, designs for reliability and hardware level security (memory integrity and code pointer protection).