A parallel-processor architecture with two or more processors that share the same logical-address space. A loosely coupled multiprocessor is a multiprocessor in which the individual processors have their own local memories and usually execute programs out of them but also share the memories of other processors. A tightly coupled multiprocessor is one in which the CPUs share a common main memory; it is approximately equivalent to the group of multiprocessors with global memory. Modern multicore chips contain multiple CPUs with their own local memory and may also have internal shared memory, both typically in the form of caches.