Single-threaded execution, traditional microprocessors, DLP, ILP, TLP, memory wall, Parallel programming and performance issues, Shared memory multiprocessors, Synchronization, small-scale symmetric multiprocessors on a snoopy bus, cache coherence on snoopy buses, Scalable multiprocessors, Directory-based cache coherence, Interconnection network, Memory consistency models, Software distributed shared memory, multithreading in hardware, Chip multiprocessing, Current research and future trends.