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



Ähnliche Dokumente
Einführung in die technische Informatik

Die Mikroprogrammebene eines Rechners

Teil VIII Von Neumann Rechner 1

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

OPERATIONEN AUF EINER DATENBANK

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

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

1. Übung - Einführung/Rechnerarchitektur

1 Aufgaben zu Wie funktioniert ein Computer?

2.2 Rechnerorganisation: Aufbau und Funktionsweise

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

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Johann Wolfgang Goethe-Universität

Virtueller Speicher und Memory Management

Kapitel VI. Speicherverwaltung. Speicherverwaltung

SSDs und Flash Memory. Matthias Müller 16.Juni 2010 Institut für Verteilte Systeme

Grob-Struktur des Prozessor-Speichersystems

Rechner Architektur. Martin Gülck

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Instruktionssatz-Architektur

Sichern der persönlichen Daten auf einem Windows Computer

Im Original veränderbare Word-Dateien

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Handbuch B4000+ Preset Manager

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d Technische Informatik I Übung 3. Technische Informatik I Übung 3

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

5 Speicherverwaltung. bs-5.1 1

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

Updatehinweise für die Version forma 5.5.5

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Projekte Packen, Kopieren und Versenden

Prozessarchitektur einer Oracle-Instanz

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

SJ OFFICE - Update 3.0

Handbuch ECDL 2003 Basic Modul 3: Textverarbeitung Dokument bearbeiten und speichern

Automatisches Parallelisieren

Powermanager Server- Client- Installation

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

In diesem Kurs lernen Sie, wie in EXCEL Diagramme erzeugt werden und was Sie dabei beachten sollten.

Persönliches Adressbuch

EasyWk DAS Schwimmwettkampfprogramm

Datensicherung. Beschreibung der Datensicherung

Trackaufzeichnungen können als Active-Logs oder mit eigenen Namen versehene und auf max. 500 Punkte begrenzte Saved-Tracks gespeichert werden.

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Umstellung News-System auf cms.sn.schule.de

Mikrocomputertechnik. Adressierungsarten

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Spezifikationen für die Datenträgerlöschung mit GDisk

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung bis

tentoinfinity Apps 1.0 EINFÜHRUNG

Wie wird ein Jahreswechsel (vorläufig und endgültig) ausgeführt?

Journaling-Dateisysteme

4D Server v12 64-bit Version BETA VERSION

Eigene Seiten erstellen

Berühmt berüchtigte Softwarefehler. Der Pentium Division-Bug. vorgetragen von: Sebastian Knieschewski

Übungen Workflow Management. Blatt 2

4.3 Hintergrundspeicher

Prozessor HC680 fiktiv

Grundlagen verteilter Systeme

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Kurzeinweisung. WinFoto Plus

Übungen zu C++ Kapitel 1

Übung - Datensicherung und Wiederherstellung in Windows 7

3.14 Die Programmieroberfläche Programmierung

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

Rechnernutzung in der Physik. Betriebssysteme

Überprüfung der digital signierten E-Rechnung

Ein Scan basierter Seitenangriff auf DES

Standard Daten-Backup-Script

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Beheben von verlorenen Verknüpfungen

Übung zu Grundlagen der Betriebssysteme. 13. Übung

Installationshinweise BEFU 2014

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute.

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Kopieren, drucken, scannen

Zahlensysteme: Oktal- und Hexadezimalsystem

Einführung in die Systemprogrammierung

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Abschnitte. Abschnittswechsel einfügen

Quick Guide Mitglieder

Verarbeitung der -Adressen

Leichte-Sprache-Bilder

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Das Prinzip an einem alltäglichen Beispiel

SICHERN DER FAVORITEN

Transkript:

1. Von Neumann Architektur Aufbau: CPU Rechenwerk ALU (arithmetische und logische Operationen) Steuerwerk (Steuerung der Verarbeitung über Operationscodes) Hauptspeicher Daten und Befehle Adressierung über binäre Adressen statisch oder dynamisch, synchron oder asynchron E/A-Einheit Schnittstelle zur Umwelt, Verfahren: Polling Interrupt Befehlssteuerung Bussystem verbindet alles Eigenschaften: Befehle und Daten liegen ununterscheidbar im Hauptspeicher Hauptspeicher ist unstrukturiert, linear adressiert zu jedem Zeitpunkt wird nur ein einziger Befehl ausgeführt, welcher nur ein einziges Ergebnis liefert sequentielle Verarbeitung (binäre Signalcodierung, feste Codewortlänge, taktgesteuert, automatische Arbeit nach Start) 2-Phasen-Schema: Interpretationsphase: Befehlszähler->Befehl aus Hauptspeicher holen, dekodieren Ausführungsphase: Operand aus Hauptspeicher holen, Befehl ausführen, Resultat in Hauptspeicher schreiben Zyklus: FETCH, DECODE, FETCH OPERANDS, UPDATE INSTRUCTION POINTER, EXECUTE Vorteile: Prinzip des minimalen Hardwareaufwandes Prinzip des minimalen Speicheraufwandes Nachteile: Transport von Daten und Befehle über gleiche Wege ( von-neumann-flaschenhals ) keine Parallelität der Arbeitsschritte 1 Befehlszähler, 1 Befehlsregister -> Multiuser/threading ungeeignet semantische Lücke: höhere Programmiersprachen Maschinenebene

2. RISC, CISC, Superskalare Systeme CISC (Complex Instruction Set Computer): umfangreicher Befehlssatz (400...500) viele Befehlsformate Microprogramm-Nutzung komplexe Adressierung x86 Familie, DEC-VAX Vorteile: einheitliche Befehlssätze effiziente Übersetzung, kleine Programme umfangreiche Befehle, leichte Programmierung leistungsfähige Einzelbefehle leichte Fehlerbehandlung RISC (Reduced Instruction Set Computer): reduzierter Befehlsvorrat (40...80) wenige Befehlsformate Befehlsdekodierung per Hardware wenige Adressierungsarten SUN SPARC, DEC Alpha, IBM PPC Vorteile: schnelle Reaktion auf externe Ereignisse niedriger Dekodierungsaufwand und schnelle Verarbeitung der einzelnen Befehle Nachteile: schlechte Speicherplatznutzung Arbeitsspeicherzugriff nur über 32bit store+load Superskalare Systeme: mehrere Befehle aus Befehlsstrom werden gleichzeitig parallel arbeitenden Funktionseinheiten dynamisch zugeteilt Prozessor selbst für verantwortlich (nicht Compiler) Vorteil: mögliche Steigerung der instructions per cycle

3. Plattensysteme Plattenspeicher Typ mechanisch integriert Speicherart magnetisch (oder optisch) rotierende Magnetscheiben (oder Kunststoffscheibe) Unterteilung in Zylinder, Spur, Sektor hohe Zugriffszeit aufgrund mechanischer Positionierung relativ niedrige Durchsatzrate billig Elektronischer Speicher elektrisch (Kapazitätelektrisches Feld) keine mechanik, Transistor+Kondensatorlogik FlipFlop niedrige Zugriffszeit hohe Durchsatzrate teuer Für Massenspeicher Als Arbeitsspeicher/Cache

4. Pipelining Parallelisierung der Abarbeitung von Befehlen soweit, dass alle Funktionseinheiten der CPU ausgelastet sind durch überlagerte Ausführung einheitliches Befehlsformat fester länge Vorraussetzung (RISC) Beispiel: Befehlsausführung in 4 Schritten: Lade Instr, Dekodiere/Lade Data, Ausführen, Speichern Verweildauer eines Befehls: 4 Zyklen Verarbeitungszeit: 1 Maschinenzyklus/Befehl Zeitgewinn: 4x Probleme, die sich ergeben: Datenflussproblem Ergebnis wird in Mehrzweckregister gespeichert, welches gleichzeitig gelesen und verarbeitet wird NOP einfügen! Steuerfluss-Konflikt Folgebefehle erst nach Sprungausführung bekannt Delayed Branch (verzögerte Verzweigung) Branch Vorhersage Branch History Table Pipeline-Flush (rückgängig machen aller teilweise bearteiteter Befehle) bei falscher Vorhersage

5. Filesysteme Verwaltung von Dateien Dateistrukturen, -attribute, -operationen möglich Teil des OS Zugriffssteuerung durch Index-Verwaltung Prinzipien: Kontinuierliche Abspeicherung Datei=kontinuierliche Folge von Blöcken Kennzeichnung durch Lage des ersten Blocks und Gesamtanzahl der Blöcke Vorteil: einfach, schnell, da sequentiell Nachteil: Fragmentierung Probleme bei unbekannter Dateilänge Verknüpfte Abspeicherung Datei=Liste von Blöcken 1. Wort eines Blocks für Verknüpfung Vorteil: keine externe Fragmentierung Dateigröße nicht statisch Nachteil: Platzbedarf Zugriff auf i-ten Block nur sequentiell Variante: FAT Abspeicherung mit Indizes Dateieigener Indexblock, der jeweils die einzelnen Blöcke adressiert

6. Seitenrahmenersetzungsverfahren Not Recently Used Seitentabelleneintrag Bits R und M R wird gesetzt, wenn von Seite gelesen wurde, M wird gesetzt, wenn auf Seite geschrieben wurde periodisch werden R-Bits gelöscht Klassifizierung: R gelöscht, M gelöscht (am unwichtigsten) R gelöscht, M gesetzt R gesetzt, M gelöscht R gesetzt, M gesetzt (am wichtigsten) First In, First Out Liste mit allen Seiten erster (ältester) Tabelleneintrag wird ausgelagert, neue Seite am Ende angehangen Second-Chance wie FIFO zusätzliche Überprüfung des R-Bits des ersten Eintrages wenn gesetzt, R-Bit löschen und Eintrag an Ende der Tabelle anhängen sonst auslagern Uhr-Seitenersetzungsalgorithmus ähnlich Second-Chance Zeiger zeigt auf ältestes Element ist R-Bit gesetzt, wird dieses gelöscht und Zeiger weitergerückt ist R-Bit nicht gesetzt, wird Seite ausgelagert, neuer Eintrag an die Stelle eingehangen und Zeiger weitergerückt

7. Caches schneller Pufferspeicher für Geräte wie CPUs und Massenspeicher enthält Kopien des Inhaltes eines anderen Speichers Aufteilung in Blöcke gleicher Größer (Cachelines) und Abbildung in Cache Ziel: Verringerung der Zugriffszeit und Anzahl der Zugriffe auf den zu cachenden Speicher Zwei Eigenschaften für Wirksamkeit: Räumliche Lokalität Maschinenbefehle und Daten häufig benachbart Zeitliche Lokalität Hohe Wahrscheinlichkeit der Wiederbenutzung von Informationen aus der jüngsten Vergangenheit Ursache: Schleifen, Listen -> Caches arbeiten vorausschauend Zwei Schreibstrategien: Write-Back erst bei Verdrängen der Seite aus dem Cache werden Änderungen in den gecachten Speicher geschrieben Write-Through Änderungen werden sofort in den gecachten Speicher übernommen (Konsistenz) langsamer und bedarf mehr Bandbreite Assoziativität: voll assoziativ Block des HS kann in jedem Block-Rahmen abgebildet werden höherwertigen Adressbits als Tag bei Zugriff mit allen Tags vergleichen Blockersetzungsstrategien: Last Recently Used (Alterungsinformationen werden gespeichert, z.b. Rückwärtszähler) set-assoziativ Block des HS kann nur in n Block-Rahmen abgebildet werden Aufteilung in Sets und Abbildung der HS-Blöcke in Äquivalenzklassen Ersetzungsstrategien wesentlich einfacher als bei voll assoziativ direct mapped Block des HS kann nur in einem Block-Rahmen abgebildet werden wesentlich einfacher, da nur 1 Vergleich bei Zugriff notwendig ist keine Ersetzungsstrategien notwendig Reduzierung bedeutet weniger durchsuchen aber Einschränkungen, welche Blöcke parallel im Cache untergebracht werden können Snooping Überwachung von DMA Aktionen Wenn auf Seite zugegriffen wird, die im Cache steht, wird erst Kohärenz sichergestellt Valid und Change Bit Markiert eine Cacheline als ungültig (Write Through DMA erzeugt Datenkohärenzproblem, ungültig markieren) oder modifiziert (Write Back zuerst zurückschreiben wenn modifiziert, dann ersetzen) Allocate Write bei Cache-miss bei Schreiboperation wird Seite zunächst in Cache geladen bei non-allocate-write wird sofort in Hauptspeicher geschrieben (geringfügig langsamer) Cache Miss Look-Through Cache erst cache-miss identifizieren, dann HS Zugriff einleiten

entlastet Speicherbus (gut für DMA) Look-Aside Cache bei jedem Cachezugriff HS Zugriff einleiten und ggf. vorzeitig abbrechen Vorteil: Verringerung des Von-Neumann-Flaschenhalses enorme Steigerung der Ausführungsgeschwindigkeit von Programmen Nachteil: Schlecht vorhersagbares Echtzeitverhalten

8. Interrupt Unterbrechung der Ausführung von Programm durch eine ISR Anschließend Fortsetzung Ablauf beim Auftreten eines Interrupts: Hardware bestimmt Interruptvektor des IRQs mit höchten Priorität Hardware sichert Befehlszähler und Statusregister auf Stack Hardware holt neuen Befehlszähler ISR sichert selber benutzte Register, damit diese nicht überschrieben werden ISR wird ausgeführt (maskiert gegen weitere Unterbrechung) gesicherte Register wiederherstellen ISR beendet sich durch Rücksprung (zurückholen der alten Daten vom Stack) unterbrochene Task wird weiter fortgesetzt ggf. kann ISR Tasks starten

9. Paging Virtuelle Speicherverwaltung Programme mit mehr Speicherbedarf als HS groß ist es werden nur Teile im HS gehalten Funktionsweise: Programme mit virtuellen Adressen bis zur Größe G alle Adressen von r/w-operationen werden über MMU (memory management unit) geleitet und in physikalische Adressen umgerechnet Virtuelle Adressraum in Pages fester Größe und physikalischer Adressraum in Frames selber Größe unterteilt Frames enthalten Blöcke Zugriffe werden umgerechnet, falls page fault erfolgt Ein-/Auslagerung Verwaltung über Seitentabellen virtuelle Adresse besteht aus virtueller Seitennummer + Offset virtuelle Seitennummer dient als Index für Seitentabelle Seitenrahmennummer ersetzt virtuelle Seitennummer Seitentabelle beinhaltet Seiten, die momentan im Speicher sind Vorteil: Illusion des zusammenhängenden Speichers für einen Task

10. Meilensteine Speicherdichte: 1970 1KBit pro Chip, Wachstum aller 10 Jahre ums 64 fache Prozessorgeschwindigkeit: 1995 0.5 K-MIPS, quadratisch steigend auf 10 K-MIPS im Jahre 2010 Zykluszeit/Taktrate: 1995 10ns/100MHz auf 2005 <1ns/1000MHz Integrierung: 1978 29000 Transistoren (8086) auf 2000 15M Transistoren per CPU, Vertikale Achse: logarithmisch zur Basis 10, Graph linear 1995 0.3µm, 2001 0.1µm, 2007 0.045µm (Intel Conroe) Preis/Leistung: 1960: 50.000.000$ auf 1990: 5.000$ Vertikale Achse, log. zur Basis 10, Graph linear fallend, leicht einsackend