Multi-processor, when referring to Intel hardware, means multiple chips (sockets) on a motherboard. In a more general sense, it means either multi-core or multi-socket, or a combination, or even a cluster of motherboards. From the software point of view, you want to go as far as possible to make the software adaptable to a variety of hardware topologies, avoiding distinction between varieties of multi-processing.
What does wikipedia say?
So, as far as I understand, "multi-core" then can be seen as two or more processors wrapped in a single unit or box.
Am I right?
That Wikipedia notation is a little skewed. A core is the collection of essentials that form a physical processing element: the instruction pipeline andALUs, and thebuffers and caches that tie it all together, as opposed to what's sometimes called the un-core, the communications, outer caches and off-chip drivers that often surround the core. The processor Intel code-named Merom is such a beast: two cores that share an on-chip outer cache.
Extra cores can be obtained through tight integration as described above, or through replication. The Intel Core 2 Quad processor formerly known as Kentsfield uses essentially two Merom cores, sitting side by side.
However the cores are produced, the distinction of a multi-core processor to a single-core processor is the presence of more than one of these cores on a single chip, or part or socket. Multiple sockets can compound the number of cores on a board, which would go into whatsome people might refer to as a unit or box. It's all part of a hierarchy of multi-processing thatnow being extendedontoa singlechip has been stretched out one more layer.