Difference between cpu, processor and core?

The terms 'Processor', 'Core', and 'CPU' are all poorly defined and have undergone many changes in meaning over the year as computer architectures have evolved and changed.

Under modern terminology, 'Processor' and 'CPU' mean more or less exactly the same thing. It would be more accurate to refer to the 'processor package' because there's no real standard to what a the package contains. Very old CPUs from 15-20 years ago contained little more than the bare minimum to execute tasks.

They contained the ALUs, fetch and decode hardware, Instruction pipeline, Interrupt handling hardware, some IO control hardware and that's about it. After this, cache memory was added to the CPU to improve execution

Then, the execution parts of the processor were duplicated. The ALUs, fetch and decode, instruction pipline, and some cache memory were organized into what we now call "cores". Each core is capable of functioning on its own and contain all the resources necessary to perform computational tasks that do not involve interacting with components outside the CPU. IO Control, interrupt handling, etc... were all shared between all the cores.

More recently the memory controller itself has been moved into the CPU package. It sits along side the CPU cores but it is not part of them. Thus it is part of the package, or part of the processor/CPU but it is not part of the 'cores'. Intel used to specifically refer to this as the 'un-core'.

This gets even more complicated when we talk about systems which have multiple physical processor packages installed. Many server and workstation platforms can have 2, 4, or even more processor packages installed. Each processor package contains the same hardware.

Thus, the number of 'cores' in a machine can be computed by taking the number of cores per package and multiplying it by the number of packages in the system. A computer which has two quad core processors has the same number of cores as a computer which has a single octal core processor.

Multi Processor (4)
Each one of those processor sockets (the flat ones with all the pins and metal coverings) can hold an AMD Opteron 6100 series processor. Each Opteron 6100 processor has either 8 or 12 cores inside which means that particular system can have between 8 (a single 8-core processor installed) and 48 cores present (4 12-core processors installed).