# Computer Architecture
Computer architecture definiuje organizację i zachowanie komponentów sprzętowych komputera, kładąc nacisk na interakcje między CPU, pamięcią i I/O, które determinują wydajność i efektywność energetyczną.
Computer architecture encompasses the design and organization of the central processing unit (CPU), memory hierarchy, input/output systems, and the interconnections among these components. It includes instruction set architectures (ISAs), datapath design, control logic, pipelining strategies, cache hierarchies, virtual memory, memory coherence, and parallel processing models. Foundational models such as Von Neumann (shared memory for instructions and data) and Harvard (separate instruction and data memories) illustrate how architectural choices impact performance, power, and cost. Modern architectures balance latency and throughput through techniques like deep pipelines, branch prediction, cache coherence protocols, memory-level parallelism, and multi-core or many-core designs. A complete view also considers I/O subsystems, storage hierarchies, and virtualization that enable scalable, secure, and interoperable systems.
graph LR
Center["# Computer Architecture"]:::main
Rel_security_architecture["security-architecture"]:::related -.-> Center
click Rel_security_architecture "/terms/security-architecture"
Rel_hardware_security["hardware-security"]:::related -.-> Center
click Rel_hardware_security "/terms/hardware-security"
Rel_security_automation["security-automation"]:::related -.-> Center
click Rel_security_automation "/terms/security-automation"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Wyjaśnij jak 5-latkowi
🧠 Architektura komputerowa jest jak plan miasta, który decyduje o tym, jak budynki (procesory) i drogi (połączenia) współpracują, aby sprawnie wykonywać zadania.
🤓 Expert Deep Dive
## Dogłębna Analiza Ekspercka: Architektura Komputerów
Nowoczesna architektura komputerów wykracza poza podstawowe opisy komponentów, zagłębiając się w złożone warstwy abstrakcji i optymalizacji. Na poziomie Architektury Zestawu Instrukcji (ISA), fundamentalne rozbieżności między paradygmatami RISC (np. ARM) a CISC (np. x86) determinują złożoność instrukcji, użycie rejestrów i tryby adresowania, wpływając zarówno na przenośność oprogramowania, jak i implementację sprzętową. Następnie mikroarchitektura realizuje tę ISA, wykorzystując zaawansowane techniki, takie jak wykonywanie superskalarne, wykonywanie poza kolejnością (OoOE) z buforami ponownego porządkowania i stacjami rezerwowymi, oraz wyrafinowane mechanizmy przewidywania rozgałęzień (np. Gshare, BTB) w celu maksymalizacji równoległości na poziomie instrukcji (ILP).
Hierarchia pamięci jest kluczowym obszarem projektowania, równoważącym opóźnienia i przepustowość poprzez wielopoziomowe pamięci podręczne (L1, L2, L3) zarządzane przez protokoły takie jak MESI i wykorzystujące różnorodne polityki zastępowania (LRU, FIFO). Poza spójnością pamięci podręcznej, modele spójności pamięci (sekwencyjne, rozluźnione) głęboko wpływają na paradygmaty programowania wieloprocesorowego. Równoległość jest wykorzystywana na poziomie wątków (TLP) i danych (DLP), manifestując się w projektach wielordzeniowych ze współdzielonymi pamięciami podręcznymi i architekturach NUMA, oraz w systemach wielu rdzeni, takich jak GPU wykorzystujące modele wykonania SIMT i masową równoległość. Interkonekty, ewoluujące od magistral do wyrafinowanych Sieci na Chipie (NoC) o topologiach takich jak siatki i "fat-tree", są kluczowe dla komunikacji między rdzeniami. Wydajność jest coraz częściej kwantyfikowana przez efektywność energetyczną (Perf/Watt) i efektywność powierzchni (Perf/Area), napędzając innowacje w DVFS, wyłączaniu zegara (clock gating) i specjalizowanych akceleratorach (ASIC, FPGA, TPU) dla heterogenicznych obliczeń. Funkcje bezpieczeństwa architektonicznego, takie jak TEE (Trusted Execution Environments) i środki zaradcze przeciwko atakom kanałów bocznych, są również najważniejsze.
❓ Częste pytania
What is the difference between computer architecture and computer organization?
Computer architecture defines the high-level design and the functional capabilities of a system, while computer organization describes how the components are arranged and operate to realize those capabilities.
What are Von Neumann and Harvard architectures?
Von Neumann architecture uses a single shared memory for instructions and data; Harvard architecture uses separate memories for instructions and data, affecting bandwidth and design tradeoffs.
Why is memory hierarchy important in architecture?
A memory hierarchy (registers, L1/L2/L3 caches, main memory) hides latency and increases effective bandwidth by exploiting locality, thereby improving overall performance.