Definition of a processor vs core (multiprocessor vs multicore)

Yes, A processor is a generic term used to describe any sort of CPU, regardless of cores. Same goes for CPU, it does not imply single or multi-core and can be used to refer to either.

A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions. The term has been used in the computer industry at least since the early 1960s. Traditionally, the term "CPU" refers to a processor, more specifically to its processing unit and control unit (CU), distinguishing these core elements of a computer from external components such as main memory and I/O circuitry.

Processing performance of computers is increased by using multi-core processors, which essentially is plugging two or more individual processors (called cores in this sense) into one integrated circuit. Ideally, a dual core processor would be nearly twice as powerful as a single core processor. In practice, the performance gain is far smaller, only about 50%, due to imperfect software algorithms and implementation. Increasing the number of cores in a processor (i.e. dual-core, quad-core, etc.) increases the workload that can be handled. This means that the processor can now handle numerous asynchronous events, interrupts, etc. which can take a toll on the CPU when overwhelmed. These cores can be thought of as different floors in a processing plant, with each floor handling a different task. Sometimes, these cores will handle the same tasks as cores adjacent to them if a single core is not enough to handle the information.

Due to specific capabilities of modern CPUs, such as hyper-threading and uncore, which involve sharing of actual CPU resources while aiming at increased utilization, monitoring performance levels and hardware utilization gradually became a more complex task.

Multi-processor systems are different however. This refers to a computer with a motherboard that supports more than 1 processor (usually 2 to 8 CPUs, but some super computers use special hardware that allows for many more to be used on a single motherboard). Here is a catch, multi-processor computers can (and usually do) use multi-core CPUs. For example, I have built several multi-processor servers that had two Intel Xeon 5560 Quad Core CPUs. This particular CPU offers a technology known as hyper threading. Hyper threading is a technology that virtually splits the 4 (quad) cores into halves, which effectively gives you a total of 8 cores per CPU. Since we have 8 cores per CPU with hyper-threading, and the system is multi-processor - the end result is a system with 16 cores. Each core can process a thread independently of the other cores, which means you have a lot more power to process information than you would with a single CPU.

enter image description here