Aufgabe Inhalt 1..4 Aufbau PC, Mikroprozessor, Mikrocontroler 5..8 von Neumann, Abarbeitung eines Befehls Speicherhierarchie und Cache 23..
|
|
- Kristin Birgit Schmidt
- vor 8 Jahren
- Abrufe
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
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
MehrTeil 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
Mehr1 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,
MehrJohann 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
MehrRechner 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
MehrBetriebssysteme. 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
MehrDie 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.
MehrKonzepte 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
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrVirtueller 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
MehrProseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme
wwwnet-texde Proseminar Rechnerarchitekturen Parallelcomputer: Multiprozessorsysteme Stefan Schumacher, , PGP Key http://wwwnet-texde/uni Id: mps-folientex,v
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrMikrocontroller 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
MehrOPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
MehrSynchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73
Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals
MehrEnterprise 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
MehrKap 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.).
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
Mehr(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
Mehr20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrStaatlich 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
MehrDas 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
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrLö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
MehrRS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen
Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen
MehrAnleitung zur Nutzung des SharePort Utility
Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner
MehrKompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
MehrEin Scan basierter Seitenangriff auf DES
Ein Scan basierter Seitenangriff auf DES Seminar Codes & Kryptographie SS04 Tobias Witteler 29.06.2004 Struktur des Vortrags 1. Einführung / Motivation 2. Struktur von DES 3. Die Attacke Begriffsklärung:
MehrKonfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014
Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrÜbersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?
Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrTapps mit XP-Mode unter Windows 7 64 bit (V2.0)
Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...
MehrSharePoint Demonstration
SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit
MehrDomä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
MehrCA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder
CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch
MehrTutorial about how to use USBView.exe and Connection Optimization for VNWA.
Tutorial about how to use USBView.exe and Connection Optimization for VNWA. Tutorial über den Gebrauch von USBView.exe und die Anschluss-Optimierung für den VNWA. Es wurde beobachtet, dass bestimmte VNWA
MehrDatenaustausch mit Datenbanken
Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird
MehrFacharbeit Informatik. Thema:
Facharbeit Informatik Thema: Rechneraufbau Mit Locad 2002 1 Inhaltsangabe Inhalt: Seite: 1. Einleitung 3 2. Inbetriebnahme der Schaltung 3 3. Eingabe 4 4. CPU 5 5. RAM/HDD 8 6. Ausgabe 10 7. Auf einer
MehrEs kann maximal ein Prozess die Umladestelle benutzen.
SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat
MehrPartitionieren in Vista und Windows 7/8
Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".
MehrComputer-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
MehrDie allerwichtigsten Raid Systeme
Die allerwichtigsten Raid Systeme Michael Dienert 4. Mai 2009 Vorbemerkung Dieser Artikel gibt eine knappe Übersicht über die wichtigsten RAID Systeme. Inhaltsverzeichnis 1 Die Abkürzung RAID 2 1.1 Fehlerraten
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrMC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand: 01.2013
Einbindung des MC-Hx Modul als MODBus TCP Slave MB DataTec GmbH Stand: 01.2013 Kontakt: MB DataTec GmbH Friedrich Ebert Str. 217a 58666 Kierspe Tel.: 02359 2973-22, Fax 23 Web : www.mb-datatec.de e-mail:
MehrAlbert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
MehrEigene Dokumente, Fotos, Bilder etc. sichern
Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrHandbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen
Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...
MehrBerechnungen in Access Teil I
in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer
MehrInstallation SQL- Server 2012 Single Node
Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit
MehrInstallationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.
Installationsanleitung Maschinenkonfiguration und PP s Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.Februar 2015 Inhaltsverzeichnis 1 Einbinden der Postprozessoren... 3 1.1
MehrDOKUMENTATION VOGELZUCHT 2015 PLUS
DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP
Mehrmywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger
mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.
MehrMicrocontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1
Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated
MehrÜ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
MehrAlgorithmische Kryptographie
Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Quantenkryptographie 1 Einleitung Grundlagen aus der Physik 2 Datenübertragung 1. Idee 2. Idee Nochmal Physik 3 Sichere
Mehr3.14 Die Programmieroberfläche Programmierung
121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrKommunikations-Management
Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal
MehrIm Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.
Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:
MehrDSO. Abtastrate und Speichertiefe
DSO Abtastrate und Speichertiefe Inhalt Inhalt...- 1 - Feine Signaldetails und lange Abtastzeiträume...- 2 - Was ein großer Speicher bewirkt...- 2 - Einfluss der Oszilloskop-Architektur auf die Update-Rate...-
MehrNutzung von GiS BasePac 8 im Netzwerk
Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff
MehrWas ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,
MehrDas RSA-Verschlüsselungsverfahren 1 Christian Vollmer
Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der
Mehr2.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
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrS7-Hantierungsbausteine für R355, R6000 und R2700
S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über
MehrTechnical Note 0302 ewon
Technical Note 0302 ewon Variablen (Tags) aus einer Rockwell Automation Steuerung auslesen - 1 - Inhaltsverzeichnis 1 Allgemeines... 3 1.1 Information... 3 1.2 Hinweis... 3 2 Allen Bradley MicroLogix...
MehrEinführung in PHP. (mit Aufgaben)
Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrEinrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me
Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte
MehrAnbindung LMS an Siemens S7. Information
Datum: 18.09.2003 Status: Autor: Datei: Lieferzustand Rödenbeck Dokument1 Versio n Änderung Name Datum 1.0 Erstellt TC 18.09.03 Seite 1 von 1 Inhalt 1 Allgemein...3 2 Komponenten...3 3 Visualisierung...4
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrAbamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER
Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit
MehrMemeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein
Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo
MehrWeb-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter
Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................
MehrMonitore. Klicken bearbeiten
Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition
Mehr5 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
MehrBeschreibung EtherNet/IP Prozessschnittstelle
Beschreibung EtherNet/IP Prozessschnittstelle Version 1.0 1 Inhaltsverzeichnis 1. Vorbemerkung... 3 2. Allgemeines... 3 3. EtherNet/IP Einstellungen... 3 3.1 Kontrollbytes... 4 3.2 Segmentierung... 4 3.2.1
MehrSoftware Engineering. Sommersemester 2012, Dr. Andreas Metzger
Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle
MehrSSDs 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
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrGrundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer
Institut für Kommunikationsnetze und Rechnersysteme Grundlagen der Technischen Informatik Paul J. Kühn, Matthias Meyer Übung 2 Sequenzielle Netzwerke Inhaltsübersicht Aufgabe 2.1 Aufgabe 2.2 Prioritäts-Multiplexer
MehrName: 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
MehrIn diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
MehrComputergruppe Heimerdingen Basiskurs. Karlheinz Wanja & Richard Zeitler
Computergruppe Heimerdingen Basiskurs Karlheinz Wanja & Richard Zeitler Dateiverwaltung (im Haushalt) 2 Dateiverwaltung (im Computer) Speichermedien 1.) Festplatte 2.) Externe Medien Externe Festplatte
MehrAutorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente
Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrWenn keine Verbindung zwischen den Computern besteht, dann bist du offline.
online Das ist ein englisches Wort und bedeutet in der Leitung". Wenn du mit einem Freund oder einer Freundin telefonierst, bist du online. Wenn sich 2 Computer dein Computer und einer in Amerika miteinander
MehrEinfache Computersteuerung für Modellbahnen
Einfache Computersteuerung für Modellbahnen Was soll eigentlich mit einem Computer gesteuert werden? Diese Frage muss man sich als erstes stellen: - Man braucht für Ausstellungen einen kompletten automatischen
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
Mehr