Definition
Processor Core
A processor core is one independent execution unit inside a processor.
A core can fetch, decode, and execute instructions on its own. It therefore has the main logic needed to run a program, such as control logic, registers, and execution units.
A processor may contain one core or several cores. If it contains several, it is a multi-core processor.
Relation to parallelism
Multi-core processors
Multiple cores allow different instruction streams or threads to run at the same time.
This is a form of spatial parallelism, because the hardware is duplicated.
Example
Single-core vs multi-core
A single-core processor can execute only one instruction stream at a time.
A quad-core processor contains four processor cores, so up to four threads can execute in parallel, provided the software and operating system support this.