4 Speichern und Adressieren



Ähnliche Dokumente
Einführung in die technische Informatik

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

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

1 Aufgaben zu Wie funktioniert ein Computer?

Teil VIII Von Neumann Rechner 1

Mikrocomputertechnik. Adressierungsarten

5 Speicherverwaltung. bs-5.1 1

OPERATIONEN AUF EINER DATENBANK

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

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Technische Informatik 2 Adressierungsarten

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

Virtueller Speicher und Memory Management

Mikrocontroller Grundlagen. Markus Koch April 2011

CA Übung Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

Die Mikroprogrammebene eines Rechners

Kompetitive Analysen von Online-Algorithmen

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Kapitel VI. Speicherverwaltung. Speicherverwaltung

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

Zeichen bei Zahlen entschlüsseln

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

Man liest sich: POP3/IMAP

SJ OFFICE - Update 3.0

S7-Hantierungsbausteine für R355, R6000 und R2700

I Serverkalender in Thunderbird einrichten

Adressen der BA Leipzig

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Anleitung zur Nutzung des SharePort Utility

Professionelle Seminare im Bereich MS-Office

Grundlagen verteilter Systeme

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

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

Updatehinweise für die Version forma 5.5.5

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Java Virtual Machine (JVM) Bytecode

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

Grundlagen der Informatik (BSc) Übung Nr. 5

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

Anbindung des eibport an das Internet

Step by Step Webserver unter Windows Server von Christian Bartl

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

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

4D Server v12 64-bit Version BETA VERSION

Tipps und Tricks zu Netop Vision und Vision Pro

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

ARCO Software - Anleitung zur Umstellung der MWSt

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Die Dateiablage Der Weg zur Dateiablage

, WS2012 Übungsgruppen: Mo., Do.,

DOKUMENTATION VOGELZUCHT 2015 PLUS

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Tutorial: Wie kann ich Dokumente verwalten?

3 Rechnen und Schaltnetze

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

2. Aufgabe (3 Punkte) Errechne anhand der angegebenen Daten den Abschreibungssatz der linearen Abschreibung in Prozent. Erklärung:

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Tevalo Handbuch v 1.1 vom

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Bedienungsanleitung für den Online-Shop

Lizenzierung von System Center 2012

Der neue persönliche Bereich/die CommSy-Leiste

Prodanet ProductManager WinEdition

STRATO Mail Einrichtung Mozilla Thunderbird

Anleitung Abwesenheitsmeldung und -Weiterleitung (Kundencenter)

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

MESONIC WINLine Jahreswechsel. Umstellung des Wirtschaftsjahres SMC IT AG

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

ERSTE SCHRITTE.

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Benutzerverwaltung Business- & Company-Paket

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

1. Bearbeite Host Netzgruppen

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

OUTLOOK (EXPRESS) KONFIGURATION POP3

SFTP SCP - Synology Wiki

Internet Explorer Version 6

Hilfedatei der Oden$-Börse Stand Juni 2014

2. Negative Dualzahlen darstellen

Tipps und Tricks zu Netop Vision und Vision Pro

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Technische Informatik Basispraktikum Sommersemester 2001

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Transkript:

4 Speichern und Adressieren Schaltwerke, Register, Puffer, Paging Gedächtnis in Schaltungen Rückkopplung Schaltwerke I N P U T x 1 x 2 x n Schaltnetz y 1 y 2 y m O U T P U T Z K Speicher Z K Z! z 1 2

Flipflops Ein Flipflop ist ein Schaltwerk mit genau zwei Zuständen Reset-Set-Flipflop S R Taktgesteuertes RS-Flipflop S C R D-Latch D C 1 1 1 Q Q Q Q S Q R Q S Q S R Q Q 0 0 Q Q 0 1 0 1 1 0 1 0 0 0 # # 3 C1 R Q D Q C1 Q C S R Q 0?? Q 1 0 0 Q 1 0 1 0 1 1 0 1 1 0 0 # C 0? Q 1 0 1 1 1 0 verboten verboten Schalter (Toggle) Zähler T Q Q T Q C T Q 0? Q 1 0 Q 1 1 Q C synchroner Binärzähler y 1 y 2 y 3 y 4 T T Q T Q T Q T Q T Q C 4

Register Schieberegister mit paralleler und serieller Ausgabe y 1 y 2 y 3 y 4 y 5 IN C Speicherregister mit paralleler Ein/Ausgabe OUT y 1 y 2 y 3 y 4 y 5 C IN x 1 x 2 x 3 x 4 x 5 5 Der I 8008 kannte Buchstaben Datenbus 8 Bit 16 Kbyte Speicher ansprechbar 14-Bit Adressen 7 14-Bit Register 48 Befehle 100000 Befehle/s Rechnen mit Buchstaben 6

Kleinst adressierbare Einheit 1 Byte Bereichsadressen Um größere zusammenhängende Bereiche im Speicher anzusprechen, muß die entsprechende Adresse ohne Rest teilbar sein durch 2 beim Halbwort 4 beim Wort 8 beim Doppelwort 2048 bzw. 4096 bei einer Seite 65536 bzw. 1048576 bei einem Segment 7 Adressierung OP-Code Operand 1... Daten-unmittelbar (Direktoperand) Der Operand steht bereits im Operandenfeld Datum = [OP] direkt (absolute Adressierung) Die Adresse steht im Operandenfeld Datum = [OP] indirekt Die Adresse findet sich unter der Adresse im Operandenfeld Datum = [ [OP] ] Register-direkt Datum steht im Register Datum = [R] Register-indirekt Adresse steht im Register Datum = [ [R] ] Register-relativ offset, displacement D = Inhalt Operand Datum = [ D + [R] ] oder Datum = [ D + [R1] + [R2] ] Als Register kommen in Frage Basisregister BR (z.b. RECORD) Indexregister IR (z.b. ARRAY) Befehlszähler BZ (Verschiebliches Programm) 8

Keine Verschiebbarkeit z.b. bei absoluter Adressierung Verschiebbarkeit Die Speicherzellen werden im Programm unmittelbar angesprochen, also müssen die Daten unbedingt an diese Stellen geladen werden. Verschiebbar zur Ladezeit z.b. bei relativer Adressierung Alle Adressen sind relativ zum Programmanfang zu sehen, beim Laden braucht nur bei jeder Adresse die Anfangsadresse des Programms auf die Adressen addiert zu werden Verschiebbar zur Laufzeit z.b. bei Basis-relativer Adressierung der momentane Beginn des Datensegments wird in einem Basisregister gehalten und bei Umspeicherung wird das Basisregister geändert. 9 BALR Die Verschiebbarkeit von Programmen wird durch ein Register BALR (Branch And Link Register) erzeugt Befehl Bedeutung Anwendung BALR R1, R2 Lade die Folgeadresse (BZ) nach R1 und verzweige nach [R2] (keine Verz. Falls R2=0 ist. BALR R1,0 am Anfang des Programms (Programmteils) verwendet R1 als Basisregister, wenn alle Adressen relativ zum Anfang 0 eingerichtet sind. 10

Virtueller Speicher Physischer und logischer Adressraum Mehrprogrammbetrieb Jedem einzelnen Programm kann nur ein Teilbereich des physisch vorhandenen Speichers zugeteilt werden großer Hauptspeicherbedarf Ein einzelnens Programm kann einen höheren Speicherbedarf haben, als physisch zur Verfügung steht Physischer Adressraum Physischer Adressraum Logischer Adressraum Logischer Adressraum 11 Adressumsetzung Virtuelle Speicherverwaltung erfolgt über Adressumsetzung in einer Tabelle Physischer Adressraum wird in Kacheln (z.b. 256 Worte) aufgeteilt, in die entsprechende Seiten (gleicher Größe) der Programme abgelegt werden. Umsetzungstabelle zur Berechnung der physischen Speicheradresse aus der logischen Adresse im Programm Task 01 1 3 2 9 3 0 - Task 02 1 4 2 12 - - Task 03 1 2 2 1 3 8 4 7 Programm 1 2 3 4 5 2 6 7 8 7 9 0 15 16 4 12

Der I 8080 mit Zeigern Datenbus 8 Bit 64 Kbyte Speicher ansprechbar 16-Bit Adressen 6 8-Bit Register 2 16-Bit Register 78 Befehle 290000 Befehle/s 16-Bit Adressen 13 Zeigerkonzept Der Befehlszeiger (IP) verweist unmittelbar in den Speicher auf den nächsten zu verarbeitenden Befehl Der Stapelzeiger (SP) verweist unmittelbar in den Speicher auf den nächsten zu vergebenden Speicherplatz Dynamische Speicherverwaltung wird möglich, d.h. ein Programm sucht sich erst zur Bearbeitungszeit den aktuell notwendigen Speicherplatz Programmspeicher Aktueller Befehl Eintrag 05 Eintrag 04 Eintrag 03 Eintrag 02 Eintrag 01 Datenspeicher Befehlszeiger Stapelzeiger 14

Mit dem Stapelkonzept (Stack) läßt sich ein ganzer Speicherbereich dynamisch (d.h. zur Ausführungszeit) verwalten Der Stapelzeiger (SP) weist auf das nächste unbesetzte Speicherfeld Dies Feld kann beschrieben werden (PUSH) Das oberste Feld des Stapels kann gelesen werden (TOP) Das oberste Feld des Stapels kann entfernt werden (POP) Bei PUSH bzw. POP wird der SP ein Feld weiter bzw zurück gesetzt Der Stapel arbeitet nach dem LIFO-Prinzip (last-in, first-out) frei Der Stapel besetzt SP 15 Caches Schneller Pufferspeicher für aktuelle Programmteile und Daten (temporär!!) Register Cache Speicher 16

Read Ahead Vorausschauender Zugriff (read ahead) auf den Speicher über den Cache Speicherzugriff Steuerlogik prüft, ob der Speicherinhalt schon im Cache liegt Ja (hit) Prozessor greift unmittelbar auf den Cache zu Nein (miss) Aus dem Speicher wird zuerst der gesuchte Block in den Cache übertragen Effektivitätssteigerung durch vorausschauendes Laden Langes Halten (reuse) im Cache Daten im Cache sollten möglichst bis zum Abschluß ihres Gebrauchs im Cache verweilen um unnötige Swaps zu vermeiden. Problem der doppelten Buchführung (Inkonsistenz) 17 virtueller Cache Beim virtuellen Zugriff wird die Zuordnung von Speicher- Adresse und Cache-Zeilennummer über eine Hash- Funktion (abhängig vom Inhalt) gesteuert. Vorteil schnell durch nebenläufige Adressberechnung Nachteile Cache-Wechsel (flush) bei Prozess-Wechsel verschiedene Cache-Zeilen können dieselbe Speicheradresse realisieren (adress aliasing bei gemeinsamen Variablen) Veränderungen im Speicher (DMA) könnten die Cache-Inhalte veralten lassen (Inkonsistenz) Konsequenz Einsatz nur als Befehls-Cache 18

physischer Cache Die Adressumsetzung erfolgt vor dem Cache-Zugriff nach einer festen Zuordnungsfunktion (die auch in einer Tabelle abgelegt sein kann) Nachteil höhere Zugriffsdauer wegen der vorhergehenden Adressumsetzung Vorteile Konsistenzprüfungen sind jederzeit möglich, da jederzeit die aktuelle Adresszuordnung nachvollzogen werden kann Doppelzuweisungen sind ausgeschlossen mehrere Prozesse und mehrere Caches können gleichzeitig versorgt und konsistent gehalten werden 19 Cache-Organisation In welcher Zeile wird ein Speicherblock abgelegt ( Plazierungsproblem mapping) Wie wird ein Block im Cache wiedergefunden (Identifikationsproblem identification) direkt (Speicheradresse mod Cachelänge) voll assoziativ (Zuordnungstabelle) n-assoziativ (Tabelle + Speicheradresse mod n ) direkt n-assoziativ vollassoziativ 20

vereinfachtes Beispiel Speicher-Adresse 23 2 4 TLB Cache-Adresse 5 2 4 CACHE 7,20 5,21 Hugo Otto 5,30 Susi Emil Anna Translation Lookaside Buffer.... 18 9 23 5.... SPEICHER Seitentabelle 18 19 20 21 22 23.. 9.. 2.... 5.. 5,2,1 5,2,2 5,2,3 5,2,4 5,2,5... Hugo Otto Susi Emil Anna... 21 Aktualisierung Problem der Datenkonsistenz Cache - Speicher write through Bei jeder Veränderung des Cache Inhalts wird der neue Wert sofort in die korrespondierende Speicherzelle geschrieben Nachteil hohe Belastung des Prozessor-Speicher-Busses Puffer für Wert Adresse nötig copy back Veränderung des Speicherinhalts erst bei Verdrängung des Blocks aus dem Cache Neben V(= valid-bit) wird ein Bit D (= dirty-bit) in der Verwaltungsinfo geführt, das gesetzt wird, wenn in den Block geschrieben wird. Nur Blöcke mit gesetztem D müssen in den Speicher zurückgeschrieben werden. 22

FIFO (first-in, first-out, wer zuerst kommt, mahlt zuerst) einfache Implementierung aber ungünstig Zufällig nicht ideal aber gut zu implementieren LRU (least recently used, am längsten unbenutzt) optimal aber schwierige Implementation Ersetzung move to front setze das aktuelle Feld an den Anfang der Schlange transpose setze das aktuelle Feld in der Schlange ein Feld vor SCR (second chance replacement) Setze ein used-bit U wenn eine Seite verwendet wird. ersetze die erste Seite mit U=0, aber setze davor bei allen Seiten U=0. 23 Instruktions-Cache vorausschauendes Holen möglich (außer bei Sprüngen) unterstützt Pipelining Holen - Decodieren - Ausführen Trennung der Caches für Programm und Daten Probleme mit selbstmodifizierendem Code Direktoperanden (Datencache oder Instruktionscache?) Konsistenzprobleme bei starrer Trennung wegen ggf. notwendiger Dopplung von Zeilen (Daten im Programm) 24

Assoziativspeicher Ablage der Daten mit Kennung und Verwaltungsinformation Kennung (tag) V... Daten Blockadresse Kennung - Index - Offset Kennung (tag) Index Offset Zugriffsmechanismus Kennung (tag) Index Offset Satz 1 Kennung (tag) V... Daten Satz 2 Satz n Vergleich Vergleich 25 >=1 Treffer großer Speicher Speicherbedarf der Programme unabhängig von dem aktuell verfügbaren Speicher Programminterne Speicheradressen kleiner/größer als die Adressbusbreite Speicherung Programmunabhängig Lösung Segmenttechnik Jedes Programm kann für seinen Speichebedarf eigene Segmente (fester beschränkter Größe) anfordern, die vom Betriebssystem über Segmentregister verwaltet werden 26

Segment vs. Virtueller Speicher Segment - Organisiation wird durch den Benutzer (Programmierer) verwaltet zusammengehörige Daten stehen zusammen in demselben Segment Segmente können nur gering ausgenutzt sein Der Zugriff auf Segmente erfolgt unmittelbar über ein Segmentregister Virtueller Speicher wird durch den Rechner verwaltet zusammengehörige Daten können in verschiedene Seiten kommen Die Seiten sind bis auf wenige Ausnahmen vollständig mit Daten besetzt Der Zugriff auf eine Seite erfordert eine vorherige Adressberechnung über eine Seiten-Tabelle 27 16 Bit Datenbus 20 Bit Adressbus Speicher 1 Mbyte 14 Register 16 Bit 4 Segmentregister 800000 Befehle/s Segmentregister 28

Adressierungsmethode des I 8086 Segmentierung Segmentregister vorne auf den Datenbus geschoben und der Offset dazu addiert 0 0 0 0 + Adressierungsmethode im protected Mode (Ab I 80286) Segmentregister enthält einen Verweis auf die Segmentbeschreibung (40 Bit) Segment-Anfangsadresse (Höherwertige Bytes) Segmentlänge Status Gültigkeit, geladen,.. Zugriffsrechte etc. 29 16 Bit Datenbus 24 Bit Adressbus Speicher 16 Mbyte 15 Register 16 Bit 4 Segmentregister 1 600 000 Befehle/s 40-Bit Segmentbeschreibung Mehrprozess-Betrieb Hardware-Schutz Der I 80286 30

Mehrfach-Prozessor 32 Bit Datenbus 32 Bit Adressbus Speicher 4 Gbyte 46 Bit virtuelle Adresse vierteller Speicher 64 TByte 9 Register 16 Bit 8 Register 32 Bit 4 000 000 Befehle/s 64-Bit Segmentbeschreibung I 80386 Microcode Ausführungs- Warteschlange Befehlsdekoder Ausführungs einheit Segmentierungs-- Einheit Prefetch -Einheit Register ALU Schiebe- Einheit Segment- beschreibungs- Einheit Befehls- Warteschlange Bussteuerung Seiten- Verwaltung Seiten- Speicher 31 Speicherzugriff- Beschleunigung durch Direct Memory Access DMA Neben der CPU können auch weitere Prozessoren (DMA-Controller) unmittelbar auf den Speicher zugreifen, um Wartezeiten zu vermeiden. Peripherie- Gerät DMA- Controller Ende Start für DMA temporär reserviert Speicher CPU Die CPU weist einen Speicherbereich für DMA aus und gibt dem DMA- Controller das Startsignal. Nach Beendigung der Übertragung signalisiert der DMA-Controller der CPU den Vollzug. 32

Speicher-Verschränkung Zur Beschleunigung des Speicher-Zugriffs kann auch der Speicher auf mehrere Bänke verteilt werden (Interleaving) Speicherbank 0 Speicherbank 1 Speicherbank 2 Speicherbank 3 Zugriffslogik Adresse Low-Bytes = Bank-Nr. Der Zugriff kann im Fließbandverfahren auf die verschiedenen Bänke quasi-gleichzeitig erfolgen und damit den Zugriff beschleunigen. Die Codierung der niedrigen Bits als Banknummern sorgt dafür, daß benachbarte Daten in verschiedene Bänke abgelegt werden. 33