Znajomość architektury CPU jest ważna dla każdego bardziej zaawansowanego użytkownika użytkownika komputera. Dowiedz się, jak sprawdzić architekturę CPU w systemie Linux.
Czym jest architektura procesora CPU?
Architektura CPU to – w dużym uproszczeniu – sposób, w jaki zbudowany jest procesor. Obejmuje ona w szczególności dane dotyczące zestawu instrukcji, rejestrów widocznych dla programisty, organizacji pamięci, wejść i wyjść, sposobu obsługi wieloprocesorowości.
Na architekturę CPU składają się w szczególności:
- Model programowy procesora (ISA) – dotyczy organizacji, funkcjonalności i zasad działania procesora, widoczne z punktu widzenia programisty jako dostępne mechanizmy programowania. Obejmuje m.in. listę rozkazów procesora, obsługiwane typy danych, dostępne typy adresowania, zestaw rejestrów, zasady obsługi wyjątków i przerwań.
- Mikroarchitektura procesora – sprzętowa implementacja procesora definiująca sposób jego działania.
Do najpopularniejszych architektur CPU należą obecnie x86 (oraz x86_64 lub amd64 dla wersji 64-bitowej) stosowane głównie w serwerach, komputerach stacjonarnych i laptopach, a także architektura ARM, która rządzi w świecie urządzeń przenośnych, coraz częściej trafia jednak również do serwerów i komputerów, w tym najnowszych Maków od Apple. O wiele rzadziej spotykane są architektury MIPS, PowerPC, RISC-V i inne.
Jak sprawdzić architekturę CPU w Linux?
Poniżej przedstawiamy dwa sposoby na sprawdzenie architektury procesora w systemie Linux przy pomocy systemowych narzędzi.
Polecenie lscpu
Polecenie lscpu pozwala wyświetlić szczegółowe informacje o zainstalowanym w komputerze procesorze, w tym – oczywiście – o jego architekturze.
W celu sprawdzenia architektury CPU przy pomocy tego polecenia należy uruchomić terminal i wpisać:
lscpu
Po wykonaniu polecenia wyświetlą się informacje podobne do tych poniżej:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 40 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: GenuineIntel
Model name: Intel Core Processor (Haswell, no TSX)
CPU family: 6
Model: 60
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
Stepping: 1
BogoMIPS: 4788.90
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtsc
p lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2
x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_singl
e pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
Virtualization features:
Virtualization: VT-x
Hypervisor vendor: KVM
Virtualization type: full
Caches (sum of all):
L1d: 128 KiB (4 instances)
L1i: 128 KiB (4 instances)
L2: 16 MiB (4 instances)
L3: 64 MiB (4 instances)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
Vulnerabilities:
Itlb multihit: KVM: Mitigation: VMX disabled
L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT disabled
Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Meltdown: Mitigation; PTI
Mmio stale data: Not affected
Spec store bypass: Vulnerable
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines, STIBP disabled, RSB filling
Srbds: Unknown: Dependent on hypervisor status
Tsx async abort: Not affected
Informacja o architekturze procesora jest prezentowana już w pierwszej linijce. Na podanym przykładzie jest to architektura x86_64.
Architecture: x86_64
Polecenie uname
Prezentowane powyżej polecenie lscpu wyświetla pełne informacje o procesorze. Dane o architekturze CPU można jednak pozyskać w sposób jeszcze prostszy przy pomocy polecenia:
uname -m
Jako odpowiedź wyświetlona zostanie jedynie informacja o architekturze CPU:
x86_64