This document discusses multiprocessor architectures and synchronization issues in multiprocessors. It covers symmetric and distributed shared memory architectures, cache coherence issues, Flynn's taxonomy of parallel architectures including SISD, SIMD, MISD and MIMD models, and basic schemes for enforcing cache coherence including directory-based and snooping-based protocols. It also discusses performance issues, distributed shared memory, and synchronization mechanisms and primitives in multiprocessors.