zusammenfassungen/Writerside/topics/RA/Rechnersysteme_Intro.md
David Schirrmeister 032dd88fa5 update
2024-07-03 10:31:20 +02:00

2.3 KiB

Rechnersysteme Intro

Rechnerarchitektur

image_495.png

  • Interne Funktionsweise
    • Architektur eines Rechners
    • Design von Maschinenbefehlen → ISA
  • Programmierung in Maschinensprache
    • Befehle
      • arithmetic / logic
      • Vergleich
      • Flags
      • Bedingungen
      • Sprünge
      • Speicherzugriff über Adressen
    • Verwendung eines Compilers
    • Umsetzung von Hochsprachenkonstrukten in Assembler

Entwicklung von Mikroprozessoren

Einfache In-Order-CPU mit kurzer Pipeline

image_496.png

  • Grundprinzipien:
    • Minimaler Hardware-Aufwand
    • Höhere Dichte
    • Höhere Frequenz

Out-of-Order superskalare CPU mit vielfältigen Optimierungen

image_497.png

  • Grundprinzipien:
    • Pipelining (Fließband)
    • Parallelisierung
    • Prinzip der Lokalität

Erhöhung der Performance durch Superskalarität

image_498.png

Speicherhierarchie

image_499.png

Prinzip der Lokalität

Temporäre Lokalität

  • Tendenz zur Wiederverwendung zuvor genutzter Datenelemente
    • bspw. Instruktionen einer Schleife

Räumliche Lokalität

  • Tendenz auf Datenelemente zuzugreifen, die in der Nähe von bereits Zugegriffenen liegen
    • bspw. sequenzielle Instruktionen, Felder

Cache

  • Pufferspeicher, die Lokalität ausnutzen
  • zeitlich/räumlich lokale Daten werden im SRAM vorgehalten

Performance

  • Zielsetzung
    • Architekturvergleich von CPU & Speicherarchitektur
    • Identifikation ovn Einflussfaktoren auf Performance

IPC = instructions per cycle

  • Durchsatz
  • Arbeitsmenge pro Zeiteinheit

CPI = cycles per instructions = 1/IPC

  • Latenz
  • Zeit pro Befehl

CPU-Zeit = Rechenzeit für n Instruktionen (messbar)

t_{cycle} = frac{1}{f}


t_{CPU} = n_{instr} * t_{instr}
= n_{instr} * CPI * t_{cycle}
= \frac{n_{instr}*t_{cycle}}{IPC}

IPC = \frac{n_{instr}}{f*t_{CPU}}

Einfluss von Unterbrechungen

  • Idealsituation: CPI = IPC = 1
    • Einzelne Pipeline
    • Keine Hazards
    • Speicherzugriff: Hit im 1st Level Cache
  • Tatsächliche Situation
    • image_500.png

Performance-Vergleich & Speedup

  • Vergleich
    • \frac{performance_A}{performance_B}=\frac{t_{cpuA}}{t_{cpu_B}}
  • Speedup
    • $\frac{t_{cpuOrig}}{t_{cpuEnhanced}}

Speedup durch Multicore

image_501.png