# Computer Architecture

Computer architecture definiert die Organisation und das Verhalten der Hardwarekomponenten eines Computers und betont die Interaktionen zwischen CPU, Speicher und I/O, die Leistung und Energieeffizienz bestimmen.

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;

      

🧒 Erkläre es wie einem 5-Jährigen

🧠 Computerarchitektur ist wie der Bauplan einer Stadt, der bestimmt, wie Gebäude (Prozessoren) und Straßen (Verbindungen) zusammenarbeiten, um Dinge effizient zu erledigen.

🤓 Expert Deep Dive

## Experten-Deep-Dive: Computerarchitektur

Moderne Computerarchitektur geht über grundlegende Komponentenbeschreibungen hinaus und taucht tief in komplexe Abstraktionsebenen und Optimierungen ein. Auf der Ebene der Instruction Set Architecture (ISA) diktiert die grundlegende Divergenz zwischen RISC- (z. B. ARM) und CISC- (z. B. x86) Paradigmen die Komplexität von Befehlen, die Registerverwendung und die Adressierungsarten, was sowohl die Software-Portabilität als auch die Hardware-Implementierung beeinflusst. Die Mikroarchitektur setzt diese ISA dann um und nutzt fortschrittliche Techniken wie superskalare Ausführung, Out-of-Order-Execution (OoOE) mit Reorder Buffern und Reservierungsstationen sowie ausgeklügelte Branch-Prediction-Mechanismen (z. B. Gshare, BTB), um die Instruction-Level-Parallelism (ILP) zu maximieren.

Die Speicherhierarchie ist ein kritischer Designbereich, der Latenz und Durchsatz durch mehrstufige Caches (L1, L2, L3) ausbalanciert, die von Protokollen wie MESI verwaltet werden und verschiedene Ersetzungsrichtlinien (LRU, FIFO) einsetzen. Über die Cache-Kohärenz hinaus beeinflussen Speicher-Konsistenzmodelle (sequenziell, relaxed) die Programmierparadigmen für Multiprozessorsysteme tiefgreifend. Parallelität wird auf Thread-Ebene (TLP) und Datenebene (DLP) ausgenutzt, was sich in Multi-Core-Designs mit gemeinsamen Caches und NUMA-Architekturen sowie in Many-Core-Systemen wie GPUs manifestiert, die SIMT-Ausführungsmodelle und massive Parallelität nutzen. Interconnects, die sich von Bussen zu hochentwickelten Networks-on-Chip (NoCs) mit Topologien wie Meshes und Fat-Trees entwickeln, sind für die Inter-Core-Kommunikation unerlässlich. Die Leistung wird zunehmend durch Energieeffizienz (Perf/Watt) und Flächeneffizienz (Perf/Area) quantifiziert, was Innovationen bei DVFS, Clock Gating und spezialisierten Beschleunigern (ASICs, FPGAs, TPUs) für heterogenes Computing vorantreibt. Architektonische Sicherheitsmerkmale wie TEEs und Side-Channel-Mitigationen sind ebenfalls von größter Bedeutung.

❓ Häufig gestellte Fragen

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.

📚 Quellen