Aufgabe Inhalt 1..4 Aufbau PC, Mikroprozessor, Mikrocontroler 5..8 von Neumann, Abarbeitung eines Befehls Speicherhierarchie und Cache 23..

Größe: px
Ab Seite anzeigen:

Download "Aufgabe Inhalt 1..4 Aufbau PC, Mikroprozessor, Mikrocontroler 5..8 von Neumann, Abarbeitung eines Befehls 9..22 Speicherhierarchie und Cache 23.."

Transkript

1 Aufgabe Inhalt 1..4 Aufbau PC, Mikroprozessor, Mikrocontroler 5..8 von Neumann, Abarbeitung eines Befehls Speicherhierarchie und Cache Paging, Relocation, Segmentation, virtueller Speicher Pipelining und Scoreboarding Sprungvorhersage, Branchtargetbuffer, Branchfolding Leistungsbewertung von Rechnerarchitekturen Bussysteme E/A PIO, DMA, IOP Taxonomie nach Flynn, UMA, NUMA, CCNUMA Superskalare Architekturen, Shadowregister und Registerrenaming

2 1.) Unterschied zw. Mikroprozessor und Mikrocontroller Prozessor Kontroller Verwendung: allgemeine Aufgaben speziell auf Aufgabe zugeschnitten bzw. Für diese programmiert Speicher: Cache (Ram), Ram, EEProm bzw. Flash Eventuell mit MMU (statischen und flüchtigen Speicher) IO: Systembusse A/D sowie D/A, serielle (z.b. I2C), Grafik (LCD oder VGA),CAN... Einsatzgeb: universell Chipkarten, Automatisierung, embedded Devices Prozessor: nur eine Recheneinheit Kontroller: autonome Verarbeitungseinheit 2.) Bestandteile eines modernen PC s - Gehäuse - Netzteil - Hauptplatine (Motherboard mit Chipsatz) darauf: CPU Speicher (SD/DDR/...) Grafikkarte Netzwerkkarte Soundkarte - Festplatten + event. Extra Controller - Peripherie (USB/PS2/SERIELL...) 3.) Schnittstellen moderner PC externe: serielle, parallele, PS2, USB, FireWire, Netzwerk, Grafik (VGA/DVI...), Audio IN/OUT interne: IDE, Floppy, SATA, SCSI, 4.) Aufbau Grafikkarte RAM, RAMDAC, Schnittstellencontroller (AGP/PCI/PCIX/VESALOCALBUS), GPU, BIOS, Monitorschnittstelle

3 5.) Rechnerarchitektur von Neumann - gemeinsamer Speicher für Daten und Programme hohe Auslastung auf dem Datenbus da dieser von Daten und Code geteilt wird - taktgesteuert verhindert Konflikte durch Synchronisation, aber Befehle werden in festem Zeitraster abgearbeitet - Verarbeitungsbreite der Befehle ist fest, egal ob NOP oder DIV planbare Busbelastung aber Verschwendung bei kurzen Befehlen - programmgesteuerte Funktion nicht spezialisiert, kann alles aber nur weniges richtig gut - Speicher linear adressiert Adressberechnung nötig - sequenzielle Programmabarbeitung

4 6.) einfache CPU Rechenwerk Registersatz, speichern von Operanden und Ergebnissen ALU, Arithmetisch-Logische Einheit, das Rechenherz, verknüpft Operanden^w durch z.b. DIV, ADD, AND, OR, LSHIFT, RSHIFT Statusregister, speichert Zustände der ALU nach Operationen (z.b. Überlauf, Vergleichsergebnisse,...) TS, TargetSelect, Ergebnis in Register oder Speicher schreiben Steuerwerk: Logik, steuert Zusammenspiel der Komponenten BC, Befehlszähler, erzeugen der Adresse des nächsten Befehls Befehlsdecoder, decodiert den Befehl in Opcode und Operanden/Adressen Befehlsregister, speichert Opcode sowie Operanden/Adressen MBR: MemoryBufferRegister, Zugriff lesen/schreiben auf den Speicher Puffern (Latches)

5 7.) Abarbeitung des Befehls in 5 Schritten 1. Phase IF Instruction Fetch (Befehl holen) -> Befehl vom Datenbus bzw. aus dem Cache holen 2. Phase DC Decode (Befehl_Opcode ermitteln sowie benötigte Register/Speicher) -> feststellen um welchen Befehl es sich handelt, Operanden des Befehls ermitteln, entsprechende Verarbeitungseinheit der ALU scharf schalten, event. Statusregister zurücksetzen 3. Phase OF Operand Fetch (benötigte Operanden holen) -> Operanden aus den Registern/Speicher holen und der ALU zur Verfügung stellen 4. Phase EX Execute (ausführen der Operation) -> ausführen der Operation def. Durch Opcode 5. Phase WB WriteBack (schreiben der Ergebnisse) -> sichern der Operationsergebnisse 8.) Warum 5 Phasen? -> Synchronisierung der CPU-Verarbeitungseinheiten -> planbarer Zugriff auf Busse -> parallele Abarbeitung von Befehlen -> einheitliches Schema für die Bearbeitung unterschiedlicher Befehle (in Bezug auf Länge und Aufbau des Befehls) 9.) Speicherhierarchie erläutern, Auswirkung auf virtuelle Speicherverwaltung Speicher Speed Register Primärspeicher CPU_Speed Cache Level 1 annähernd CPU_Speed Cache Level 2 ca. 0,25 CPU_Speed Hauptspeicher ca. 0,1 CPU_Speed Festplatte Sekundärspeicher ca. 20 ms CDROM,MO Bandlaufwerke Tertiärspeicher ca. 500 ms Speicher werden in der Hierarchie vom Register abwärts stetig langsamer aber auch größer. Austausch zwischen den Schichten erfolgt über Datenblöcke. Auswirkung: je tiefer der Zugriff vom Register aus gesehen desto mehr Zeit vergeht bis Daten verfügbar sind. Durch die wesentlichen Größenunterschiede der Speichermedien ist eine virtuelle Speicherarchitektur möglich, d.h. es kann mehr Speicher adressiert werden wir physikalisch vorhanden ist. Dies erreicht man durch auslagern bzw. einlagern von Speicherbereichen über die Hierarchiegrenzen hinweg. Allerdings ist dazu eine Umrechnung der Speicheradressen notwendig, die unter Umständen wertvolle zeit kosten kann. Oft ist auch ein Auslagern von Speicherbereichen eines Prozesses bei einem Kontextswitch notwendig (z.b. flushen der Caches).

6 10.) Merkmale Speicherhierarchie sowie Techniken Speicher Speed Technik Register CPU_Speed FkipFlop, flüchtig, sehr klein Cache Level 1 annähernd CPU_Speed FlipFlop, flüchtig, Kb Cache Level 2 ca. 0,25 CPU_Speed FlipFlop, flüchtig 8MB Hauptspeicher ca. 0,1 CPU_Speed Transistor-Kondensator, flüchtig...4gb Festplatte ca. 20 ms magnetisches Verfahren, Platte, nicht flüchtig, 500 GB CDROM,DVD, blueray optisches Verfahren, nicht flüchtig,...50gb MO-Disk Magneto-optisches Verfahren nicht flüchtig,... Bandlaufwerke ca. 500 ms magnetisches Verfahren, Band, nicht flüchtig, GB Wichtige Merkmale beim Datenaustausch zwischen den Ebenen: Block placement - wo wird der Block geschrieben BestFit, WorstFit, FirstFit, RotatingFirstFit, BinaryBudy Block identification - wie wird der Block adressiert Direct, full mapped, set Block replacement - welcher Block soll wann/wie ausgelagert werden Auswahl: LRU, FIFO, RANDOM (FixedSize) Write Strategie - wann werden Blocks geschrieben Verzögert (z.b. OnFlush, Kontextswitch) Sofort (AfterChange) 11.) Warum Caches -> Hauptspeicher langsam, langer Zugriff, Pufferung durch schnellen, intelligenten Cache -> Steigerung der Geschwindigkeit, Pipeline im Ideal immer voll, niedrigere Busbelastung, ausnutzen der räumlichen und zeitlichen Lokalität 12.) Funktionsweise von Caches Cache ist wesentlich schneller als Hauptspeicher und wird zur Pufferung benutz. -bei Zugriff auf Hauptspeicher prüfen ob angeforderte Daten im Cache vorhanden sind -> NEIN: einlagern der Daten (abhängig von Cacheline-> Größe des eingelagerten Bereichs) -> JA: Zugriff direkt auf Cache - falls Cache voll/belegt auslagern von Cachlines in den Hauptspeicher nach Verdrängungsmechanismus/Replacementpolicy (z.b. RANDOM, LRU, FIFO,...) - Einlagerung / Zugriff durch Adressübersetzung (Assoziativität -> full, set, direct mapped)

7 13.) Beitrag zur Geschwindigkeitssteigerung von Caches Zugriffszeit MM: Zugriffszeit Cache: Trefferrate Cache: Tm Tc Pc Durchschnittliche Zugriffszeit: Tavg = Tc*Pc + Tm*(1-Pc) Da Cachezugriff min. um den Faktor 10 schneller ist ergibt sich bei einer hohen Pc ein erheblicher Zeitgewinn. 14.) Unterschied Cache MM -> Cache ist wesentlich schneller als MM (Speichertechnologie, Cache ist aus FlipFlops, MM aus Transistor und Kondensator) -> Cache ist wesentlich kleiner als MM (für FF braucht man min. 6 Transistoren -> Teuer!!!) -> Cache meist in der CPU auf dem DIE (näher an der CPU) -> Cache <-> CPU eigener BUS, dadurch exklusiver Zugriff -> MM wird linear adressiert, Cache über Tabellen durchsucht 15.) Begriffe zeitliche Lokalität, räumliche Lokalität in Bezug auf Rechnerarchitekturen und erläutern sie deren Einsatzmöglichkeiten zeitliche Lokalität: räumliche Lokalität: ein verwendetes Datum wird mit hoher Wkt in näherer Zukunft wieder verwendet auf ein benutztes Datum folgende Daten werden mit hoher Wkt ebenfalls benutz Anwendung im Cache: - zeitliche Lokalität, weil häufig benutze Daten im Cache vorliegen - räumliche Lokalität, weil ein/auslagern von Daten erfolgt in Lines bzw. Blockweise Anwendung beim Prefetching / Peekahead: - räumliche Lokalität, folgende Befehle im voraus lesen oder abarbeiten Anwendung beim TLB: - zeitliche Lokalität, weil häufig umgesetzte/angefragte Adressen gespeichert werden Caches werden im allgemeinen in jeder Ebene der Speicherhierarchie eingesetzt um den Datenverkehr zu puffern.

8 16.) zeitliche Lokalität, räumliche Lokalität am Beispiel eines iterativen Berechnungsverfahrens Summe aller Zahlen im Speicher von Addr 100 bis 200, Pseudocode 0 s:=0 1 c:=0 2 s: = s + mem(100+c) 3 c: = c +1 4 if c<= 100? 5 ja -> springe nach c,s zeitlich Lokal mem(100+c) räumlich Lokal 17.) Berechnung durchschnittliche Zugriffszeit Trefferrate: Pc = 99/100 Zugriff Cache: Tc = 10 ns Zugriff MM: Tm = 70 ns Tavg = Pc*Tc + (1-Pc)*Tm = 99/100 * 10ns + (1-99/100)*70ns = 10,6ns 18.) Begriff der Assoziativität erläutern -> Bezug des Hauptspeichers zum Cache hinsichtlich der Adressumsetzung, Aufteilung des Caches nach Methoden direct mapped: jedem Speicherbereich des MM ist direkt eine Cacheline zugeordnet Full Assoziativ: jeder Speicherbereich des MM kann an jeder beliebigen Stelle im Cache stehen Set assoziativ: Aufteilung des Caches in Set s zu einer Anzahl von Cachelines, jeder Speicherbereich des MM kann eine fixe Cacheline in jedem Set belegen

9 19.) Kosten und Nutzen der Assoziativität 1,4,32 bei einem Cachespeicher mit 32 Cachelines in Relation setzen Aufwand Nutzen 1 einfacher Aufwand gering, häufige Cache-Misses, trashing sehr wahrscheinlich 4 vierfacher Aufwand 4fach weniger Cache-Misses als bei 1facher Assoziativität 32 32facher Aufwand weite Teile können ungenutzt sein, (32*32Bit-Komparator,,,) so gut wie nie Konflikte In diesem Beispiel bestes Verhältnis von Kosten und Nutzen bei 4fach Assoziativität. Allgemein: je höher die Assoziativität, um so höher die Kosten (Platz und damit Geld). Ab einem gewissen Grad der Assoziativität wird der Platzbedarf für Komparatoren so hoch das zu kaskadierten Lösungen gegriffen wird Suche in den Cachelines erfordert mehr Zeit. 4fache Assoziativität mit 32 Byte pro Cacheline wird unter anderem in der UltraSparc verwendet (Tanenbaum, Computerarchitektur, Auflage 5, S. 344, ISBN: ) 20.) Vorteile von Prefetching in Bezug auf Cache Prefetchning nutzt die räumliche Lokalität der Daten. Durch vorrausschauendes lesen von Daten aus dem MM kann die Verarbeitungsleistung ernorm gesteigert werden. Wird der Cache nur nach einem CacheMiss gefüllt ist ein zeitverschwendender Zugriff auf den MM notwendig. Zu der wesentlich geringeren Geschwindigkeit des MM muss man auch die Latenz des Speicherzugriffes an sich (Adressumsetzung, Adressierung durch MBR/TLB/MMU) hinzurechnen. Diese Latenz lässt sich durch Prefetching wirkungsvoll kompensieren. 21.) Warum Ersetzungsstrategien für Caches -> Größe des Caches im Vergleich zum MM gering -> ein- und auslagern von Speicher notwendig LRU: der, der am seltensten benutzt wurde fliegt raus RANDOM: zufälliger Eintrag wird ausgewählt und geändert FIFO: der, der am längsten im Cache ist fliegt raus ROBBIN: zyklisch, 1 dann 2 dann 3... n Eintrag fliegt raus FINFO/LIFO: der, der am längsten im Cache ist wird nicht geändert Problem: trashing!!!

10 22.) in Hardware leicht zu realisierende Ersetzungsstrategie für Cache LRU der am wenigsten verwendete fliegt raus, dafür zwei Ansätze: Mittels Countern: Counter pro Eintrag, der beim einlagern der Daten auf definierten Wert gesetzt wird, bei jedem Cachezugriff auf einen andren Bereich Decrementierung (-1) des Counters, bei jedem Zugriff auf diesen Bereich Incrementierug (+1) des Counters. Counter mit dem niedrigsten Wert am wenigsten genutzt. Mittels Matrix: -> Assoziativität ist n -> Aufbau von n*n-matrix -> Zugriff auf i -> Spalte i auf 1 -> Zeile i auf 0 der am längsten nicht verwendete Block i ist der mit nur Nullen in Spalte i Realisierung in Hardware: N*N Matrix aus FF, S Spaltenweise zusammengefasst, K Zeilenweise zusammengefasst, Auswertung mittels nicht(q), Spaltenweise mit UND verbunden ) Welche Ziele verfolgt man mit Speicherverwaltung -> Schutz von Speicherbereichen / Protection (z.b. Schutz von OS-Speicherbereichen, nicht Ausführbarkeit des Stack und Heap) -> Relocation (Zerlegung in Segmente, Addressierung über Segmentadresse und Offset, jedes Segment beginnt mit Offset 0 -> freie Verschiebbarkeit von Programmen und Prozeduren, Mehrfachnutzung ermöglichen, ermöglicht kompelieren von Modulen ohne auf deren Startadressen rücksicht nehmen zu müssen) -> Trennung von großem Logischen Adressraum von relativ kleinem physischem Adressraum -> intelligentes Swaping und Paging möglich -> schnelle Antwortzeiten (geringe Latenzen) durch Caching Speicherverwaltung ist in der Regel für den Programmierer transparent. Nur Betriebssystementwickler und Studenten müssen darüber bescheid wissen.

11 24.) Welcher virtuelle Adressraum steht einem Programm auf einer 32-Bit-Architektur zur Verfügung, wenn noch 9 weitere Programme auf dem Rechner laufen? Weiterhin 32 Bit (4 Gbyte), da der virtuelle Speicherbereich jedem Programm voll zur Verfügung steht. 25.) Probleme bei Nutzung von virtuellen Adressen bei Caches darstellen, erläutern und bewerten beide möglichen Methoden zur Lösung zur Beschleunigung der Umrechnung. Benennen der derzeit eingesetzten Methode zur Umrechnung von virtuellen in reale Adressen. Probleme: -> Umrechnung virtuell <-> real nötig Frage: an welcher Stelle umrechnen (vor oder nach Cache)??? (Beachte hier: Ziel ist es so viel wie möglich auf dem Cache zu arbeiten) two possibilities: (Dude, watch DAGON, on of the greatest and most famous horror-movies) -> Cache arbeitet mit virtuellen Adressen -> keine Umrechnung bei Cachezugriff nötig ABER -> zwei Programme können auf gleiche virtuelle Adresse zugreifen, benutzen dabei aber unterschiedliche physische Adressen (was für den Cache intransparent ist) -> Cache arbeitet mit realen Adressen ABER -> Adressumrechnung vor jedem Cachezugriff notwendig (Zeitaufwendig) Genutzt wird IMHO virtuelles Caching da bei heutigen Designs das Prinzip der räumlichen und zeitlichen Lokalität vorherscht (Cachezugriff = Normalzustand).

12 26.) Was ist der Translation Lookaside Buffer TLB -> hält bereits übersetzte Adressen (virtuell -> real) vor -> bei Speicherzugriff wird parallel zur suchen in den Pagetablen der TLB durchsucht -> TLB relativ klein -> parallele suche -> sehr schnell Ergebnis Adresse schon übersetzt oder auf Pagetables warten -> wenn Adresse in TLB gefunden -> direktes legen dieser auf den Adressbus, anfordern des Speichers SONST -> Adressübersetzung mittels Pagetable, eintragen der Übersetzung in den TLB, zugriff auf Speicher Warum?... TLB schneller... Lokalitätsprinzip... SPEEED! Wo?... zwischen CPU und Speicher... muhar... also auf dem virtuellen Adresspfad mit einem Abzweig Richtung Pagetables, das andere Ende des TLB ist in der realen Speicherwelt verankert ) Verfahren zur dynamischen Speicherverwaltung nennen und Stichpunkte... paging: -> Speicher in Seiten fester Größe einteilen -> Speicher eines Prozesses wird auf diese Seiten aufgeteilt -> Speicher muss nicht zwingend im physikalischen Speicher aufeinander folgen -> Adressierung über Pagetable -> PROBLEM: durch feste Größe der Seiten entstehen Speicherlöcher (2 KB Code in 4KB Seite...) segmentation: -> Speicher wird in Segmente mit variabler Größe aufgeteilt -> Teile eines Prozesses (Code, Stack, Heap) liegen in unterschiedlichen Segmenten -> Segmente können wachsen und schrumpfen -> Adressierung: Segmentadresse und Offset im Segement -> PROBLEM: durch uneinheitliche Segmentgröße kann der Speicher fragmentieren ->EXTERNE FRAGMENTIERUNG paged segmentation: -> Pages in Segmenten -> dadurch bessere Ausnutzung des Speichers (Segmente müssen um vielfaches einer Page wachsen) -> 2 stufige Adressumsetzung (Segment -> Page -> Offset) -> Page kann in sich über mehrere Segmente erstrecken ->PROBLEM: relativ hoher Verwaltungsaufwand

13 relocation: -> abbilden des virtuellen Speichers auf zusammenhängenden realen Speicher -> angeforderter Speicher kann nie größer sein wie physikalisch vorhanden -> Adressauflösung über Rellokationregister (RR) 28.) Erläutern Relocation... Erläutern: siehe oben Anmerkung: das RR wird bei Kontextswitch umgeladen und enthält neue Startadresse des Speichers oder jedem Prozess ein eigenes RR zuordnen Einprozesssystem: -> unkritisch, Nutzung von nur einem RR -> Prozess kann fast gesamten Speicher nutzen (bis auf OS-Bereiche) Mehrprozesssystem: -> Prozesse müssen sich Speicher teilen -> wachsen des Speichers des Speichers nicht möglich Batch: Speichernutzung vorhersag- und damit reservierbar Interaktiv: dynamische Speicheranforderung, mit Relocation problematisch 29.) Probleme Relocation siehe 27,28 30.) Paging erläutern -> siehe 26,27 -> Adresse wird zerlegt in Page und Offset

14 31.) Leistungsfähigkeit des Pagings und Strategien zur Organisation der Seiten -> Umrechnung von Pages über Pagetable -> braucht Zeit -> jeder Prozess hat eigene Pagetable -> braucht Platz Nachladestrategien: Superfluity: -> alle Daten eines Prozesses werden geladen, egal ob sie verwendet werde oder nicht PROBLEM: Zeitverschwendung und verwendeter Speicher kann nicht größer wie physikalischer sein Demand paging: -> nur das einlagern was gebraucht wird ERGEBNIS: angeforderter Speicher kann größer sein als physikalisch vorhanden PROBLEM: wenn angeforderte Daten nicht im Speicher sind -> PageFault und dadurch Kontextswitch (sollten Sie Erläuterungen zum eben geschriebenen brauchen hören sie auf zulesen, exmatrikulieren sie sich und werden sie ordentlicher Assozialer im Sinne der APPD) 32.) Seitenersetzungsstrategien beim Paging FIFO, LRU, RANDOM,... siehe Ersetzungsstrategien beim Cache 33.) invertierte Seitetabelle nicht invertiert: Zuordnung von virtuell auf real 1:1, dh. Abhängig von Pagegröße sehr große Übersetzungstabelle -> teuer invertiert: -> Zuordnung von real auf virtuell, da weniger reale Adressen als virtuell -> kleinere Übersetzungstabelle nötig -> virtuelle Adressen werden mittels Hash auf diesen kleineren Bereich abgebildet, Kollisionsliste verwaltet Überschneidungen 34.) Skizze Adressumsetzung aus einer virtuellen bei 2-stufiger Adressumsetzung

15 35.) Kurz die Idee des Pipelinings erläutern -> Abarbeitung eines Befehls in meherere atomare Schritte zerlegt -> jeder Schritt hat klar definierte, feste Aufgabe welchen in konstanter Zeit abgearbeitet wird -> klare Definition welcher Schritt auf welche Register/Funktionen/Speicher zugreift dadurch parallele Abarbeitung von Befehlen möglich -> Geschwindigkeitsgewinn SUM: homogene Befehle, wenige Adressmodi, seltene Speicherzugriffe Load/Store-Architektur, viele Register, einfache Befehle 36.) 5 Stufen einer Pipeline, Aufgaben dieser Stufen Aufbau für Wirtschaftsinformatiker: IF DC OF EX WB IF Instruction Fetch holen des Befehls aus dem Cache/Speicher DC Instruction Decode decodieren des Befehls, ermitteln Befehlstyp und Operanden- oder Speicherzugriff OF Operand Fetch zugriff auf Register, holen von Operanden EX Execute Ausführen des Befehls (ALU) bzw. Adressumrechnung WB Write Back Ergebnis speichern Aufbau für tigthe checker: IF DR EX MA WB IF Instruction Fetch holen des Befehls aus dem Cache/Speicher DR Decode and Read steigende Flanke: decodieren des Befehls, ermitteln Befehlstyp fallende Flanke: Operanden- oder Speicherzugriff EX Execute Ausführen des Befehls (ALU) bzw. Adressumrechnung MA Memory Access zugriff auf MM, Ergebnis direkt im Speicher ablegen (überbrückbar) WB Write Back Ergebnisse in Registern sichern 37.) Zugriff auf Ergebnisse von vorhergegangener Befehle beschleunigen -> nach dem dritten Abarbeitungsschritt (EX) Ergebnisse in Schattenregister schreiben -> dadurch Zugriff auf Ergebnisse bereits 2 Takte zeitiger möglich FORWARDING -> erfordert zusätzliche Datenleitungen und Scoreboard (Belegung des Scoreboards checken, wenn nachfolgender Befehl auf Register X zugreift und dieses im Schattenregister einen gültigen Werte enthält -> zugriff auf Schattenregister)

16 38.) Probleme beim Pipelining Strukturelle Konflikte: gleichzeitiger Zugriff auf Resourcen Lösung1: aufteilen der der Zugriffe auf steigende und fallende Flanken IF DR EX MA WB IF DR EX MA WB IF DR EX MA WB IF DR EX MA WB IF DR EX MA WB Lösung2: umsortieren von Befehlen (z.b. durch Compiler) Datenkonflikte: zugriff auf Register, deren Werte noch nicht zur Verfügung stehen oder Falsche Ergebnisse beinhalten dirty read, dirty write Lösung1: durch Software (einfügen von NOP s oder semantisch invariantes umsortieren) Lösung2: verwenden eines Scoreboardes Lösung3: Forwarding über Schattenregister (Bypass) Steuerkonflikte: Sprünge, Sprung steht erst nach DR fest, nächster Befehl schon im IF Lösung1: einfügen von NOP s (doof weil Zeitverschwendung) Lösung2: delayed branching -> Befehlsfolge umsortieren (wenn sich der Sprung nicht auf Ergebnisse vorangegangener Befehle bezieht), berechnen des Sprunges und Ausführung der Befehle nach dem Sprung Lösung3: Sprungvorhersage, spekulative Ausführung der nachfolgenden Befehle 39.) Belegungsmatrix zwei unterschiedliche Beispiele Sinn: strukturelle Konflikte erkennen und vermeiden IF DR EX MA WB IF DR EX MA WB IF DR EX MA WB IF DR EX MA WB IF DR EX MA WB -> MA und IF greifen beide auf den Speicher zu -> WB und DR greifen auf Register zu

17 40.) Ziele der RISC-Achitektur, Auswirkungen auf Pipeline -> jeder Befehl gleich lang, gleiche Ausführungszeit -> einheitliches Befehlsformat -> Load/Store-Architektur (Operationen nur über Register, explizite Befehle für Speicherzugriff -> Verringerung von Buskonflikten) Auswirkung auf Pipeline: -> durch geringen Befehlsumfang schnelleres Decode möglich -> durch einheitliche Ausführungszeit Vermeidung von dirty read und write Konflikten -> durch einheitliches Befehlsformat und Operation nur über Register einfachere Planung von Zugriffen auf Speicher 41.) Warum besitzen die meisten Architekturen nichtlineare, multifunktionale Pipelines unifunktional: multifunktional: linear: nichtlinear: alle Befehle haben ein Belegungsschema unterschiedliches Befehlsformat (jmp xyz und add x,y,z ; jmp <adresse> add <t>,<s1>,<s2>) jede Hardwareeinheit wird in genau einer Stufe der Pipe benötigt Überschneidung beim zugriff auf Hardwareeinheiten in unterschiedlichen Stufen der Pipe Warum? Nichtlinear: Multifunktional: lineare Pipe müsste länger sein und zugriff auf Hardwareeinheiten flexibel gestaltet werden -> hoher Aufwand in Silizium und Zeit zum Anpassen der Einheitenzuordnung, nichtlineare Pipe besser da hier durch Umsortieren der Befehle (z.b. durch Compailer) Strukturelle Konflikte vermieden werden können bei einer unifunktionalen Architektur würde jeder Befehl in jeder Stufe der Pipe die entsprechende Einheit belegen, durch multifunktionale Pipe können nicht benutzte Einheit von folgenden Befehlen bereits verwendet werden 42.) Welche Konflikte vermeidet man in der Pipe durch Harvard-Architektur -> getrennten Speicher und Bus für Daten und Befehle (Harvard) -> vermeidet strukturellen Konflikt IF und WB, da IF auf Code und WB auf Daten zugreift 43/44.) Was sind und warum kommt es zu Strukturellen Konflikten und Datenkonflikten in der Pipe? siehe 38

18 45.) Wozu dient das Scoreboard? Funktionsweise... -> im Scoreboard wird festgehalten welcher Befehl welche Register verwendet -> dient zur Vermeidung von dirty reads/writes (read_after_write und write_after_read und write_after_write RAW, WAR, WAW) Funktionsweise: -> wenn ein Befehl ein Register lesend benötigt wird in der Decodephase im Scoreboard nachgesehen ob dieses bereits schreibend verwendet wird, wenn nicht lesen sonst warten -> wenn ein Befehl ein Register schreibend verwenden will, schauen ob schon belegt ja: warten nein: ins scoreboard eine 1 für das entsprechende Register eintragen nach Abschluss der WB-Phase Freigabe in Scoreboard durch nullsetzen 46.) Warum Verarbeitung Sprungbefehl in Architekturen ohne Sprungvorhersage potentiell längere Verzögerung als jeder andere Konflikt? -> große Anzahl von bedingten Sprüngen ( ca. 11%) -> ohne Vorhersage verliert man 2 Takte durch annulieren der 2 nachfolgenden Befehle (ca. 10 Prozent Leistungseinbuße) -> Executephase kann nicht abgebrochen werden (bsp. DIV braucht 10 Takte, wenn der schon in der ALU ist muss er fertig abgearbeitet werden...) 47.) Qualität der Sprungvorhersage -> Einfluss auf die Länge der Pipe -> schlechte Sprungvorhersage und lange Pipe -> spätes feststehen ob Sprung genommen oder nicht -> viele nachfolgende Befehle bearbeitet -> müssen alle annuliert werden -> ineffektiv -> je besser Sprungvorhersage, desto länger kann Pipe sein -> je besser Sprungvorhersage, desto weniger Annulierungen nötig -> effektiver 48.) Vergleich statische und dynamische Sprungvorhersage, Erläutern statisch: ->durch den Programmierer oder Compiler (Analyse des Codes notwendig) indem vorbelegte bedingte Sprungbefehle verwendet werden (bei MMIX wird vor den bedingten Sprung ein P gestellt für hohe Wahrscheinlichkeit das dieser Sprung genommen wird, BZ unwahrscheinlich, PBZ seht wahrscheinlich) dynamisch: -> durch den Prozessor über Branchhistorybits in welchen die Sprunggeschichte des bedingten Sprunges gespeichert wird -> anpassen der Sprungwahrscheinlichkeit an den Programmablauf Vergleich: -> statische Voraussage hat Trefferquote von ca % -> ausreichend für kurze Pipelines, allerdings muss der Compailer den Code analysieren (sehr schwierig) -> dynamische Voraussage hat Trefferquote von ca. 98%, allerdings muss sich der Prozessor um die Verwaltung der Branchhistory kümmern

19 49.) Worin liegt der Nutzen einer statischen Sprungvorhersage, Anforderungen an Befehlssatz, welches Werkzeug führt die Vorhersage durch und wie gelangt man an die Notwendigen Eingaben -> Beschleunigung des Programmablaufs durch vermeiden von Annulierungen in der Pipe -> kein Aufwand für eine dynamische Sprungvorhersage -> Taken or Not Taken im Befehl implementiert -> Aussage ob Sprung wahrscheinlich oder unwahrscheinlich durch Mnemonic codiert -> Programmfortführung steht bereits nach Decode fest -> Eingaben von: -> Codeanalyse durch Compailer bzw. Profilbasierend, Vergabe von taken oder not taken an Gruppen von Befehlen (z.b. erkennen von Schleifenkonstrukten, If s...) -> Testen -> stupides rödeln lassen der App, Sprünge protokollieren 50.) Branchpredichtbist, Branchhistorytable, Branchadressbit, Branchtargetbuffer Branchpredichtbits: -> speichert die Sprungwahrscheinlichkeit Bsp: Bit Zustände Aufteilung not taken, 1 taken strongly not taken, 1 not taken, 2 taken, 3 strongly taken strongly not taken 7 strongly taken Wenn Sprung genommen wurde -> +1 sonst -1 Kleiner Wert: geringe Sprungwahrscheinlichkeit Branchhistorytable: -> speichert Sprünge, deren Branchpredictbits sowie die Adresse des Sprungs (siehe Branchadressbits!!!) sowie möglicherweise das Ziel des Sprunges (siehe Branchtargetbuffer!!!) Branchadressbit: -> die Bits der Adresse des Sprunges, mit welchem der Sprung in der Branchhistorytable identifiziert wird (bei MMIX der untern Bits der Adresse), die komplette Adresse des Sprunges wird zur eindeutigen Identifizierung ebenfalls gespeichert! Branchadressbit dient nur dem schnellen finden des Sprunges in der Branchhistorytable!!! Branchtargetbuffer: -> speichert das Ziel des Sprunges (keine Adressberechnung mehr nötig)

20 51.) Sprungvorhersage mittels Branchpredictbits erläutern und diskutieren Sie wie viele Bits gewählt werden sollten. -> jeder Sprung in der Branchhistorytable besitzt sogenannte Branchpredictbits -> diese geben Auskunft darüber, ob der Sprung genommen oder nicht genommen wurde -> Sprung genommen -> Counter +1, sonst 1 (siehe Skizze) -> siehe 50! Da mit einem Bit nur 2 Zustände gespeichert werden können ist die Falschvoraussagewahrscheinlichkeit ( schönes Wort!!!) in geschachtelten Schleifen sehr hoch (nach jedem Neustart einer inneren Schleife wird eine Falschvoraussage getätigt). Abhilfe schafft hier die Erweiterung der Branchpredictbits auf 2 (4 Zustände). Die Praxis hat gezeigt das mehr als 3 PBBit s kaum eine Leistungssteigerung bringen. 52.) Warum wurde der Branchtargetbuffer eingeführt? Aufbau? Welche Einträge? -> Ergebnis der Adressberechnung des Sprungziels steht erst nach Decode and Read zur Verfügung -> kostet Zeit -> deshalb Speichern des Sprungziels in Branchtargetbuffer (inkl. Befehlsadresse des Sprungs) -> auch möglich: Operartion, welche sich am Sprungziel befindet ebenfalls speichern Befehl kann direkt in Pipeline gepackt werden -> beinhaltet: Sprünge die genommen wurden Sprungadressencache

21 53.) Wann wird der Branchtargetbuffer untersucht, wann werden Einträge hinzugefügt, wann entfernt? Untersucht: -> während IF-Phase, da die Adresse des zu fetchenden Befehls bekannt ist kann somit direkt im BTB nachgesehen werden. Letztlich muss die Decode_and_Read-Phase ergeben ob ein Sprung genommen oder abgelehnt wird (denn erst an dieser Stelle ist ein Zugriff auf die Statusregister der ALU, welche bedinget Sprünge bestimmen, möglich) -> hinzufügen: Sprung ist noch nicht in BTB und wurde genommen -> gelöscht: Sprung ist im BTB und wurde nicht genommen 54.) Warum ist der Branchtargetbuffer nicht groß? -> parallele Suche notwendig damit schnell -> n Komparatoren a m Bits -> hoher Schaltungsaufwand -> deshalb ist er klein -> Programme beschäftigen sich 90% der Zeit mit 10 % des Codes -> Anzahl der Sprünge in einem solchen Segment abzählbar (meint relativ gering) 55.) Charaktersieren Sie den Returnadressbuffer... -> enthält Rücksprungadresse (Befehlsposition nach dem Sprungbefehl) für aufgerufene Routinen -> wenn Subroutine abgearbeitet keine Adressberechnung des Rücksprungziels notwendig -> kann in BHT oder BTB gespeichert werden 56.) Was versteht man unter Branchfolding? Vorteile? -> im BTB wird der Befehl, auf welchen der Sprung verweist, mitgeführt -> handelt es sich um einen unbedingten Sprung oder steht das Ergebnis eines bedingten Sprunges schon fest (keine statusändernder Befehl vor dem bedingten Sprung) kann die Operation aus dem BTB bereits als nächster Befehl in die Pipeline eingefügt werden, der Prefetchbuffer kann dann ebenfalls schon mit den Befehlen am Sprungziel (Sprungzieladresse +1) gefüllt werden BRANCH FOLDING

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

Mehr

Teil VIII Von Neumann Rechner 1

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

Mehr

Rechner Architektur. Martin Gülck

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

Mehr

Einführung in die technische Informatik

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

Mehr

Johann Wolfgang Goethe-Universität

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

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

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

Mehr

Das Prinzip an einem alltäglichen Beispiel

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

Mehr

Die Mikroprogrammebene eines Rechners

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.

Mehr

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v

Mehr

Instruktionssatz-Architektur

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

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

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

Mehr

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

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

Mehr

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 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

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

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

Mehr

Ein kleines Computer-Lexikon

Ein kleines Computer-Lexikon Stefan Edelmann 10b NIS-Klasse Ein kleines Computer-Lexikon Mainboard Die Hauptplatine! Sie wird auch Motherboard genannt. An ihr wird das gesamte Computerzubehör angeschlossen: z.b. Grafikkarte Soundkarte

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

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.).

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

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,

Mehr

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

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

Mehr

Angewandte Informatik

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

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

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) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 VU Technische Grundlagen der Informatik Übung 7: Speicher, Peripherie 183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung

Mehr

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

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

Mehr

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 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

Mehr

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Das Rechnermodell von John von Neumann

Das Rechnermodell von John von Neumann Das Rechnermodell von John von Neumann Historisches Die ersten mechanischen Rechenmaschinen wurden im 17. Jahhundert entworfen. Zu den Pionieren dieser Entwichlung zählen Wilhelm Schickard, Blaise Pascal

Mehr

ZENTRALEINHEITEN GRUPPE

ZENTRALEINHEITEN GRUPPE 31. Oktober 2002 ZENTRALEINHEITEN GRUPPE 2 Rita Schleimer IT für Führungskräfte WS 2002/03 1 Rita Schleimer TEIL 1 - Inhalt Zentraleinheit - Überblick Architekturprinzipien Zentralspeicher IT für Führungskräfte

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

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

Mehr

Grundlagen der Rechnerarchitektur

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

Mehr

Computer-Architektur Ein Überblick

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

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

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

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

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.

Mehr

1. Übung - Einführung/Rechnerarchitektur

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

Mehr

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

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

Mehr

1 Aufgaben zu Wie funktioniert ein Computer?

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,

Mehr

Zyklus: FETCH, DECODE, FETCH OPERANDS, UPDATE INSTRUCTION POINTER, EXECUTE

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

Mehr

Grundlagen der Parallelisierung

Grundlagen der Parallelisierung Grundlagen der Parallelisierung Philipp Kegel, Sergei Gorlatch AG Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster 3. Juli 2009 Inhaltsverzeichnis 1 Einführung

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Technische Informatik 2 Speichersysteme, Teil 3

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

Mehr

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

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)

Mehr

Vorlesung: Technische Informatik 3

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

Mehr

Protected User-Level DMA in SCI Shared Memory Umgebungen

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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

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

Mehr

Mutterplatine, Hauptplatine, Systemplatine, Systemboard

Mutterplatine, Hauptplatine, Systemplatine, Systemboard Motherboard Motherboard: Synonyme Motherboard: Definition Was ist untergebracht: Mutterplatine, Hauptplatine, Systemplatine, Systemboard Kernstück eines Computers, worauf alle internen Hardwarekomponenten

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

Mehr

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

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

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

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

Mehr

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden 4 Second Chance (5) Second chance zeigt FIFO Anomalie Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden Erweiterung Modifikationsbit kann zusätzlich berücksichtigt werden (Dirty bit) vier Klassen:

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Aufbau und Funktionsweise eines Computers

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)

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Informatik II SS 2006. Von Neumann Prinzipien (1946) Bestandteile eines von Neumann Rechners. Speicher

Informatik II SS 2006. Von Neumann Prinzipien (1946) Bestandteile eines von Neumann Rechners. Speicher Von Neumann Prinzipien (1946) Informatik II SS 2006 Kapitel 3: Rechnerarchitektur Teil 2: von Neumann Architektur Dr. Michael Ebner Dr. René Soltwisch Lehrstuhl für Telematik Institut für Informatik 1.

Mehr

HW/SW Codesign 5 - Performance

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

Mehr

Vorlesung 14 Speichersysteme (2)

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

Mehr

3.0 8051 Assembler und Hochsprachen

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

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

11.0 Rechnerarchitekturen

11.0 Rechnerarchitekturen 11.0 Rechnerarchitekturen Die Ziele dieses Kapitels sind: Kennen lernen der Rechnerklassifikation nach Flynn Betrachtung von Prozessorarchitekturen auf verschiedenen Abstraktionsebenen - Befehlsarchitektur

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Codesigned Virtual Machines

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)

Mehr

1 Einleitung zum RISC Prozessor

1 Einleitung zum RISC Prozessor 1 Einleitung zum RISC Prozessor Wesentliche Entwicklungsschritte der Computer-Architekturen [2, 3]: Familienkonzept von IBM mit System/360 (1964) und DEC mit PDP-8 (1965) eingeführt: Gleiche Hardware-Architekturen

Mehr

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 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

Mehr

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS) 1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten

Mehr

Technische Informatik

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?

Mehr

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in

Mehr

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

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

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.)

Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) Raytracing auf Desktop PCs Optimizing Cache Usage (Intel Corp.) von Martin Stöcker Motivation Geschwindigkeit der Prozessoren verdoppelt sich alle 18 Monate (Moore s Law) Geschwindigkeit des Speichers

Mehr

Neue Prozessor-Architekturen für Desktop-PC

Neue Prozessor-Architekturen für Desktop-PC Neue Prozessor-Architekturen für Desktop-PC Bernd Däne Technische Universität Ilmenau Fakultät I/A - Institut TTI Postfach 100565, D-98684 Ilmenau Tel. 0-3677-69-1433 bdaene@theoinf.tu-ilmenau.de http://www.theoinf.tu-ilmenau.de/ra1/

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

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

Mehr

Convey, Hybrid-Core Computing

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

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

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

Mehr

Brückenkurs / Computer

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

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

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

Mehr

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI) Serielle Kommunikation mit dem Arduino Teil 1: Das Serial Peripheral Interface (SPI) Axel Attraktor e.v. 4. Juni 2012 Axel (Attraktor e.v.) 5. Arduino-Stammtisch 4. Juni 2012 1 / 25 Serielle Kommunikation

Mehr

Lösungsvorschlag zur 4. Übung

Lösungsvorschlag zur 4. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 4. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen zu Bewertungskriterien

Mehr

Staatlich geprüfter EDV-Führerschein

Staatlich geprüfter EDV-Führerschein Staatlich geprüfter 1. Seit wie viel Jahren gibt es den Personal Computer? seit ~ 50 Jahren seit ~ 30 Jahren seit ~ 20 Jahren seit ~ 5 Jahren Computer gibt es schon immer. 2. Ein Computer wird auch als

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

Mehr

Rechnernutzung in der Physik. Betriebssysteme

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:

Mehr

Rechnergrundlagen SS 2007. 11. Vorlesung

Rechnergrundlagen SS 2007. 11. Vorlesung Rechnergrundlagen SS 2007 11. Vorlesung Inhalt Evaluation der Lehre (Auswertung) Synchroner/asynchroner Systembus Kontrollfluss/Datenfluss RISC vs. CISC Speicherhierarchie Cache Lesen Schreiben Überschreiben

Mehr

Computerarchitektur. Andrew S.Tanenbaum James Goodman BIBLIOTHEK. Strukturen Konzepte Grundlagen. Pearson Studium

Computerarchitektur. Andrew S.Tanenbaum James Goodman BIBLIOTHEK. Strukturen Konzepte Grundlagen. Pearson Studium Andrew S.Tanenbaum James Goodman Technische Universität Darmatadt FACHBEREICH INFORMATIK BIBLIOTHEK Inventar-Nr.: Sachgebiete:. Standort: Computerarchitektur Strukturen Konzepte Grundlagen Pearson Studium

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

B1 Stapelspeicher (stack)

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

Mehr

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized 1.1.: MAC-Adressen für CSMA/CD und TokenRing bestehen jeweils aus 48 Bits (6 Bytes). Warum betrachtet man diese Adressräume als ausreichend? (im Gegensatz zu IP) - größer als IP-Adressen (48 Bits 32 Bits)

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Daten- Bus. Steuerbus

Daten- Bus. Steuerbus 1 Grundlagen... 1 1.1 Rechnerarchitektur... 1 1.2 Takt... 2 1.3 Speicherarchitektur... 2 2 Mikroprozessor... 4 2.1 Begriffsbestimmung... 4 2.2 Geschichte... 4 2.3 Aufbau eines einfachen Mikroprozessors...

Mehr

Operating System Kernels

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

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 16. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Grundlagen der Rechnerarchitektur

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

Mehr