<P> A multi-core processor is a single computing component with two or more independent processing units called cores, which read and execute program instructions . The instructions are ordinary CPU instructions (such as add, move data, and branch) but the single processor can run multiple instructions on separate cores at the same time, increasing overall speed for programs amenable to parallel computing . Manufacturers typically integrate the cores onto a single integrated circuit die (known as a chip multiprocessor or CMP) or onto multiple dies in a single chip package . The microprocessors currently used in almost all personal computers are multi-core . </P> <P> A multi-core processor implements multiprocessing in a single physical package . 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 . Homogeneous multi-core systems include only identical cores; heterogeneous multi-core systems have cores that are not identical (e.g. big. LITTLE have heterogeneous cores that share the same instruction set, while AMD Accelerated Processing Units have cores that don't even share the same instruction set). Just as with single - processor systems, cores in multi-core systems may implement architectures such as VLIW, superscalar, vector, or multithreading . </P>

What is the function of core in processor