CPU (Central Processing Unit), czyli procesor centralny, to główna jednostka obliczeniowa komputera. To on pobiera instrukcje programów z pamięci, dekoduje je i wykonuje — od dodawania dwóch liczb po decyzję, którą gałąź if wybrać. Mówiąc obrazowo: jeśli komputer to firma, CPU jest tym pracownikiem, który faktycznie odwala robotę, podczas gdy reszta podzespołów dostarcza mu dane i prąd.
Jak to działa
Każdy rdzeń CPU kręci się w nieskończonej pętli zwanej cyklem fetch-decode-execute: pobierz instrukcję, zrozum ją, wykonaj, powtórz — miliardy razy na sekundę. Tempo tej pętli to taktowanie (mierzone w GHz), a liczba rdzeni (cores) i wątków (threads, dzięki SMT/Hyper-Threading) mówi, ile takich pętli kręci się równolegle. Do tego dochodzi pamięć podręczna (cache L1/L2/L3), która trzyma najczęściej używane dane tuż przy rdzeniu, bo sięganie po nie do RAM-u trwa wieczność (w skali procesora).
Wydajność to nie sam zegar. 8 rdzeni po 3 GHz potrafi przerobić więcej zadań współbieżnych niż 4 rdzenie po 4 GHz — pod warunkiem, że Twój program w ogóle umie korzystać z wielu rdzeni. Liczy się też architektura (IPC, czyli ile instrukcji na cykl) oraz lista wspieranych instrukcji, np. AVX czy AES.
Z praktyki
Na Linuksie szybki podgląd procesora dostaniesz komendą lscpu — pokaże model, liczbę rdzeni, wątków, rozmiary cache i flagi (np. avx2). Gdy aplikacja muli, sprawdź obciążenie w htop: jeśli jeden rdzeń jest na 100%, a reszta drzemie, to znak, że masz wąskie gardło jednowątkowe i dorzucanie rdzeni nic nie da. W kontenerach pamiętaj o limitach: docker run --cpus=2 przydziela kontenerowi czas obliczeniowy odpowiadający dwóm rdzeniom.
Częste błędy i mity
- „Więcej GHz = szybciej” — tylko w obrębie tej samej architektury. Porównywanie zegarów między np. Intelem a Apple Silicon nie ma sensu.
- Mylenie CPU z GPU — CPU jest mistrzem zadań sekwencyjnych i logiki, GPU miażdży zadania mocno równoległe (grafika, trening modeli ML). To różne narzędzia.
- Ignorowanie chłodzenia — gorący procesor robi thermal throttling, czyli sam zwalnia, żeby się nie usmażyć. Twoje benchmarki potrafią wtedy kłamać.
Pojęcia powiązane
GPU, RAM, cache, rdzeń (core), wątek (thread), taktowanie, architektura ISA (x86, ARM), kod maszynowy, asembler.