Superskalare Prozessoren
|
|
- Waltraud Engel
- vor 6 Jahren
- Abrufe
Transkript
1 4.5 Rechnerarchitektur - Pipelining RAM Superskalare Prozessoren Superskalare CPUs besitzen mehrere Recheneinheiten: In jedem Takt werden (dynamisch) mehrere Instruktionen eines konventionell linearen Instruktionsstroms abgearbeitet: CPI < 1 ILP (Instruction Level Parallelism) ausnutzen! Hardware verteilt initiierte Instruktionen auf Recheneinheiten Pro Takt kann mehr als eine Instruktion initiiert werden Die Anzahl wird dynamisch von der Hardware bestimmt: 0... Instruction Issue Bandwidth + sehr effizient, alle modernen CPUs sind superskalar Abhängigkeiten zwischen Instruktionen sind der Engpass, das Problem der Hazards wird verschärft A. Mäder 540
2 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Datenabhängigkeiten Datenabhängigkeiten RAW Read After Write Instruktion I x darf Datum erst lesen, wenn I x n geschrieben hat WAR Write After Read Instruktion I x darf Datum erst schreiben, wenn I x n gelesen hat WAW Write After Write Instruktion I x darf Datum erst überschreiben, wenn I x n geschrieben hat A. Mäder 541
3 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Datenabhängigkeiten (cont.) Datenabhängigkeiten superskalarer Prozessoren RAW: echte Abhängigkeit; Forwarding ist kaum möglich und in superskalaren Pipelines extrem aufwändig WAR, WAW: Register Renaming als Lösung Register Renaming Hardware löst Datenabhängigkeiten innerhalb der Pipeline auf Zwei Registersätze sind vorhanden 1. Architektur-Register: logische Register der ISA 2. viele Hardware-Register: Rename Register dynamische Abbildung von ISA- auf Hardware-Register A. Mäder 542
4 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Datenabhängigkeiten (cont.) Beispiel Originalcode nach Renaming tmp = a + b; tmp1 = a + b; res1 = c + tmp; res1 = c + tmp1; tmp = d + e; tmp2 = d + e; res2 = tmp - f; res2 = tmp2 - f; tmp = tmp2; Parallelisierung des modifizierten Codes tmp1 = a + b; tmp2 = d + e; res1 = c + tmp1; res2 = tmp2 - f; tmp = tmp2; A. Mäder 543
5 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline Aufbau der superskalaren Pipeline lange Pipelines mit vielen Phasen: Fetch (Prefetch, Predecode), Decode / Register-Renaming, Issue, Dispatch, Execute, Retire (Commit, Complete / Reorder), Write-Back je nach Implementation unterschiedlich aufgeteilt entscheidend für superskalare Architektur sind die Schritte vor den ALUs: Issue, Dispatch out-of-order Ausführung nach -"- : Retire in-order Ergebnisse A. Mäder 544
6 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Scheduling der Instruktionen A. Mäder 545
7 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Dynamisches Scheduling erzeugt out-of-order Reihenfolge der Instruktionen Issue: globale Sicht Dispatch: getrennte Ausschnitte in Reservation Stations A. Mäder 546
8 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Reservation Station für jede Funktionseinheit speichert: initiierte Instruktionen die auf Recheneinheit warten " zugehörige Operanden " ggf. Zusatzinformation Instruktion bleibt blockiert, bis alle Parameter bekannt sind und wird dann an die zugehörige ALU weitergeleitet Dynamisches Scheduling: zuerst 67 in IBM 360 (Robert Tomasulo) Forwarding Registerumbenennung und Reservation Stations A. Mäder 547
9 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Zentrale Verwaltungseinheit: Scoreboard A. Mäder 548
10 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Scoreboard erlaubt das Management mehrerer Ausführungseinheiten out-of-order Ausführung von Mehrzyklusbefehlen Auflösung aller Struktur- und Datenkonflikte: RAW, WAW, WAR Einschränkungen single issue (nicht superskalar) in-order issue keine Umbenennungen; also Leerzyklen bei WAR- und WAW-Konflikten kein Forwarding, daher Zeitverlust bei RAW-Konfliten A. Mäder 549
11 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Retire-Stufe erzeugt wieder in-order Reihenfolge FIFO: Reorder-Buffer commit: richtig ausgeführte Instruktionen gültig machen abort: Sprungvorhersage falsch Instruktionen verwerfen A. Mäder 550
12 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Spezielle Probleme superskalarer Pipelines weitere Hazard-Möglichkeiten die verschiedenen ALUs haben unterschiedliche Latenzzeiten Befehle warten in den Reservation Stations Datenabhängigkeiten können sich mit jedem Takt ändern Kontrollflussabhängigkeiten: Anzahl der Instruktionen zwischen bedingten Sprüngen limitiert Anzahl parallelisierbarer Instruktion Loop Unrolling wichtig + optimiertes (dynamisches) Scheduling: Faktor 3 möglich A. Mäder 551
13 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Pipeline (cont.) Software Pipelining Codeoptimierungen beim Compilieren: Ersatz für, bzw. Ergänzend zu der Pipelieunterstützung durch Hardware Compiler hat globalen Überblick zusätzliche Optimierungsmöglichkeiten symbolisches Loop Unrolling Loop Fusion... A. Mäder 552
14 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Interrupts Exceptions, Interrupts und System-Calls Interruptbehandlung ist wegen der Vielzahl paralleler Aktionen und den Abhängigkeiten innerhalb der Pipelines extrem aufwändig da unter Umständen noch Pipelineaktionen beendet werden müssen, wird zusätzliche Zeit bis zur Interruptbehandlung benötigt wegen des Register-Renaming muss sehr viel mehr Information gerettet werden als nur die ISA-Register Prinzip der Interruptbehandlung keine neuen Instruktionen mehr initiieren warten bis Instruktionen des Reorder-Buffers abgeschlossen sind A. Mäder 553
15 4.5 Rechnerarchitektur - Pipelining RAM Superskalar Interrupts (cont.) Verfahren ist von der Art des Interrupt abhängig Precise-Interrupt: Pipelineaktivitäten komplett Beenden Imprecise-Interrupt: wird als verzögerter Sprung (Delayed-Branching) in Pipeline eingebracht Zusätzliche Register speichern Information über Instruktionen die in der Pipeline nicht abgearbeitet werden können (z.b. weil sie den Interrupt ausgelöst haben) Definition: Precise-Interrupt Programmzähler (PC) zur Interrupt auslösenden Instruktion ist bekannt Alle Instruktionen bis zur PC-Instruktion wurden vollständig ausgeführt Keine Instruktion nach der PC-Instruktion wurde ausgeführt Ausführungszustand der PC-Instruktion ist bekannt A. Mäder 554
16 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM EPIC EPIC Explicit Parallelism Instruction Computing neues Paradigma, ab Mitte der 90er Jahre Beispiel: Intel IA-64 Idee: bei parallelen Recheneinheiten (z.b. superskalare Pipeline) möglichst viel Optimierung in den Compiler verlagern einfachere Hardware VLIW als eine spezielle Klasse A. Mäder 555
17 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM VLIW VLIW Very Large Instruction Word parallel ausführbare Instruktionen zu einem einzigen Befehl zusammenfassen A. Mäder 556
18 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM VLIW (cont.) Compiler kann dies Offline erledigen Begriff: Statischer Superskalar Rechner wird häufig verwendet bei: Signalprozessoren, eingebettete Prozessoren für hohe Leistung Beispiele TMS320C62xx Signalprozessoren (TI) Crusoe / Efficeon Prozessor (Transmeta) + bessere Ergebnisse, mehr Optimierungsmöglichkeiten als on-the-fly superskalar Optimierung + einfachere Hardware, keine Spezialhardware für Verwaltung der Recheneinheiten A. Mäder 557
19 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM VLIW (cont.) Einheiten gleichmäßig auslasten Bussystem: Ein-/Ausgabemöglichkeiten zu den Einheiten Statisches In Order Scheduling ist unflexibel bei externen Ereignissen Instruktionsworte lang: Code Explosion bei Leerlauf (nop-befehle) Codekompatibilität nicht gegeben A. Mäder 558
20 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Multi-Threading / Multi-Core Problem superskalarer Architekturen: einzelne CPUs lassen sich kaum noch weiter optimieren weitere parallele Ausführungseinheiten sind nur schwer gut auszulasten Parallalisierung über bedingte Sprungbefehle hinweg ist nur schwer möglich oder wenig effizient zwischen den Sprungbefehlen finden sich i.a. nicht genügend Befehle, die sich parallelisieren lassen maximal 5-10 Befehle sind parallel abzuarbeiten Lösung: Multi-Threading, Multi-Core Parallelität muss explizit vorhanden sein Anwender schreibt parallele Programme verschiedene Prozesse des Betriebssystems A. Mäder 559
21 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Multi-Threading / Multi-Core (cont.) Multi-Threading mehrere Threads (Tasks, Prozesse... ) werden parallel bearbeitet Teile der Hardware sind für jeden Thread separat vorhanden, andere Funktionseinheiten (Caches, Pipelinekontrolle etc.) werden gemeinsam verwendet einfachste Realisierung: Registersätze der ISA und Pipelineregister in den Datenpfaden trennen Beispiel: Intel Hyper-Treading Kontextwechsel von einen Takt zum anderen möglich ein einzelner Thread wird nicht schneller abgearbeitet aber der Durchsatz steigt Multi-Core mehrere identische Prozessoren auf einem Chip, gemeinsam sind nur 2nd-Level Cache und (einige) Pins A. Mäder 560
22 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Parallelrechner viele Varianten, kein einheitliches Klassifikationsschema Unterscheidungskriterien Systemaufbau Kommunikationsmechanismen Speicherarchitektur Kopplung der Knoten Topologie... A. Mäder 561
23 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Klassifizierung von Parallelrechnern [OV06] A. Mäder 562
24 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Klassifizierung von Parallelrechnern (cont.) Systemaufbau homogenes System: alle Knoten haben die gleiche Architektur, bzw. Funktion heterogenes System: Knoten mit unterschiedlichen Prozessoren, Speicher, IO-Kanälen, bzw. Funktionen Anpassung des Problems an heterogene Fähigkeiten der Knoten extra Programme für jede Klasse von Knoten Kontrollarchitektur: zentral oder verteilt Kommunikation zwischen den Knoten/Rechnern gemeinsam benutzte Speicherbereiche Nachrichtenaustausch A. Mäder 563
25 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Klassifizierung von Parallelrechnern (cont.) Möglichkeiten der Speicherarchitektur lokaler Speicher je Knoten Nachrichten zur Kommunikation globaler Speicher UMA Uniform Memory Access NUMA Non-Uniform Memory Access verschiedene Mischformen Kopplung der Knoten enge Kopplung: Speicher, Busse, Interruptleitungen... lose Kopplung: Netzwerkstrukturen A. Mäder 564
26 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Klassifizierung von Parallelrechnern (cont.) Topologien direkte Verbindung: alle Knoten miteinander (per Switch) indirekte Verbindung: nur zu einigen Knoten/Switches angepasste Routing Algorithmen; Flusskontrolle statisch oder dynamische Netzwerkstruktur Anwendungstopologien (Bäume, Arrays etc.) einbetten A. Mäder 565
27 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Parallelrechner Topologien [PH05] A. Mäder 566
28 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Parallelrechner Topologien (cont.) [PH05] A. Mäder 567
29 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM typische Parallelrechner Konfigurationen Workstation-Cluster / Grid Computing Verteiltes Rechnen über Internet (SETI@home etc.) Kopplung über Ethernet (Internet) Kommunikation langsam nur für parallele Algorithmen, die selten und sehr wenig Informationen untereinander austauschen SMP Symmetric Multiprocessor gleiche CPUs gleichartiger Zugriff auf Speicher und IO A. Mäder 568
30 Universität Hamburg 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM typische Parallelrechner Konfigurationen (cont.) Zugriff auf Speicher als bottleneck Interrupt Behandlung schwierig Welcher Prozessor soll einen Interrupt bearbeiten? Die Prozessoren müssen untereinander Interrupts erzeugen... jeder Prozessor erhält einen eigenen Interrupt Controller gegenseitige Sicherung von Speicherzugriffen mehrere Prozessoren dürfen nicht gleichzeitig Variablen schreiben und lesen Spin-Locks : atomare read-modify-write Befehle, Hardwareunterstützt Bus-Locking Mechanismen A. Mäder 569
31 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM typische Parallelrechner Konfigurationen (cont.) NSMP Non-Symmetric Multiprocessor mehrere verschiedene (Haupt-)Prozessoren, Coprozessoren, Ein-/Ausgabeprozessoren... A. Mäder 570
32 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM typische Parallelrechner Konfigurationen (cont.) Massiv parallele Prozessornetzwerke Architekturen mit extrem vielen gleichartigen Prozessoren / Prozessorelementen viele verschiedene Topologien: 1-D, 2-D... Programmierung ähnlich Workstation-Cluster Beispiel zweidimensionales Netz von Knoten Knoten mit CPU, lokalem Speicher und Verbindungselementen zu den 4 Nachbarn an den Schnittstellen: gemeinsame Busse, Shared Memory spezielle Ein-/Ausgabeknoten Grafik Grafik Grafik Grafik A. Mäder 571
33 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Beispiel: Netz Beispiel A. Mäder 572
34 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Beispiel: Knoten Beispiel A. Mäder 573
35 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Beispiel: Ein-/Ausgabeknoten Beispiel A. Mäder 574
36 4.6 Rechnerarchitektur - Explizite Parallelverarbeitung RAM Beispiel: Schnittstelle zwischen Knoten Beispiel A. Mäder 575
37 Speed [log MHz] GHz 2.2GHz P DEC Alpha first 1GHz CPU Research internal CPU Clock PentiumIII external BUS Clock Processor- Memory Gap PC MC68030 i860 r PCI 1/tacc 25ns in page SDRAM PC133 IO Processor- I/O Gap PCI-X 133MHz 20 40ns 1/tacc 60ns random 10 '90 '92 '94 '96 ' '02 Year A. Mäder 576
38 Speicherhierarchie Motivation Geschwindigkeit der Prozessoren Kosten für den Speicherplatz permanente Speicherung magnetisch optisch mechanisch A. Mäder 577
39 Speicherhierarchie (cont.) Speichertypen Speicher Vorteile Nachteile Register sehr schnell sehr teuer SRAM schnell teuer, große Chips DRAM hohe Integration Refresh nötig, langsam Platten billig, Kapazität sehr langsam, mechanisch Beispiel Hauptspeicher Festplatte Latenz 20 ns 10 ms Bandbreite 512 MByte/sec 40 MByte/sec Kosten 1 GByte, GByte, 130 (0,32 /GByte) A. Mäder 578
40 Speicherhierarchie (cont.) A. Mäder 579
41 Speicherhierarchie (cont.) Verwaltung der Speicherhierarchie Register Memory Compiler Assembler-Programmierer Cache Memory Hardware Memory Disk Hardware und Betriebssystem (Paging) Programmierer (Files) A. Mäder 580
42 Register Speicherung von Werten in der CPU Aufgaben General-purpose Register: für den (Assembler-) Programmierer sichtbare Register für Operanden und Speicheradressen Flag Register: Statusanzeigen im Datenprozessor (Status nach ALU Operationen) und Befehlsprozessor (Programm-, Interruptstatus... ) Befehlszähler, spezielle Adressierungsregister im Befehlsprozessor Pipelineregister... A. Mäder 581
43 Register (cont.) Zugriff mit voller Prozessorgeschwindigkeit... also möglichst viele Register Kontextwechsel sind zeitaufwändig mehr Bits für Adressierung virtuelle Register beschränkte Anzahl von Registern (pro Kontext) Umschalten zwischen Registersätzen Registerfenster virtuelle Register dürfen sich überlappen effiziente Unterprogrammaufrufe: Parameterübergabe über solche Bereiche (sonst über Speicher) A. Mäder 582
44 Registerbänke (große) Arrays von einzeln adressierbaren Registern meist mit mehreren Ein- und Ausgabeports Realisierung Register aus Flipflops und Multiplexerlogik SRAM Realisierung große Register Files A. Mäder 583
45 Registerbänke (cont.) Register-File A. Mäder 584
46 Hauptspeicher Speichertypen SRAM DRAM Zugriffszeit ns ns t rac ns t cac ns t cyc Leistungsaufnahme mw mw Speicherkapazität < 1 Mbit < 4 Mbit Preis 50 $/Mbit 6 $/Mbit Cache Hauptspeicher A. Mäder 585
47 Hauptspeicher (cont.) Arten von Halbleiterspeicher A. Mäder 586
48 Hauptspeicher: DRAM Dynamische RAMs Matrix-Anordnung der (1-bit) Speicherzellen A. Mäder 587
49 Hauptspeicher: DRAM (cont.) serielle Zeilen- und Spaltenadressierung + weniger Adressleitungen Speicher benötigen Refresh nach Zugriff Zugriffszeit: Zykluszeit: Adresse und Daten senden minimale Zeit vom Beginn eines Zugriffs bis zum nächsten Speicherzugriff A. Mäder 588
50 Hauptspeicher: DRAM (cont.) Interleaving : Speichermodule verschränkt Adressieren + bei Lokalität der Speicheradressen kann so die Zykluszeit verborgen werden A. Mäder 589
51 Hauptspeicher: DRAM (cont.) A. Mäder 590
52 Hauptspeicher: DMA DMA Direct Memory Access eigener Controller zum Datentransfer + Speicherzugriffe unabhängig von der CPU + CPU kann lokal (Register und Cache) weiterrechnen A. Mäder 591
53 Cache Memory Wall : DRAM zu langsam für CPU A. Mäder 592
54 Cache (cont.) Cache als schneller Zwischenspeicher zum Hauptspeicher technische Realisierung: SRAM transparenter Speicher: Cache ist für den Programmierer nicht sichtbar! A. Mäder 593
55 Cache Position First- und Second-Level Cache A. Mäder 594
56 Cache Position (cont.) Virtueller Cache + Adressumrechnung durch MMU oft nicht nötig Cache leeren bei Kontextwechseln A. Mäder 595
57 Cache Position (cont.) Physikalischer Cache + Cache muss nie geleert werden Adressumrechnung durch MMU immer nötig A. Mäder 596
58 Cache Strategie Cachestrategie: Welche Daten sollen in den Cache? Diejenigen, die bald wieder benötigt werden! temporale Lokalität: die Daten, die zuletzt häufig gebraucht wurden räumliche Lokalität: die Daten, die nahe den zuletzt gebrauchten liegen verschiedene Platzierungs-, Ersetzungs- und Rückschreibestategien für den Cache A. Mäder 597
59 Cache Performanz Cacheperformanz Begriffe Treffer (Hit) Zugriff auf Datum, ist bereits im Cache Fehler (Miss) " ist nicht " Treffer-Rate R Hit Wahrscheinlichkeit, Datum ist im Cache Fehler-Rate R Miss 1 R Hit Hit-Time T Hit Zeit, bis Datum bei Treffer geliefert wird Miss-Penalty T Miss zusätzlich benötigte Zeit bei Fehler Mittlere Speicherzugriffszeit = T Hit + R Miss T Miss Beispiel T Hit = 1 Takt, T Miss = 20 Takte, R Miss = 5 % Mittlere Speicherzugriffszeit = 2 Takte A. Mäder 598
60 Cache Organisation Allgemeine Organisation eines Cache Speichers Cache ist ein Array von Speicher-Bereichen ( sets ) Jeder Bereich enthält eine oder mehrere Cachezeilen Jede Zeile enthält einen Datenblock Jeder Datenblock beinhaltet mehrere (aufeinanderfolgende) Speicherworte set 0: 1 valid bit per line valid valid t tag bits per line tag tag 0 0 B=2 b bytes per cache block 1 1 B -1 B -1 E lines per set S=2 s sets valid tag 0 set 1: valid tag B -1 B -1 valid tag 0 set S-1: valid tag B -1 B -1 Cache size: C = B x E x S data bytes A. Mäder 599
61 Cache Organisation (cont.) 1 valid bit per line t tag bits per line B=2 b bytes per cache block set 0: valid valid tag tag B -1 B -1 E lines per set S=2 s sets valid tag 0 set 1: valid tag B -1 B -1 valid tag 0 set S-1: valid tag B -1 B -1 Cache size: C = B x E x S data bytes A. Mäder 600
62 Cache Organisation (cont.) Cache Zugriff Das Wort der Adresse A liegt im Cache, wenn die tag Bits in einer gültigen Zeile valid im aktuellen Bereich set index mit dem tag der Adresse A übereinstimmen Das gesuchte Wort steht im Cache an der Stelle block offset hinter dem Anfang des Blocks Address A: t bits s bits b bits v tag 0 1 set 0: v tag 0 1 B -1 B -1 m-1 <tag> <set index> <block offset> 0 v tag 0 1 set 1: v tag 0 1 B -1 B -1 v tag 0 1 set S-1: v tag 0 1 B -1 B -1 Direct Mapped Set Associative A. Mäder 601
63 Cache Organisation (cont.) Address A: t bits s bits b bits v tag 0 set 0: v tag B -1 B -1 m-1 <tag> <set index> <block offset> 0 v tag 0 set 1: v tag B -1 B -1 v tag 0 set S-1: v tag B -1 B -1 A. Mäder 602
64 Cache Adressierung Welchen Platz im Cache belegt ein Datum des Hauptspeichers? drei Verfahren Direkt abgebildet / direct mapped jeder Speicheradresse ist genau eine Cache-Speicherzelle zugeordnet n-fach Bereichsassoziativ / set associative jeder Speicheradresse ist eine von E möglichen Cache-Speicherzellen zugeordnet Voll-Assoziativ jeder Speicheradresse kann jede beliebige Cache-Speicherzelle zugeordnet werden A. Mäder 603
65 Cache: direkt abgebildet Jeder Adresse ist genau eine Speicherzelle im Cache zugeordnet Verfügt über genau 1 Zeile pro Bereich S Bereiche (Sets) set 0: valid tag cache block E=1 lines per set set 1: valid tag cache block set S-1: valid tag cache block + einfachste Cache-Art + große Caches möglich Effizienz, z.b. Zugriffe auf A, A + n S... A. Mäder 604
66 Cache: direkt abgebildet (cont.) Adressabbildung über Bereichsausschnitte A Cache = A Memory mod S, S Cache-Einträge Tag = A Memory / S Cache Zugriff A. Mäder 605
67 Cache: direkt abgebildet (cont.) Direct Mapped Cachezugriff Rückabbildung: A Memory aus Tag und A Cache bestimmen A. Mäder 606
68 Cache: direkt abgebildet (cont.) 1. Bereichsauswahl Bereichsindex-Bits set index legen den Bereich (die Cachezeile A Cache ) fest set 0: valid tag cache block selected set set 1: valid tag cache block m-1 t bits s bits b bits tag set index block offset 0 set S-1: valid tag cache block A. Mäder 607
69 Cache: direkt abgebildet (cont.) 2. Line matching und Wortselektion Line matching : gültige Zeile bei übereinstimmendem tag Wortselektion: dann extrahiere das Wort block offset (1) if =1 valid bit must be set selected set i: w 0 w 1 w 2 w 3 (2) tag bits of one cache line must match address tag bits if = Cache hit: conditions (1) and (2), block offset selects starting byte m-1 t bits s bits b bits 0110 i 100 tag set index block offset 0 A. Mäder 608
70 Cache: bereichsassoziativ Jeder Adresse des Speichers ist ein Cachebereich S mit E Speicherzellen zugeordnet Verfügen über mehr als eine Zeile pro Bereich (z.b.: E = 2) set 0: valid tag cache block valid tag cache block E=2 lines per set set 1: set S-1: valid tag cache block valid tag cache block valid tag cache block valid tag cache block A. Mäder 609
71 Cache: bereichsassoziativ (cont.) Adressabbildung über Bereichsausschnitte Set Associative Cachezugriff 1. Bereichsauswahl, wie bei direkt abgebildetem Cache 2. Line matching und Wortselektion mehrere Tags vergleichen: erhöhter Hardwareaufwand (1) if =1 valid bit must be set Cache Zugriff selected set i: w 0 w 1 w 2 w 3 (2) tag bits of one cache line must match address tag bits if = Cache hit: conditions (1) and (2), block offset selects starting byte m-1 t bits s bits b bits 0110 i 100 tag set index block offset A. Mäder 610 0
72 Cache: bereichsassoziativ (cont.) A. Mäder 611
73 Cache: voll-assoziativ Jeder Adresse des Speichers kann jede beliebige Speicherzelle des Caches zugeordnet werden Spezialfall: nur ein Cachebereich S benötigt E-Vergleicher nur für sehr kleine Caches realisierbar A. Mäder 612
74 Cache Dimensionierung Address A: t bits s bits b bits v tag 0 set 0: v tag B -1 B -1 m-1 <tag> <set index> <block offset> 0 v tag 0 set 1: v tag B -1 B -1 v tag 0 set S-1: v tag B -1 B -1 Parameter: S, B, E A. Mäder 613
75 Cache Dimensionierung (cont.) Cache speichert immer größere Blöcke / Cache-Line Wortauswahl durch block offset in Adresse + nutzt räumliche Lokalität aus + Breite externe Datenbusse + nutzt Burst-Adressierung des Speichers: Adresse nur für erstes Wort vorgeben, dann automatisches Inkrement + kürzere interne Cache-Adressen A. Mäder 614
76 Cache Dimensionierung (cont.) Cache- und Block-Dimensionierung Blockgröße klein, viele Blöcke + kleinere Miss-Penalty + temporale Lokalität räumliche Lokalität Blockgröße groß, wenig Blöcke größere Miss-Penalty temporale Lokalität + räumliche Lokalität A. Mäder 615
77 Cache Dimensionierung (cont.) Block-Size: Byte L1-Cache: KByte L2-Cache: KByte A. Mäder 616
78 Cache Dimensionierung (cont.) zusätzliche Software-Optimierungen Ziel: Cache Misses reduzieren Schleifen umsortieren, verschmelzen... Datenstrukturen zusammenfassen... A. Mäder 617
79 Cache Ersetzungsstrategie Wenn der Cache gefüllt ist, welches Datum wird entfernt? zufällige Auswahl LRU (Least Recently Used): der älteste nicht benutzte Cache Eintrag echtes LRU als Warteschlange realisiert Pseudo LRU mit baumartiger Verwaltungsstruktur: Zugriff wird paarweise mit einem Bit markiert, die Paare wieder zusammengefasst usw. LFU (Least Frequently Used): der am seltensten benutzte Cache Eintrag durch Zugriffszähler implementiert A. Mäder 618
80 Cache Schreibstrategie Wann werden modifizierte Daten des Cache zurückgeschrieben? Write-Through: beim Schreiben werden Daten sofort im Cache und im Hauptspeicher modifiziert + andere Bus-Master sehen immer den richtigen Speicherinhalt: Cache-Kohärenz Werte werden unnötig oft in Speicher zurückgeschrieben Write-Back: erst in den Speicher schreiben, wenn Datum des Cache ersetzt werden würde + häufig genutzte Werte (z.b. lokale Variablen) werden nur im Cache modifiziert Cache-Kohärenz ist nicht gegeben spezielle Befehle für Cache-Flush non-cacheable Speicherbereiche A. Mäder 619
81 Cache Kohärenz Daten zwischen Cache und Speicher konsistent halten notwendig wenn auch andere Einheiten (Bus-Master) auf Speicher zugreifen können Harvard-Architektur hat getrennte Daten- und Instruktions-Speicher: einfacherer Instruktions-Cache Instruktionen sind read-only kein Cache-Kohärenz Problem Snooping Cache lauscht am Speicherbus externer Schreibzugriff Cache aktualisieren / ungültig machen externer Lesezugriff Cache liefert Daten A. Mäder 620
82 Cache Kohärenz (cont.) MESI Protokoll besitzt zwei Statusbits für die Protokollzustände Modified: Inhalte der Cache-Line wurden modifiziert Exclusive unmodified: Cache-Line gehört dieser CPU, nicht modifiziert Shared unmodified: Inhalte sind in mehreren Caches vorhanden Invalid: ungültiger Inhalt, Initialzustand A. Mäder 621
83 Cache Kohärenz (cont.) Zustandsübergänge für Bus Master CPU A. Mäder 622
84 Cache Kohärenz (cont.) Zustandsübergänge für Snooping CPU A. Mäder 623
85 Universität Hamburg Optimierung der Cachezugriffe Mittlere Speicherzugriffszeit = T Hit + R Miss T Miss Verbesserung der Cache Performanz durch kleinere T Miss am einfachsten zu realisieren mehrere Cache Ebenen Critical Word First: bei großen Cache Blöcken (mehrere Worte) gefordertes Wort zuerst holen und gleich weiterleiten Read-Miss hat Priorität gegenüber Write-Miss Zwischenspeicher für Schreiboperationen (Write Buffer) Merging Write Buffer: aufeinanderfolgende Schreiboperationen zwischenspeichern und zusammenfassen Victim Cache: kleiner voll-assoziativer Cache zwischen direct-mapped Cache und nächster Ebene sammelt verdrängte Cache Einträge A. Mäder 624
86 Optimierung der Cachezugriffe (cont.) Verbesserung der Cache Performanz durch kleinere R Miss größere Caches ( mehr Hardware) höhere Assozitivität ( langsamer) weitere Optimierungstechniken Software Optimierungen Prefetch: Hardware (Stream Buffer) Software (Prefetch Operationen) Cache Zugriffe in Pipeline verarbeiten Trace Cache: im Instruktions-Cache werden keine Speicherinhalte, sondern ausgeführte Sequenzen (trace) einschließlich ausgeführter Sprünge gespeichert Beispiel: Pentium IV A. Mäder 625
Teil VIII Von Neumann Rechner 1
Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only
Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme
wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v
Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.
Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,
Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
2.2 Rechnerorganisation: Aufbau und Funktionsweise
2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise
Einführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
IT-Infrastruktur, WS 2014/15, Hans-Georg Eßer
ITIS-D'' IT-Infrastruktur WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D'': Rechnerstrukturen, Teil 3 v1.0, 2014/11/27 Folie D''-1 Dieser Foliensatz Vorlesungsübersicht Seminar Wiss.
Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1
Entwicklung der DRAMs Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs in Zukunft Richard Roth / FB Informatik und Mathematik Speicher 2 DRAM Speicherzelle (Trench Technology)
Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3
Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher
Das Prinzip an einem alltäglichen Beispiel
3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und
Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte
Intel 80x86 symmetrische Multiprozessorsysteme Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte Gliederung I. Parallel Computing Einführung II.SMP Grundlagen III.Speicherzugriff
Technische Informatik 2 Speichersysteme, Teil 3
Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer
4.3 Hintergrundspeicher
4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower
Die Mikroprogrammebene eines Rechners
Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.
Instruktionssatz-Architektur
Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile
Vorlesung: Technische Informatik 3
Rechnerarchitektur und Betriebssysteme zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme zhang@informatik.uni-hamburg.de Inhaltsverzeichnis 4. Computerarchitektur........................235
Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme
Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme R. Merker, Technische Universität Dresden, Fakultät ET und IT J. Kelber, Fachhochschule Schmalkalden, ET Gliederung
Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
Symmetrischer Multiprozessor (SMP)
Symmetrischer Multiprozessor (SMP) Motivation: ein globaler Adressraum für mehrere Prozesse P i Prozesse P i haben gemeinsame Daten ( shared variables ) private Daten ( private variables ) gemeinsamen
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum
Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede
Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in
Computer-Architektur Ein Überblick
Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27
Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008
Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren
Kapitel VI. Speicherverwaltung. Speicherverwaltung
Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene
Vorlesung 14 Speichersysteme (2)
D - CA - XIV - MH - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 14 Speichersysteme (2) Sommersemester 2003 Leitung: Prof. Dr. Miroslaw Malek D - CA - XIV - MH - 2 SPEICHERSYSTEME
Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)
(Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren
Rechner Architektur. Martin Gülck
Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard
Tutorium Rechnerorganisation
Woche 9 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Johann Wolfgang Goethe-Universität
Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff
Enterprise Computing
Enterprise Computing Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Partitionierung NUMA Sharing Disk Storage HP Superdome Cell Board 4 Itanium 2 CPU Chips 32 128 Gbyte I/O Bus mit Kühlern Hauptspeicher Anschlüsse
Aufbau und Funktionsweise eines Computers
Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)
Hardware/Software-Codesign
Klausur zur Lehrveranstaltung Hardware/Software-Codesign Dr. Christian Plessl Paderborn Center for Parallel Computing Universität Paderborn 8.10.2009 Die Bearbeitungsdauer beträgt 75 Minuten. Es sind keine
Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen
Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli 2012 Andy
Klausur zur Mikroprozessortechnik
Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2
Mehrprozessorarchitekturen (SMP, Cluster, UMA/NUMA)
Proseminar KVBK Mehrprozessorarchitekturen (SMP, Cluster, UMA/NUMA) Arian Bär 12.07.2004 1. Einleitung 2. Symmetrische Multiprozessoren (SMP) 2.1. Allgemeines 2.2. Architektur 3. Speicherarchitekturen
Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)
Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie
Die Marvel, ein gedrosselter Supercomputer
Die Marvel, ein gedrosselter Supercomputer Warum ist die Marvel so schnell? Warum ist die Marvel so langsam? Erfahrungen mit dem Softwaresupport Warum ist die Marvel so schnell? Hardware Z.Cvetanovic,
Protected User-Level DMA in SCI Shared Memory Umgebungen
Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen
Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität
Parallelrechner (1) Motivation: Bedarf für immer leistungsfähigere Rechner Leistungssteigerung eines einzelnen Rechners hat physikalische Grenzen: Geschwindigkeit von Materie Wärmeableitung Transistorgröße
Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper
Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich
wichtigstes Betriebsmittel - neben dem Prozessor: Speicher
Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen
HW/SW Codesign 5 - Performance
HW/SW Codesign 5 - Performance Martin Lechner e1026059 Computer Technology /29 Inhalt Was bedeutet Performance? Methoden zur Steigerung der Performance Einfluss der Kommunikation Hardware vs. Software
Main Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins
5 Main Memory Hauptspeicher Memories 2 Speichermodule SIMM: single inline memory module 72 Pins DIMM: dual inline memory module 68 Pins 3 Speichermodule 4 Speichermodule 5 Speichermodule 6 2 Hauptspeicher
Multicore Programming: Transactional Memory
Software (STM) 07 Mai 2009 Software (STM) 1 Das Problem 2 Probleme mit 3 Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Software (STM) 4 Software (STM) Beispielimplementation
Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7
1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht
Zyklus: FETCH, DECODE, FETCH OPERANDS, UPDATE INSTRUCTION POINTER, EXECUTE
1. Von Neumann Architektur Aufbau: CPU Rechenwerk ALU (arithmetische und logische Operationen) Steuerwerk (Steuerung der Verarbeitung über Operationscodes) Hauptspeicher Daten und Befehle Adressierung
Rechnernutzung in der Physik. Betriebssysteme
Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur ARM, x86 und ISA Prinzipien Übersicht Rudimente des ARM Assemblers Rudimente des Intel Assemblers ISA Prinzipien Grundlagen der Rechnerarchitektur Assembler 2 Rudimente
Hardware-Architekturen
Kapitel 3 Hardware-Architekturen Hardware-Architekturen Architekturkategorien Mehrprozessorsysteme Begriffsbildungen g Verbindungsnetze Cluster, Constellation, Grid Abgrenzungen Beispiele 1 Fragestellungen
Kap 4. 4 Die Mikroprogrammebene eines Rechners
4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).
Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?
Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler
Technische Informatik 2 Speichersysteme, Teil 2
Technische Informatik 2 Speichersysteme, Teil 2 Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher Virtueller Seitenspeicher Seitenregister
Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010
Multicore Herausforderungen an das Software-Engineering Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück 15.09.2010 Inhalt _ Motivation _ Herausforderung 1: Hardware _ Herausforderung 2: Software-Partitionierung
3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim
Christian Baun 3.Vorlesung Systemsoftware Hochschule Mannheim WS0809 1/42 3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim Christian Baun Forschungszentrum Karlsruhe Institut für Wissenschaftliches
Speicher Virtuelle Speicherverwaltung. Speicherverwaltung
Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach
Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort
Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität
a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF
ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren
1 Aufgaben zu Wie funktioniert ein Computer?
71 1 Aufgaben zu Wie funktioniert ein Computer? Netzteil a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 3.3 V, 5 V, 12 V, -5 V, -12 V. b) Warum können PC-Netzteile hohe Leistungen liefern,
5 Speicherverwaltung. bs-5.1 1
5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus
Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW
Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW 26. Oktober 2012 Prof. Dr. Christian Tschudin Departement Informatik, Universität Basel Uebersicht
Computational Biology: Bioelektromagnetismus und Biomechanik
Computational Biology: Bioelektromagnetismus und Biomechanik Implementierung Gliederung Wiederholung: Biomechanik III Statische Elastomechanik Finite Elemente Diskretisierung Finite Differenzen Diskretisierung
Assembler-Programmierung
Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung
Convey, Hybrid-Core Computing
Convey, Hybrid-Core Computing Vortrag im Rahmen des Seminars Ausgewählte Themen in Hardwareentwurf und Optik HWS 09 Universität Mannheim Markus Müller 1 Inhalt Hybrid-Core Computing? Convey HC-1 Überblick
3.0 8051 Assembler und Hochsprachen
3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle
PCI VME Interface SIS1100/SIS3100
PCI VME Interface SIS1100/SIS3100 Peter Wüstner Forschungszentrum Jülich, Zentrallobor für Elektronik (ZEL) Designprinzip der im ZEL entwickelten Datenaufnahmesysteme ist es, preiswerte PC Technik mit
Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404
Betriebssysteme I WS 213/214 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 271/74-45, Büro: H-B 844 Stand: 2. Januar 214 Betriebssysteme / verteilte Systeme Betriebssysteme
Technische Informatik 1
Technische Informatik 1 1 Einleitung Lothar Thiele Computer Engineering and Networks Laboratory Technische Informatik 1 2 Was ist Technische Informatik? A. Ralston, E.D. Reilly: Encyclopedia of Computer
SSDs und Flash Memory. Matthias Müller 16.Juni 2010 Institut für Verteilte Systeme
SSDs und Flash Memory Matthias Müller 16.Juni 2010 Institut für Verteilte Systeme Seite 2 Inhalt Motivation Aufbau und Funktionsweise NAND vs NOR SLC vs MLC Speicherorganisation Vergleich mit konventionellen
Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung
1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses
Mikrocontroller Grundlagen. Markus Koch April 2011
Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede
Betriebssysteme Teil 6: Hardware-Schicht II
Betriebssysteme Teil 6: Hardware-Schicht II 13.11.15 1 Literatur [6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, 214-224, 239-242, S. 267-299,304-313 [6-2]
Brückenkurs / Computer
Brückenkurs / Computer Sebastian Stabinger IIS 23 September 2013 Sebastian Stabinger (IIS) Brückenkurs / Computer 23 September 2013 1 / 20 Content 1 Allgemeines zum Studium 2 Was ist ein Computer? 3 Geschichte
IT für Führungskräfte. Zentraleinheiten. 11.04.2002 Gruppe 2 - CPU 1
IT für Führungskräfte Zentraleinheiten 11.04.2002 Gruppe 2 - CPU 1 CPU DAS TEAM CPU heißt Central Processing Unit! Björn Heppner (Folien 1-4, 15-20, Rollenspielpräsentation 1-4) Harald Grabner (Folien
Kapitel 6 Anfragebearbeitung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger
TAV Übung 3. Übung 3: Verteilte Datenhaltung
Übung 3: Verteilte Datenhaltung 1. Serialisierung Konstruieren Sie Historien aus drei Transaktionen T1, T2 und T3, die folgende Merkmale aufweisen: 1. Die serielle Reihenfolge ist T1 vor T2 vor T3. 2.
ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH
ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung
4 Speichern und Adressieren
4 Speichern und Adressieren Schaltwerke, Register, Puffer, Paging Gedächtnis in Schaltungen Rückkopplung Schaltwerke I N P U T x 1 x 2 x n Schaltnetz y 1 y 2 y m O U T P U T Z K Speicher Z K Z! z 1 2 Flipflops
B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP
B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte
Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HS 2007. Transactional Memory. Vortrag von Erdin Sinanović
Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HS 2007 Transactional Memory Vortrag von Erdin Sinanović Übersicht Was ist Transactional Memory (TM)? Wie programmiert man mit TM? Software
Grundlagen der Programmierung 2. Parallele Verarbeitung
Grundlagen der Programmierung 2 Parallele Verarbeitung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 27. Mai 2009 Parallele Algorithmen und Ressourcenbedarf Themen: Nebenläufigkeit,
B1 Stapelspeicher (stack)
B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen
Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)
Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.
Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at
Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen
Programmierung Paralleler Prozesse
Vorlesung Programmierung Paralleler Prozesse Prof. Dr. Klaus Hering Sommersemester 2007 HTWK Leipzig, FB IMN Sortierproblem Gegeben: Menge M mit einer Ordnungsrelation (etwa Menge der reellen Zahlen) Folge
Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1
Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM
Referat Mobile Prozessoren
1. Motivation Als Motivation für die Entwicklung von mobilen Prozessoren dienen mehrere verschiedene Gründe, die genauer betrachtet leicht zu verbinden sind. Im Gegensatz zu dem großzügig belüfteten Innenraum
1. Übung - Einführung/Rechnerarchitektur
1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser
Parallelverarbeitung. Parallelverarbeitung. 2. Grundlagen. 2. Grundlagen. 2.1 Parallelität
2. Grundlagen Parallelverarbeitung SS 2005 Inhalt Parallelität Ebenen der Parallelität Parallelrechnerarchitekturen Parallele Programmiermodelle 18.04.05 Roland Wismüller, Univ. Siegen roland.wismueller@uni-siegen.de
Hochleistungsrechnen Hybride Parallele Programmierung. Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen
Hochleistungsrechnen Hybride Parallele Programmierung Prof. Dr. Thomas Ludwig Universität Hamburg Informatik Wissenschaftliches Rechnen Inhaltsübersicht Einleitung und Motivation Programmiermodelle für
Angewandte Informatik
Angewandte Informatik Teil 2.1 Was ist Hardware? Die Zentraleinheit! 1 von 24 Inhaltsverzeichnis 3... Was ist Hardware? 4... Teile des Computers 5... Zentraleinheit 6... Die Zentraleinheit 7... Netzteil
! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.
Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher
Kapitel II. Computersysteme (1) Einführung: Hardware und Software. Bauteile eines einfachen PCs
Kapitel II Einführung: Hardware und Software 1 Computersysteme (1) Computer haben viele verschiedene Devices: Input/Output Devices Speicher Prozessor(en) Monitor 2 Bauteile eines einfachen PCs Bus Computersysteme
Codesigned Virtual Machines
Codesigned Virtual Machines Seminar Virtualisierung Philipp Kirchhofer philipp.kirchhofer@student.kit.edu Institut für Technische Informatik Lehrstuhl für Rechnerarchitektur Universität Karlsruhe (TH)
IO Performance - Planung Messung, Optimierung. Ulrich Gräf Principal Sales Consultant Oracle Deutschland B.V. und Co. KG
IO Performance - Planung Messung, Optimierung Ulrich Gräf Principal Sales Consultant Oracle Deutschland B.V. und Co. KG The following is intended to outline our general product direction. It is intended
Einführung in Hauptspeicherdatenbanken
Einführung in Hauptspeicherdatenbanken Harald Zankl Probevorlesung 13. 01., 13:15 14:00, HS C Inhaltsverzeichnis Organisation Überblick Konklusion Harald Zankl (LFU) Hauptspeicherdatenbanken 2/16 Organisation
Technische Informatik
Technische Informatik Eine einführende Darstellung von Prof. Dr. Bernd Becker Prof. Dr. Paul Molitor Oldenbourg Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist überhaupt ein Rechner?
Operating System Kernels
Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking