Provides a broad-scope treatment of important concepts in the design and implementation of high-performance computer systems. Discusses important issues in the pipelining of a processor, out-of-order instruction issue and superscalar designs, design of cache memory systems for such systems, and architectural features required for multicore processor designs. Also studies current and historically important computer architectures. Recommended prerequisite: knowledge of C/C++ and Assembly programming languages, and computer organization and experience using a Linux system for programming and its associated capabilities of compilation and debugging. Same as ECEN 5593 and CSCI 5593.