This document discusses parallel processing and multiprocessing. It begins by explaining how processor performance is measured and how increasing clock frequency and instructions per cycle can improve performance. It then provides a taxonomy of parallel processor architectures including SISD, SIMD, MISD, and MIMD models. The MIMD model is further classified based on tightly-coupled and loosely-coupled systems. Symmetric multiprocessors (SMPs) and issues like cache coherence are discussed for tightly-coupled MIMD systems. Hardware and software solutions to cache coherence are also summarized.