| "Descrizione" by RS232 (2002 pt) | 2026-Jan-29 17:59 |
CPU – MICROPROCESSOR
Definition
A CPU (central processing unit) is a programmable MICROPROCESSOR that, within a single chip or integrated circuit, is responsible for directing and controlling the operation of the other components in an electronic system. The CPU fetches and executes software (instruction sequences) and, through buses and control signals, coordinates memories and peripherals on the board where it is installed. In practice, the CPU is the element that decides “what to do” and “when to do it”, orchestrating reads/writes and data flows to the other integrated circuits.

How it works (essential concepts)
A CPU runs a continuous cycle (simplified):
Fetch: retrieves an instruction from memory.
Decode: interprets it (operation type and operands).
Execute: performs the operation (calculation, branch, memory access, I/O).
Write-back: writes the result (to registers or memory).
To do this it uses:
Registers (very fast internal storage).
ALU (arithmetic-logic unit) and often an FPU (for floating-point) or vector units.
A control unit (logic that manages flow, branches, pipelining).
Cache (fast on-chip memories) to reduce wait time to RAM.
Speed: MHz and GHz (and why “just increasing frequency” is not enough)
Historically, CPU “speed” has been communicated via clock frequency:
MHz: typical for CPUs from the 1980s through part of the 2000s.
GHz: typical for more recent CPUs, when manufacturing processes and architecture enabled higher clocks.
However, increasing frequency has physical costs: dissipated power rises and generates heat. In practical terms, beyond a threshold you hit diminishing returns: more energy and more aggressive cooling are required, and thermal limits can reduce reliability and stability.
From “clock-only” to multi-core
To avoid turning higher frequency into a “microwave oven” problem (high power and high temperature), starting in the 2010s the dominant approach has been integrating multiple cores in the same chip:
DUAL-CORE: two cores.
QUAD-CORE: four cores.
HEXA-CORE: six cores.
(and beyond: OCTA-CORE, DECA-CORE, etc., depending on class).
A core is, essentially, a complete (or near-complete) CPU inside the same physical CPU package. The advantage is that, at similar or only moderately higher frequency, more threads/processes can run in parallel, improving overall performance for multitasking and parallelizable workloads.
Important limitation: multi-core does not automatically multiply performance for every program. The workload must be parallelizable (multiple threads/processes, software pipelining) and the memory subsystem must not become the bottleneck.
Typical components around a CPU (microprocessor-based system)
In a classic “MICROPROCESSOR system”, the CPU is paired with external or integrated components (depending on generation):
RAM: volatile working memory.
Non-volatile memory (ROM/FLASH/SSD): holds firmware and the operating system.
Chipset / controllers: manage buses, peripherals, and often memory (older architectures used separate chips; many modern systems integrate more of these functions).
I/O controllers: USB, SATA, PCIe, serial interfaces, audio, network, etc.
Optional dedicated or integrated GPU.
Difference vs MICROCONTROLLER
A different version of the microprocessor, oriented to embedded control, is the MICROCONTROLLER (MCU), which integrates on the same chip:
CPU
Memory (typically FLASH/ROM + RAM)
I/O channels and peripherals (GPIO, TIMER, UART, SPI, I2C, ADC, etc.)
So:
CPU/MICROPROCESSOR (MPU): often needs external memory and I/O to build a complete system; excels in complex, general-purpose systems.
MICROCONTROLLER (MCU): a “computer on a chip”, designed for real-time control, low power, and integration.
Sketch of the most important connections
┌──────────────────────────────┐ │ CPU │ │ core + cache + control unit │ └───────┬───────────┬──────────┘ │ │ memory bus I/O bus │ │ ▼ ▼ ┌────────────────┐ ┌─────────────────────┐ │ RAM │ │ I/O controllers │ │ (volatile) │ │ (USB, UART, PCIe…) │ └────────────────┘ └─────────────────────┘ │ ▼ ┌────────────────┐ │ ROM/FLASH/SSD │ │ (non-volatile) │ └────────────────┘
Table 1 – Essential data for a CPU/MICROPROCESSOR
| Characteristic | Practical meaning |
|---|---|
| Function | Executes software and controls the system |
| Programmability | Uses an ISA to command memory and peripherals |
| Frequency | Typically in MHz (historical) or GHz (modern) |
| Cores | 1 (single-core) or more (DUAL/QUAD/HEXA-CORE) |
| Real performance | Depends on architecture, cache, memory, parallelism, not only clock |
| External dependencies | Often requires external RAM and I/O (platform-dependent) |
Table 2 – Summary comparison: MICROPROCESSOR (CPU/MPU) vs MICROCONTROLLER (MCU)
| Aspect | MICROPROCESSOR (CPU/MPU) | MICROCONTROLLER (MCU) |
|---|---|---|
| Integration | Mainly the CPU, with many parts external | CPU + memory + I/O on the same chip |
| Memory | External RAM is common in many systems | On-chip RAM/FLASH are typical |
| Typical use | General-purpose, complex systems, full OS | Embedded control, real-time, low-power |
| Power/thermals | More critical at high performance | Optimized for efficiency |
| HW design | More complex (external buses, controllers) | Simpler (reduced BOM) |
| Evaluate |