 Designers may couple cores in a multi-core device tightly or loosely.For example, cores may or may not share caches, and they may implement message passing or shared-memory inter-core communication methods.Common network topologies to interconnect cores include bus, ring, two-dimensional mesh, and crossbar.