A single-core processor has one general-purpose processing core, while a multi-core processor contains two or more cores capable of processing separate instruction streams. A co-processor is a specialized processor that supports the main CPU by performing a particular category of task.
A processing core includes components needed to execute instructions, such as an arithmetic logic unit, control unit, and registers. A single-core CPU can appear to run several programs through time slicing, where the operating system rapidly switches between tasks, but this is not the same as cores executing different instruction streams simultaneously.
A multi-core CPU supports parallel processing. For example, one core might process a game's physics while another handles background operating-system tasks. However, performance does not automatically double when the number of cores doubles: software must be designed so that tasks can be divided into independent threads, and some instructions must still run sequentially.
| Processor type | Structure and operation | Main implication |
|---|---|---|
| Single-core | One general-purpose processing core | Executes one instruction stream at a time at the core level; multitasking relies mainly on rapid task switching |
| Multi-core | Two or more general-purpose cores in one processor | Can execute multiple instruction streams concurrently when software supports parallelism |
| Co-processor | Specialized processor working alongside the CPU | Performs specific operations more efficiently, reducing the CPU's workload |
Examples of co-processors include a graphics processing unit (GPU) for highly parallel graphics calculations and specialized artificial-intelligence accelerators. A co-processor does not replace the main CPU because it is optimized for a narrower task.
A common misconception is that these are three mutually exclusive processor designs. In fact, a computer can have a multi-core CPU and one or more co-processors.
For an IB compare or distinguish question, state differences in core number, purpose, and ability to process instruction streams concurrently. Avoid claiming that more cores always produce proportionally faster performance; link performance to software parallelization and the type of workload.