This document discusses parallel processing and cache coherence in computer architecture. It defines parallel processing as using multiple CPUs simultaneously to execute a program faster. It describes different types of parallel processor systems based on the number of instruction and data streams. It then discusses symmetric multiprocessors (SMPs), which have multiple similar processors that share memory and I/O facilities. Finally, it explains the cache coherence problem that can occur when multiple caches contain the same data, and describes the MESI protocol used to maintain coherence between caches.