, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005w-TI2-E-Mem.fm, ]

Größe: px
Ab Seite anzeigen:

Download ", Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2005w-TI2-E-Mem.fm, ]"

Transkript

1 E Hauptspeicher E.1 1 Einordnung Ebene 1 Ebene 6 Ebene 5 Ebene 4 Problemorientierte Sprache Assemblersprache Betriebssystem Ebene 3 ISA (Instruction Set Architecture) Ebene 2 Ebene 1 Ebene Mikroarchitektur Digitale Logik Physik E.2

2 2 Einführung Technologien zum Speichern von Daten Modifikation von Strukturen: Lochkarte, Schallplatte Rückkopplung: Flip-Flops, SRAM elektrische Ladungen: Kondensator, DRAM Magnetismus: Magnetkernspeicher, Magnetband, Diskette, Festplatte Optik: Bar-Codes, CD-ROM, DVD Vergleichskriterien Kapazität Geschwindigkeit Speicherdichte Energiebedarf Robustheit Kosten E.3 2 Einführung (2) Speicherhierarchie bis zu sechs Ebenen in modernen Systemen unterscheidbar 1 ns Register Zugriffsart 1 Byte 5 ns Cache wahlfrei 1 MByte Zugriffszeit 5 ns 1 ms Hauptspeicher Festplatte 1 GByte 1 GByte Kapazität 1 ms CD-ROM/DVD seriell [1 GByte] 1 s Magnetbänder 1 TByte E.4

3 2.1 Begriffe RAM (Random Access Memory) wahlfreier Zugriff Zugriffe dauern alle etwa gleich lang vgl. Plattenzugriffe, Bandzugriffe lesende und schreibende Zugriffe möglich SRAM (Static RAM) statischer RAM-Speicher DRAM (Dynamic RAM) dynamischer RAM-Speicher E Begriffe (2) ROM (Read Only Memory) zur lesender Zugriff möglich PROM (Programmable Read Only Memory) programmierbarer ROM-Speicher (einmalig beschreibbar) z.b. maskenprogrammiert bei Chip-Herstellung EPROM (Eraseable PROM) mit UV-Licht löschbarer PROM-Speicher elektrisch programmierbar (durch zusätzliche Steuerleitungen) EEPROM (Electrically Eraseable PROM) elektrisch lösch- und beschreibbarer Speicher E.6

4 2.1 Begriffe (3) Flash-Speicher Eigenname wie EEPROM jedoch höhere Packungsdichte NV-RAM (Non Volatile RAM) normalerweise SRAM mit eingebautem EEPROM zur Rettung der Daten bei Stromverlust Batteriegepuffertes RAM integrierte Batterie sorgen für Erhalt der Daten E Begriffe (4) Einteilung des Speichers in flüchtigen Speicher: SRAM, DRAM, SDRAM, Informationen gehen nach Ausschalten der Versorgungsspannung verloren! nichtflüchtige Speicher: PROM, EPROM, EEPROM, Informationen bleiben auch ohne Versorgungsspannung über längere Zeit (typischerweise einige Jahre) erhalten! Messung der Kapazität von Speicherbausteinen in kbyte: 1 kbyte = 124 Byte = 2 1 Byte MByte: 1 MByte = 124 KByte = 124 x 124 Byte = 2 2 Byte = = Byte GByte: 1 GByte = 124 MByte = 124 x 124 x 124 Byte = 2 3 Byte = = Byte E.8

5 2.2 Geschwindigkeit Zugriffszeit, t ac Zeitspanne vom Anlegen einer Speicheradresse bis zum Vorliegen der Daten (Lesezugriff) Zykluszeit, t cycle Zeitspanne vom Anlegen einer Adresse bis zum möglichen Anlegen der nächsten Adresse Beispiel für Zeitdiagramm CS Adressen Daten t ac t cycle E.9 3 SRAM Static Random Access Memory (SRAM) auf Flip-Flop-Prinzip basierender Speicher (vgl. TI1 Folie H.6 vom SS 25) Write D in D Q C D out Aufbau einer Speicherzelle in verschiedenen Technologien z.b. in CMOS-Technik E.1

6 3.1 SRAM-Zelle SRAM-Zelle mit zwei Invertern Select bit bit Inverterausgänge werden stabil (Flip-Flop, zwei stabile Zustände) mit Select-Leitung kann Flip-Flop mit Leitungen bit und bit verbunden werden E SRAM-Zelle (2) Schreiben in Zelle Leitungen bit und bit werden verschieden beschaltet (,1) oder (1,) Select-Leitung wird auf 1 gesetzt Inverter schwingen in den einen bzw. anderen stabilen Zustand ein Rücknahme der Select-Leitung möglich Zustand bleibt erhalten solange Betriebsspannung angelegt Lesen von Zelle Leitungen bit und bit werden mit 1 beschaltet und Select wird kurz mit 1 beschaltet Inverter versuchen eine der beiden Leitungen auf Masse zu ziehen geringer Spannungsabfall kann registriert werden oder 1 wird erkannt aufwändige Verstärkerschaltung notwendig E.12

7 3.1 SRAM-Zelle (3) Schreiben einer SRAM-Zelle 1 Select bit bit Inverter schwingen sich schnell ein Inverter halten Zustand auch nach Abschalten von Select E SRAM-Zelle (4) Typischer Aufbau mit 6 Transistoren Vcc Select Gnd bit bit MOSFET-Transistoren (Polung vereinfacht dargestellt) E.14

8 3.2 SRAM-Speicher Typischer Aufbau eines SRAM-Speichers WE D3 D2 D1 RW-Logik RW-Logik RW-Logik D RW-Logik A A1 Adress-Decoder Zelle Zelle Zelle Zelle R-Sensor Zelle Zelle Zelle Zelle R-Sensor Zelle Zelle Zelle Zelle R-Sensor Zelle Zelle Zelle Zelle R-Sensor Wort Wort 1 Wort 2 Wort 3 D3 D2 WE (Write Enable) zeigt Schreibvorgang an D1 D E SRAM-Speicher (2) Datenleitungen gemeinsame Nutzung einer Leitung für Lesen und Schreiben CS (Chip Select) zeigt an, ob Chip angesprochen oder nicht zusammen mit WE ergibt sich Signal zur Freischaltung der Datenleitung für Lesezugriff: WE CS (Datenleitung wird Ausgang) D i SRAM-Spalte WE CS E.16

9 3.2 SRAM-Speicher (3) Chip-Aufbau Zellen sind zeilen- und spaltenweise angeordnet für jede Spalte eine Datenleitung notwendig für 2 n Zeilen sind n Adressleitungen notwendig Beispiele für Chip-Aufbau von MBit-Speicherchips 256k x x 124 Worte à 4 Bit (18 Adress-, 4 Datenleitungen) 512k x x 124 Worte à 2 Bit (19 Adress-, 2 Datenleitungen) 1M x x 124 Worte à 1 Bit (2 Adress-, 1 Datenleitung) Geschwindigkeit typische Zugriffs- und Zykluszeit: 1ns E Verbesserungen Output-Enable-Steuerleitung (OE) eigene Steuerleitung zum Schalten des Tri-State-Puffer zur Ausgabe Überlappung von Adressdecodierung, Speicherzugriff und Ausgabe auf Datenbus möglich SSRAM (Synchronous SRAM) Taktleitung Synchronität mit Prozessortakt gesteuerte Überlappung möglich Burst-Modus interner Zähler sorgt für Inkrementierung der Adresse kein Anlegen einer neuen Adresse erforderlich Speicher liefert zwei oder vier Datenworte von aufeinanderfolgenden Adressen (setzt Taktung voraus) E.18

10 3.4 Einsatz SRAM-Eigenschaften schneller Zugriff z.b. 1ns auf externem Baustein im Prozessor integriert noch schneller großer Platzbedarf auf dem Chip großer Energiebedarf unempfindlich gegen Strahlung und Einstreuung teuer Einsatz schneller Hauptspeicher (z.b. Hochleistungsrechner) Cachespeicher (Level 1 und 2 Caches) Mission-Critical-Applications (z.b. Weltraumanwendung) E.19 4 DRAM Dynamic Random Access RAM (DRAM) Speicher basiert auf in einem Kondensator gespeicherter Ladung Problem: Ladung hält sich nur wenige Millisekunden Speicher muss periodisch aufgefrischt werden 4.1 DRAM-Zelle Transistor und Kondensator Bit Kondensator / Kapazität Select Gnd C E.2

11 4.1 DRAM-Zelle (2) Schreiben einer DRAM-Zelle Bit-Leitung auf 1 oder setzen (mit Vcc oder Gnd verbinden) Select-Leitung ansteuern Kapazität aufladen oder entladen Lesen einer DRAM-Zelle Select-Leitung ansteuern Ladung des Kondensators über Bit-Leitung messen einfache Verstärkerschaltung Lesevorgang zerstört Ladung anschließendes Rückschreiben des gelesenen Wertes Auffrischung periodisches Lesen der DRAM-Zelle gleicht Ladungsverlust aus E Typischer DRAM-Speicher Matrixaufbau eines DRAM-Speichers A5 A4 A3 Zeilen-Adress-Decoder Spalten-Adress-Decoder / RW-Logik A2 A1 A D RAS CAS WE E.22

12 4.2 Typischer DRAM-Speicher (2) Multiplexed Interface anlegen der ersten Hälfte der Adressbits im ersten Schritt Steuerleitung RAS (Row Access Strobe) signalisiert anlegen der zweiten Hälfte der Adressbits im zweiten Schritt Steuerleitung CAS (Column Access Strobe) signalisiert Erster Schritt Zeilenadressdecoder liefert Select-Leitung für eine Zeile komplette Zeile wird in einen Zwischenpuffer übernommen und zurückgeschrieben Zweiter Schritt aus dem Zwischenpuffer wird ein Bit ausgelesen Schritt kann mehrfach wiederholt werden (mehrere aufeinanderfolgende Bits können gelesen werden) E Typischer DRAM-Speicher (3) Chip-Aufbau ähnlich SRAM gibt es verschiedene Konfigurationen Datenbreite kann unterschiedlich sein für jedes Datenbit gibt es eine Matrix (Pane) Auffrischung heute auf dem DRAM-Speicher integriert früher durch externe Bausteine ausgelöst 4.3 Eigenschaften von DRAM-Speichern Weniger Platzbedarf Integrationsdichte höher (25% von SRAM Speichern) langsamerer Zugriff E.24

13 4.4 Zusammenschaltung von Speicherbausteinen Verbreitern des Datenwortes z.b. vier Bausteine mit 256k Worten à 4 Bit für Speicher mit 256k Worten à 16 Bit A 17 A 256k x 4 256k x 4 256k x 4 256k x 4 RAS CAS D 15 D 12 D 11 D 8 D 7 D 4 D 3 D alle Bausteine gleich beschaltet Zusammenfassen der Datenleitungen E Zusammenschalten von Speicherbausteinen (2) Erhöhung der Anzahl der Speicherworte z.b. vier Bausteine mit 256k Worten à 4 Bit für Speicher mit 1M Worten à 4 Bit A 17 A A 19 A 18 RAS CAS S1 S S1 S Decoder 256k x 4 256k x 4 256k x 4 256k x 4 D 3 D E.26

14 4.5 Verbesserungen Mehrfache Anwendung des zweiten Zugriffschrittes Halbierung der Zugriffszeit (bei ständigen Zugriffen auf aufeinanderfolgende Adressen) normal 6 7 ns auf Folgeadressen 3 35 ns Überlappung der Zugriffe Daten stehen länger am Datenbus CAS-Schritt kann überlappend für nächsten Zugriff erfolgen EDO-DRAM (Extended Data Out DRAM) E Verbesserungen (2) SDRAM (Synchronous DRAM) getaktetes DRAM alle Steuerleitungen werden getaktet verwendet Daten werden bei steigender Taktflanke ausgegeben Dauer zwischen CAS-Schaltung und Datenausgabe 2 3 Takte abhängig von eingestellter CAS-Latenz automatische Ausgabe der Folgedaten durch Stehenlassen des CAS-Signals in weiteren Takten schneller Zugriff, da Pufferregister in SRAM-Technologie Zugriffszeit erstes Wort: 6 ns (16 MWorte/s) Folgewort: 7,5 ns (133 MWorte/s) E.28

15 4.5 Verbesserungen (3) DDR-SDRAM (Data Double Rate SDRAM) gleicher Systemtakt jedoch doppelte Datenrate Auslesen von zwei aufeinanderfolgenden Adressen Datenwort bei steigender und fallender Taktflanke Zugriffszeit erstes Wort: 6 ns (16 MWorte/s) Folgewort: 3,75 ns (266 MWorte/s) Achtung Versprechen aus der Werbung: 3,75 ns Zugriffszeit tatsächlich nur für Folgezugriffe mit aufsteigenden Adressen erster Zugriff kostet nach wie vor 6 ns DRAM-Prinzip unverändert E Verbesserungen (4) RAMBUS (Eigenname) Vorschlag von Intel und Rambus komplexes Speicherinterface Pipelining-Technik beim Speicherzugriff 8 überlappend ausgeführte Speicherzugriffe höherer Systemtakt bis zu 8 MHz doppelter Datenbus 16 Bit statt 8 Bit Zugriffszeit erstes Wort: <4 ns (>25 MWorte/s) Folgewort: 1,25 ns (8 MWorte/s) E.3

16 4.5 Verbesserungen (5) Hauptsächlich Verbesserungen an der Speicherschnittstelle Kern des DRAM ist im Wesentlichen gleich geblieben Verbesserungen nur bei Folgezugriffen wahlfreie Zugriffe brauchen immer noch lange Folgezugriffe jedoch häufig durch Einsatz von Caches Caches speichern nicht individuelle Speicherstellen sondern Zeilen à 16 Byte E.31 5 Exkurs: Assoziativspeicher Inhaltsadressierbarer Speicher, CAM (Content-Adressed Memory) Adressierung herkömmlichen Speichers: Adresse Speicherinhalt (genau ein Ergebnisdatum) Adressierung eines Assoziativspeichers: Schlüsseldaten Speicherinhalt (kein Ergebnis, ein Ergebnis, mehrere Ergebnisse) Schneller Zugriff auf Daten, die teilweise bekannt, deren Adressen im Speicher jedoch unbekannt sind. Konzept bereits 1943 durch Konrad Zuse bekannt gemacht erst mit Halbleitertechnik in Hardware implementiert E.32

17 5 Exkurs: Assoziativspeicher (2) Einsatz effizientes Suchen (z.b. Datenbanken, Künstlicher Intelligenz ) Heute weitgehend ersetzt durch schnelle Algorithmen unter Verwendung konventionellen Speichers z.b. Hashing-Techniken Aufbau eines Assoziativspeichers zeilenweiser Aufbau Zeile besteht aus k Bit Schlüssel (Key) und n Bit Daten E.33 5 Exkurs: Assoziativspeicher (3) Aufbau (fortges.) Key Maske Binärcodierung Kontrolllogik 1 Trefferregister binäre Codierung der Daten, des Schlüssels und der Suchmaske Suche durch Maske eingeschränkt auf bestimmte Bits des Schlüssels k Bit n Bit Ausgaberegister E.34

18 5 Exkurs: Assoziativspeicher (4) Suche Eingabe des Suchschlüssels und einer Suchmaske z.b. speicheradressiert über spezielle Adresse parallele oder teilparallele Suche in allen Zeilen nach passendem Muster Trefferregister hat jeweils 1 Bit für alle gefundenen Zeilen Auslesen der Ergebnisse sequentielles Ergebnisauslesen anhand Trefferregister gesteuert durch spezielle Steuerlogik Auslesen durch spezielles Ausgaberegister z.b. speicheradressiert über spezielle Adresse E.35 6 Caches Erhöhte Anforderungen an Speicher superskalare Prozessoren und Out-Of-Order-Execution benötigen mehr Befehle pro Zeiteinheit kürzere Zugriffszeit höhere Transferrate Verbesserungen an der DRAM-Speichertechnik sind nicht ausreichend Ziel trotz DRAM-Speicher soll Speicherzugriff ähnlich schnell wie auf SRAM-Speicher funktionieren Einsatz einer Speicherhierarchie mit gestaffelt schnellen Speichertechnologien E.36

19 6.1 Speicherhierarchie Speicherhierarchie eines modernen Prozessorsystems CPU-Kern L1-Cache L1-Cache Daten- und Befehlszugriffe getrennt SRAM (8 64 kbyte, 1 3 Takte Zugriffszeit) L2-Cache SRAM ( kbyte, 3 6 Takte) L3-Cache SRAM (4 64 MByte, Takte) Hauptspeicher DRAM (64 MByte 8 GByte, 25 4 Takte) L3-Cache nur bei einigen Prozessoren (z.b. Intel XEON SMP) SMP = Symmetric Multiprocessing E Cache-Aufbau Cache ist ein Assoziativspeicher für Speichereinträge des Hauptspeichers Schlüssel (Key, Tag) entspricht Speicheradresse Daten entsprechen dem Speicherinhalt Ungültige Einträge werden nicht aus dem Cache gelöscht stattdessen V-Flag (Valid) pro Eintrag wird gelöscht Aufbau im Detail üblicherweise c = 2 d Einträge (Zeilen, Cache-Lines, Cache-Blocks) Datenbereich der Breite m = 2 n (üblich 8, 16, 32 Bytes, d.h. 64, 128, 256 Bits) Schlüsselbereich der Breite t 1 V-Flag pro Eintrag Cache-Größe: S C = m c E.38

20 6.3 Vollassoziativer Cache Cache-Zeile kann entsprechende Hauptspeicherinhalte speichern Hauptspeicherinhalt von m = 2 n ab Adresse a wird in beliebiger Cache-Zeile gespeichert es muss gelten amod m= ansonsten Speicherung über zwei Cache-Zeilen Schlüsselbreite t ergibt sich aus Hauptspeichergröße S M = 2 w (in Byte) mit t = w n Beispiel: 32 Bit Adressen, 16 MByte Hauptspeicher ( w = 24), 4 kbyte Cache-Größe (256 Einträge à 16 Byte, n = 4) Adressbildung Tag unbenutzt Byteauswahl in der Cache-Zeile E Vollassoziativer Cache (2) Cache-Aufbau Index V Tag Daten a9 11 a1 8a ef a1 c9 8a b 6b 7 1 ff 1 48a ff fe Cache Hauptspeicher b a ff fe b 6b ef a1 c9 8a E.4

21 6.3 Vollassoziativer Cache (3) Niedrigen n Bits der Adresse nicht im Tag enthalten dienen zur Auswahl eines Bytes aus Cache-Zeile Cache-Zugriff alle Einträge mit V-Flag = 1 werden parallel mit Zugriffsadressen verglichen, um Cache-Zeile zu finden Aufwand: ( w n) c 1 Bit Vergleicher, c Bit breites Trefferregister, UND- und ODER-Kaskade zur Erzeugung eines Cache Hit -Signals Alternative teilparallele oder sequentielle Vergleiche erhebliche Ineffizienz Vollassoziative Caches nur bei kleinen Caches möglich sonst zu langsam wg. Gatterlaufzeiten (Takt!) E Direkt abgebildeter Cache Unterteilung des Hauptspeichers in gleich große Segmente Hauptspeichergröße S M = (in Byte) Aufteilung in s gleich große Segmente (Größe des Caches) es muss gelten S M = s S C Beispiel: 32 Bit Adressen, 16 MByte Hauptspeicher ( w = 24), 4 kbyte Cache-Größe (256 Einträge à 16 Byte, n = 4), Anzahl der Segmente s = 496 ( s = 2 12 ) Adressbildung 2 w Tag Index unbenutzt Byteauswahl in der Cache-Zeile Index-Anteil bestimmt Cache-Zeile für Speicherung im Cache E.42

22 6.4 Direkt abgebildeter Cache (2) Cache-Aufbau Index V Tag Daten Hauptspeicher ff 1 fff Cache ff c9 8a 2 ce c9 8a c9 8a a fe 1 1 ff 1 1ff a9 de 8a 2 ce c9 8a ff fe ff c9 8a a fe Tags fff ff f ff fff 2 12 d a c9 8a a 89 ff fe E Direkt abgebildeter Cache (3) Nur eine Cache-Zeile für s Hauptspeicherzeilen vorhanden alle Hauptspeicherzeilen mit gleichem Index-Anteil der Adresse teilen sich eine Cache-Zeile mit gleichem Index (Konflikte möglich) Zugriff auf Hauptspeicher Auswahl der i-ten Hauptspeicherzeile im j-ten Segment i entspricht Index im Cache j entspricht Tag im Cache Suche im Cache kein Assoziativspeicher lediglich Vergleich ob Tag bei Index i gleich j Konfliktauflösung z.b. Cache-Eintrag freigeben und erneut belegen E.44

23 6.5 n-wege teilassoziativer Cache Mischung von vollassoziativem und direkt abgebildetem Cache Zerteilung des Caches in n gleich große Partitionen (Sets) der Größe Engl.: n-way Set-Associative Cache jedes Set bildet einen direkt abgebildeten Cache zwischen den Sets zeilenweise assoziativer Zugriff S C n Cache-Eintrag mit bestimmtem Index kann theoretisch in jedem der Sets gespeichert werden bei Kollisionen: Suche eines Sets, in dem Eintrag kollisionsfrei möglich ist E n-wege teilassoziativer Cache (2) Beispiel: 32 Bit Adressen, 16 MByte Hauptspeicher ( w = 24), 8 kbyte Cache-Größe (2 Sets, insgesamt 512 Einträge à 16 Byte, n = 4), Anzahl der Segmente s = 496 ( s = 2 12 ) Cache-Größe verdoppelt, damit Anzahl der Segment gleich bleibt (Indizes von bis 255) Adressbildung nach wie vor Tag Index unbenutzt Byteauswahl in der Cache-Zeile E.46

24 6.5 n-wege teilassoziativer Cache (3) Cache-Aufbau Index V Tag Daten Hauptspeicher 1 2 ff 1 ff fff ff c9 8a 2 ce c9 8a c9 8a a fe a9 de 8a c9 8a ab 2 a fe 1 fff 1 ff 1 1ff ff f a9 de 8a 2 ce c9 8a ff fe ff c9 8a a fe 2 12 d a c9 8a 2-Wege teilassoziativer Cache Tags ff fff a 89 ff fe E n-wege teilassoziativer Cache (4) Zeilen mit gleichem Index von allen Sets bilden Assoziativspeicher Zugriff auf Hauptspeicher Auswahl der i-ten Hauptspeicherzeile im j-ten Segment i entspricht Index im Cache j entspricht Tag im Cache Suche im Cache Assoziativspeicher: alle Sets untersuchen Zeilen i jedes Sets auf Tag j vergleichen Aufwand n t Bit-Vergleicher notwendig Aufwand pro Zugriff auf n parallele Vergleiche beschränkt E.48

25 6.5 n-wege teilassoziativer Cache (5) Konflikte Anzahl der Sets wesentlich kleiner als Verhältnis Hauptspeicher zu Setgröße S M genauer: n « = s n S C im Beispiel: 2 «496 Konflikte möglich, jedoch seltener s Hauptspeicherzeilen konkurrieren um n Cache-Zeilen E Lese- und Schreibzugriffe Lesezugriff auf Adresse a Read Hit: Übereinstimmung des Tags, Daten können zur CPU-transportiert werden (schneller Zugriff) Read Miss: die m Byte Daten werden ab Adresse a a mod m in den Cache geladen (Burst-Mode, schneller Speicherzugriff) gegebenenfalls muss Cache-Zeile ersetzt werden, z.b. nach LRU-Verfahren (Least-Recently-Used) E.5

26 6.6 Lese- und Schreibzugriffe (2) Schreibzugriff auf Adresse a Write Hit: Übereinstimmung des Tags, Daten werden im Cache aktualisiert (schneller Zugriff) und entweder unmittelbar in den Hauptspeicher zurückgeschrieben (Write Through) oder markiert (Dirty-Bit) und bei Verdrängung der Zeile zurückgeschrieben (Write Back) Write Miss: entweder wird der Cache-Eintrag aus dem Speicher geholt und wie bei Write Hit bearbeitet (Fetch on Write) oder der Speicherzugriff wird direkt im Hauptspeicher ohne Cache- Aktualisierung durchgeführt (Write Around) Statt auf Hauptspeicher kann der Zugriff natürlich auf einen Cache der nächsten Ebene erfolgen E Verhalten von Caches Faustregeln Ein 2-Wege teilassoziativer Cache hat typischerweise eine Miss Rate wie ein doppelt großer direkt abgebildeteter Cache. Ein 8-Wege teilassoziativer Cache hat für die meisten Anwendungen eine Hit Rate wie ein vollassoziativer Cache. Zugriffszeiten mittlere Speicherzugriffszeit auf L1-Cache: t access = t L1 + mr L1 t Mem mit mr L1 Miss Rate des L1-Cache mittlere Speicherzugriffszeit auf L2-Cache: t access = t L1 + mr L1 ( t L2 + mr L2 t Mem ) mit mr L2 gleich L2 Miss Rate E.52

27 6.7 Verhalten von Caches (2) Drei Arten von Fehlzugriffen (3 C s) Erstbelegung (Compulsory) erste Einlagerung in Cache nach Programmstart Kapazität (Capacity) zu wenig Cache-Zeilen, daher Verdrängung notwendiger Zeilen Konflikte (Conflict) Verdrängung notwendiger Cache-Zeilen durch Konflikte Fehlzugriffe durch Erstbelegung im Allgemeinen vernachlässigbar Vergrößerung des Caches reduziert Fehlzugriffe erheblich E Verhalten von Caches (3) Zusammenhang in Grafik veranschaulicht die drei Fehlzugriffs-Ursachen im Zusammenhang mit Cache-Größe und -Typ Fehlzugriffsrate,14,12,1,8,6,4,2 nach Patterson Wege (direkt abgebildet) Spec92 Benchmark 2-Wege Conflicts 4-Wege 8-Wege vollassoziativ Capacity Erstbelegung Compulsory Cache-Größe in kbyte E.54

28 6.8 Cache-Implementierung Internes Pipelining beim Cache-Zugriff pro Takt ein Zugriff fertig Dauer eines Zugriffs ingesamt jedoch mehrere Takte Virtuelle oder physikalische Cache-Adressierung Speicheradressen entweder logisch/virtuell oder physikalisch logische Adressierung meist im L1-Cache Vorteil: keine Speicherabbildung notwendig Nachteil: Prozessumschaltung muss L1-Cache löschen physikalische Adressierung in L2/L3-Caches Vorteil: Prozessumschaltung transparent Nachteil: vorherige Speicherabbildung notwendig E Optimierungen im Programm Prefetch-Instruktionen holen benötigte Daten schon vorab in Cache Erhöhung der Lokalität mehr Zugriffe auf weniger Adressen Beispiel: geschickte Schleifenkonstruktion statt long matrix[dim][dim]; for( j= ; j< DIM; j++ ) for( i= ; i< DIM; i++ ) matrix[i][j]= 1; besser for( i= ; i< DIM; i++ ) for( j= ; j< DIM; j++ ) matrix[i][j]= 1; E.56

29 6.9 Optimierungen im Programm (2) Variante 1 greift versetzt ständig auf den gesamten Speicherbereich zu Variante 2 geht sequentiell durch den Speicher Beispiel: matrix[4][4] und die ersten fünf Zugriffe Variante Variante im Beispiel: bei Größe des Datentyps long gleich 4 Byte und 16 Byte Cache-Zeilengröße sind ersten vier Zugriffe u.u. auf die gleiche Cachezeile E Optimierungen im Programm (3) Erhöhung der Lokalität (fortges.) Beispiel: Zusammenfassung von gemeinsam genutzten Daten (in Java) statt String [] Name; int [] PersonalNr; besser class Person { String Name; int PersonalNr; } Person [] Personal; zusammengehörige Daten liegen eng beisammen E.58

30 6.9 Optimierungen im Programm (4) Verminderung von Konflikten Effekt: Veränderung der Elementgröße eines Feldes führt zu signifikantem Effizienzeinbruch in wissenschaftlichen Berechnungen Problem: Cache-Konflikte Ausrichtung der Elemente großer Felder Einfügen von Füllbytes (Padding) Vermeidung von Elementgrößen die Zweierpotenzen entsprechen E.59 7 Logische Adressräume Wiederholung (von Technische Informatik I) Logische und physikalische Hauptspeicheradressen Umsetzung logischer in physikalische Adressen durch Hardware Memory-Management-Unit Segmentierung Seitenadressierung E.6

31 7.1 Segmentierung Umsetzung für Speicherbereiche (Segmente) Addition einer Konstante auf logische Adresse ergibt physikalische Adresse logischer Adressraum physikalischer Adressraum x45 x54ffff x45 xfffff x1 RAM x1fffff x1 Das Segment des logischen Adressraums kann an jeder beliebige Stelle im physikalischen Adressraum liegen. E Seitenadressierung Umsetzung für Seiten gleicher Größe Addition einer Konstanten pro Seite des logischen Adressraums logischer Adressraum physikalischer Adressraum Kacheln (Frames) Seiten (Pages) RAM Abbildung auf Kacheln des physikalischen Speichers E.62

32 7.3 Motivation Zugriffschutz kein Zugriff auf fremde Adressräume Zugriffsarten einschränkbar (z.b. nur lesbar) Einfachere Speicherverwaltung Ein- und Auslagerung von Speicherbereichen (Segmente und/oder Seiten) Unabhängigkeit von der konkreten physikalischen Adresse (Relokationsproblem) einfache Speicherbelegung bei Seitenadressierung (aber interner Verschnitt am Ende der letzten Seite eines Bereichs) Virtueller Speicher Unabhängigkeit von tatsächlich vorhandener Hauptspeichergröße E.63 8 Fallstudie: Pentium Physikalische Adresse 32 bit breit Segmente als Teil des Programmiermodells des Prozessors CS Codesegment: enthält Instruktionen DS Datensegment SS Stacksegment ES, FS, GS zusätzliche Segmente Befehle beziehen sich auf eines oder mehrere der Segmente Segmentadressierung Segmentselektor zur Auswahl eines Segments: 16 Bit bezeichnen das Segment Selektoren durch Maschinenbefehle veränderbar E.64

33 8.1 Real Mode Adressierung Adressgenerierung im Real Mode 16 Bit breiter Segmentselektor wird als 2 Bit breite Adresse interpretiert und auf die logische Adresse addiert Segmentselektor logische Adresse 2 physikalische Adresse kein Zugriffschutz da Selektor vom Programmierer veränderbar E Protected Mode Adressierung Vier Betriebsmodi (Stufen von Privilegien) Stufe : höchste Privilegien (privilegierte Befehle, etc.): BS Kern Stufe 1: BS Treiber Stufe 2: BS Erweiterungen Stufe 3: Benutzerprogramme Speicherverwaltung kann nur in Stufe konfiguriert werden Segmentselektoren enthalten Privlegierungsstufe Stufe des Codesegments entscheidet über Zugriffserlaubnis Segmentselektoren werden als Indizes interpretiert geschützte Tabellen von Segmentdeskriptoren Globale Deskriptor Tabelle Lokale Deskriptor Tabelle E.66

34 8.2 Protected Mode Adressierung (2) Deskriptortabelle enthält bis zu 8192 Segmentdeskriptoren Inhalt des Segmentdeskriptors: physikalische Basisadresse Längenangabe Granularität (Angaben für Bytes oder Seiten) Präsenzbit Privilegierungsstufe globale Deskriptortabelle für alle Prozesse zugänglich (Register GDTR) lokale Deskriptortabelle pro Prozess möglich (Register LDTR gehört zum Prozesskontext) E Adressberechnung bei Segmentierung Verwendung der Protected mode Adressierung Segmentselektor logische Adresse Basisadr. Länge 32 bit 2 bit wähle aus LDTR GDTR x 496 ja Unterbrechung 31 physikalische Adresse E.68

35 8.4 Adressberechnung bei Paging Seitenadressierung wird der Segmentierung nachgeschaltet Segmentselektor logische Adresse segmentierte Adresse Segmentierung: CR3 (Page directory base register) Page Directory Page Table 31 physikalische Adresse E Adressberechnung bei Paging (2) Zweistufige Seitenadressierung Directory Page table Seitengröße fest auf 496 Bytes Inhalt des Seitendeskriptor Kacheladresse Dirty Bit: Seite wurde beschrieben Access Bit: Seite wurde gelesen oder geschrieben Schreibschutz: Seite nur lesbar Präsenzbit: Seite ausgelagert (31 Bits für BS-Informationen nutzbar) Kontrolle des Prozessorcaches Getrennte TLBs für Codesegment und Datensegmente 64 Einträge für Datenseiten; 32 Einträge für Codeseiten E.7

36 8.5 Physical-Address-Extension (PAE) Nachgeschaltete dreistufige Seitenadressierung Segmentselektor logische Adresse CR3 segmentierte Adresse Segmentierung: Page Dir. Pointers Page Dir. Page Table 35 physikalische Adresse E Physical-Address-Extension (PAE) (2) Ab Pentium Pro vierelementige Tabelle von Page-Directory-Pointers 24 statt 2 Bit breite physikalische Adressumsetzung für den Seitenanfang 64 Bit statt 32 Bit breite Tabelleneinträge spezieller Chipsatz erforderlich Adressierbarer Hauptspeicher von 64 GByte 36 Bit breite physikalische Adresse E.72

6 Exkurs: Assoziativspeicher

6 Exkurs: Assoziativspeicher 6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei

Mehr

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches 6 Exkurs: Assoziativspeicher alternative Möglichkeit der Speicherung von Informationen in einem Computer: Assoziativspeicher (inhaltsadressierbarer Speicher bzw. CAM = Content Addressable Memory) : bei

Mehr

B Hauptspeicher und Cache

B Hauptspeicher und Cache und Cache 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher 7. Cache 1 und Cache Einordnung in das Schichtenmodell:

Mehr

B Hauptspeicher und Cache

B Hauptspeicher und Cache und Cache und Cache Einordnung in das Schichtenmodell: 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher

Mehr

E Hauptspeicher und Cache

E Hauptspeicher und Cache und Cache 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher 7. Cache 1 und Cache Einordnung in das Schichtenmodell:

Mehr

E Hauptspeicher und Cache

E Hauptspeicher und Cache und Cache und Cache Einordnung in das Schichtenmodell: 1. Begriffe 2. SRAM 3. DRAM 4. DRAM-Varianten: EDO-RAM, SDRAM, DDR-RAM, RAMBUS 5. Festwertspeicher: PROM, EPROM, EEPROM 6. Exkurs: Assoziativspeicher

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 10 AM 01./02.07.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Hauptspeicher H.1.1 Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik :

Hauptspeicher H.1.1 Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik : H. Hauptspeicher H.. Einordnung Organisation und Verhalten von Hauptspeichermodulen. Caches und assoziative Speicherung. Höhere Informatik : Hierarchische Datenspeicherung. - Programmierung, Datenbanken,

Mehr

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung Themen heute Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung Besprechung des 7. Übungsblattes Aufgabe 4a Der eigentliche Sprung erfolgt in der MEM-Phase (4. Pipeline-Stufe),

Mehr

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Rechnerstrukturen 5. Speicher 5.1 Motivation Speichertypen RAM / ROM Dynamisches RAM Inhalt Cache-Speicher Voll Assoziativ n-wege Assoziativ Direct Mapping 5.2 (c) Peter Sturm, Universität Trier 1 Der

Mehr

Erweiterung von Adressraum und Bit Tiefe

Erweiterung von Adressraum und Bit Tiefe Erweiterung von Adressraum und Bit Tiefe Erweiterung des vorigen Beispiels ist offensichtlich: Vergrößerung des Adressraums (in der Größenordnung 2 n ): Füge eine Adressleitung hinzu und verdoppele die

Mehr

Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM

Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM RAMs (Random Access Memory) - Schreib-Lese-Speicher RAMs sind Speicher mit der Aufgabe, binäre Daten für eine bestimmte Zeit zu speichern. Diese

Mehr

Speicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches

Speicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches Speicher Typen TI-Übung 5 Speicher, Caches Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS2005 SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Charakteristik

Mehr

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1 9. SPEICHER UND CACHE (c) Peter Sturm, University of Trier 1 Inhalt Grundlagen Speichertypen RAM / ROM Dynamisches RAM Cache- Speicher Voll AssoziaNv n- Wege AssoziaNv Direct Mapping Beispiel: 8 Bit- Register

Mehr

Digitaltechnik II SS 2007

Digitaltechnik II SS 2007 Digitaltechnik II SS 27 7. Vorlesung Klaus Kasper Inhalt Register Halbleiterspeicher Random Access Memory (RAM) SRAM DRAM ROM Programmierbare ROM Realisierung digitaler Systeme Digitaltechnik 2 2 Digitaltechnik

Mehr

Digitaltechnik II SS 2007

Digitaltechnik II SS 2007 Digitaltechnik II SS 27 6. Vorlesung Klaus Kasper Inhalt Asynchroner Zähler Synchroner Zähler Schaltungsanalyse Register Halbleiterspeicher Random Access Memory (RAM) SRAM DRAM Digitaltechnik 2 2 Frequenzteiler

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Rechnerorganisation. 1. Juni 201 KC Posch

Rechnerorganisation. 1. Juni 201 KC Posch .6.2 Rechnerorganisation. Juni 2 KC Posch .6.2 2 .6.2 Front Side Bus Accelerated Graphics Port 28 MHz Front Side Bus North Bridge RAM idge South Bri IDE USB PCI Bus 3 .6.2 Front Side Bus Front Side Bus

Mehr

Ergänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72

Ergänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72 Ergänzung: RAM und ROM SS 2012 Grundlagen der Rechnerarchitektur Speicher 72 Speichern eines Bits versus viele MB Wir wissen wie wir einzelne Bits speichern können (Erinnerung: Latches, Flip Flops) Mehrere

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

Mehr

G. Caches. G.1.1 Kontext & Orientierung

G. Caches. G.1.1 Kontext & Orientierung G.1.1 Kontext & Orientierung G. Caches Caches sind kleine, aber schnelle Zwischen- bzw. Pufferspeicher. Assoziative Adressierung anstelle von direkter Adressierung. Für Code, Daten & virtuelle Adressen.

Mehr

4 DRAM-Varianten (2) 4 DRAM-Varianten. 4 DRAM-Varianten (4) 4 DRAM-Varianten (3)

4 DRAM-Varianten (2) 4 DRAM-Varianten. 4 DRAM-Varianten (4) 4 DRAM-Varianten (3) 4 DRAM-Varianten Möglichkeiten der Beschleunigung des Zugriffs auf Daten aus DRAM-Bausteinen: 1) Überlappung: Auslesen eines Datenwortes erfolgt simultan zum Anlegen der Adresse für den nächsten Zugriff

Mehr

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.

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. 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 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Grob-Struktur des Prozessor-Speichersystems

Grob-Struktur des Prozessor-Speichersystems 2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 9 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Memory 1 Übersicht Motivation Speicherarten Register SRAM, DRAM Flash Speicherhierarchie Cache Virtueller Speicher 2 Motivation Speicher ist zentraler Bestandteil eines Computers neben Prozessor CPU Computer

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22 Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.

Mehr

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem

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

Speicher (1) zur Realisierung eines Rechnerspeichers benötigt man eine Materie mit physikalischen Eigenschaften, die

Speicher (1) zur Realisierung eines Rechnerspeichers benötigt man eine Materie mit physikalischen Eigenschaften, die Speicher (1) Definition: Speichern ist die kurz- oder langfristige Änderung einer oder mehrerer physikalischer Eigenschaften einer Materie durch ein externes Ereignis. zur Realisierung eines Rechnerspeichers

Mehr

RAM - Random Access Memory

RAM - Random Access Memory RAM - Random Access Memory Random Access Memory (dt. Speicher mit wahlfreiem Zugriff), abgekürzt RAM, ist ein Speicher, der besonders bei Computern als Arbeitsspeicher Verwendung findet. RAMs werden als

Mehr

einfache DRAMs sind heute nicht mehr erhältlich, sondern nur noch die schnelleren DRAM-Varianten...

einfache DRAMs sind heute nicht mehr erhältlich, sondern nur noch die schnelleren DRAM-Varianten... 3 DRAM (10) Vor-/Nachteile von DRAM-Bausteinen: periodischer Refresh erforderlich hohe Zugriffszeit von ca. 60 ns für das erste Datenwort, dank FPM kürzere Zugriffszeit von ca. 30 ns für folgende Datenworte

Mehr

Ram/Rom/EPRom WIRTSCHAFTSINGENIEURSWESEN. Ausbildungsschwerpunkte: BETRIEBSMANAGEMENT LOGISTIK. Xaver Schweitzer. Jahr: 2011/12

Ram/Rom/EPRom WIRTSCHAFTSINGENIEURSWESEN. Ausbildungsschwerpunkte: BETRIEBSMANAGEMENT LOGISTIK. Xaver Schweitzer. Jahr: 2011/12 Name: Klasse: Xaver Schweitzer 1BHWI Jahr: 2011/12 Ram/Rom/EPRom Abb. 1 Abb. 2 Abb. 3 Ram Rom EPRom 22.09.2011 1 von 10 Inhaltsverzeichnis INHALTSVERZEICHNIS... 2 EINLEITUNG... 3 RAM... 4 SRAM - Static

Mehr

2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first

2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first 2. Ansatzpunkt: Reduktion der Penalty 2.1. Early Restart und critical word first Beide Techniken basieren darauf, die Wartezeit der CPU auf das Mindestmaß zu beschränken. Early restart lädt den Block wie

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

G. Caches. G.1.1 Kontext & Orientierung

G. Caches. G.1.1 Kontext & Orientierung G.1.1 Kontext & Orientierung G. Caches Caches sind kleine, aber schnelle Zwischen- bzw. Pufferspeicher. Assoziative Adressierung anstelle von direkter Adressierung. Für Code, Daten & virtuelle Adressen.

Mehr

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse Kapitel 11 Rechnerarchitektur 11.1 Der von-neumann-rechner Wir haben uns bisher mehr auf die logischen Bausteine konzentriert. Wir geben jetzt ein Rechnermodell an, das der physikalischen Wirklichkeit

Mehr

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

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien

Mehr

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher

Mehr

Technische Grundlagen der Informatik

Technische Grundlagen der Informatik Technische Grundlagen der Informatik WS 2008/2009 13. Vorlesung Klaus Kasper WS 2008/2009 Technische Grundlagen der Informatik 1 Wiederholung Register Multiplexer Demultiplexer Halbleiterspeicher Statisches

Mehr

Adressierung von Speichern und Eingabe- Ausgabegeräten

Adressierung von Speichern und Eingabe- Ausgabegeräten Adressierung von Speichern und Eingabe- Ausgabegeräten Adressdecodierung Die Busstruktur von Prozessorsystemen verbindet die Bauteile über gemeinsame Leitungen. Auf dem Bus darf zu einer Zeit immer nur

Mehr

Elektrizitätslehre und Elektronik. Halbleiterspeicher

Elektrizitätslehre und Elektronik. Halbleiterspeicher 1/5 Halbleiterspeicher Ein Halbleiterspeicher ist ein Datenspeicher, der aus einem Halbleiter besteht, in dem mittels der Halbleitertechnologie integrierte Schaltkreise realisiert werden. Die Daten werden

Mehr

Arithmetische und Logische Einheit (ALU)

Arithmetische und Logische Einheit (ALU) Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen

Mehr

Elektronischer Speicher

Elektronischer Speicher Halbleiterspeicher Halbleiterspeicher dient der zeitlich begrenzten oder unbegrenzten Aufbewahrung von Daten, Zuständen und Programmen in Form von digitalen Signalen. Der Begriff resultiert aus dem Grundwerkstoff

Mehr

, 2014W Übungsgruppen: Mo., Mi.,

, 2014W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen

Mehr

F Programmierbare Logikbausteine

F Programmierbare Logikbausteine 1 Einordnung Ebene 6 Problemorientierte Sprache Ebene 5 Assemblersprache F Programmierbare Logikbausteine Ebene 4 Ebene 3 Ebene 2 Ebene 1 Betriebssystem ISA (Instruction Set Architecture) Mikroarchitektur

Mehr

DIE EVOLUTION DES DRAM

DIE EVOLUTION DES DRAM DIE EVOLUTION DES DRAM Gliederung 1. Motivation 2. Aufbau und Funktionsweise 3. SDRAM 4. DDR SDRAM 5. DDR SDRAM Versionen 06.02.2018 Die Evolution des DRAM Folie 2 von 27 1. Motivation Motivation - Immer

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

Mehr

Halbleiterspeicher. Halbleiterspeicher

Halbleiterspeicher. Halbleiterspeicher Halbleiterspeicher Liers - PEG-Vorlesung WS2/2 - Institut für Informatik - FU Berlin Halbleiterspeicher RAM Random Access Memory Schreib-Lese-Speicher SRAM statischer RAM DRAM dynamischer RAM Liers - PEG-Vorlesung

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

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 4 Cache el0100 copyright W.

Mehr

F Programmierbare Logikbausteine

F Programmierbare Logikbausteine 1 Einordnung Ebene 6 Problemorientierte Sprache Ebene 5 Assemblersprache F Programmierbare Logikbausteine Ebene 4 Ebene 3 Ebene 2 Ebene 1 Betriebssystem ISA (Instruction Set Architecture) Mikroarchitektur

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Modul 304: Personalcomputer in Betrieb nehmen Thema: Speicher. Speicher / Memory V 1.0. Technische Berufsschule Zürich IT Seite 1

Modul 304: Personalcomputer in Betrieb nehmen Thema: Speicher. Speicher / Memory V 1.0. Technische Berufsschule Zürich IT Seite 1 Speicher / Memory V 1.0 Technische Berufsschule Zürich IT Seite 1 Einleitung: Der Speicher (engl. Memory) ist eine Kernfunktion in einem Rechner. Programme und Daten werden in Speichern abgelegt. Man spricht

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

Speicherkapazität und Zugriffszeit einiger. Informationsspeicher. Informationsspeicher

Speicherkapazität und Zugriffszeit einiger. Informationsspeicher. Informationsspeicher Informationsspeicher sind eine entscheidende Grundlage für Informationstechnik, sie haben die Aufgabe, Daten und Programme effektiv verfügbar zu machen. Ihre technischen und ökonomischen Parameter begrenzen

Mehr

Technische Grundlagen der Informatik

Technische Grundlagen der Informatik Technische Grundlagen der Informatik WS 2008/2009 14. Vorlesung Klaus Kasper WS 2008/2009 Technische Grundlagen der Informatik 1 Wiederholung Halbleiterspeicher i Statisches RAM Dynamisches RAM Zahlendarstellung

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung

Mehr

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg Januar 2006 1 / 100 Inhalt dieser

Mehr

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen: Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Mehr

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging

Mehr

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen. Motivation. Speichertypen. Cache-Speicher. Virtueller Speicher

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen. Motivation. Speichertypen. Cache-Speicher. Virtueller Speicher Rechnerstrukturen 5. Speicher 5.1 Motivation Speichertypen RAM / ROM Dynamisches RAM Inhalt Cache-Speicher Voll Assoziativ n-wege Assoziativ Direct Mapping Virtueller Speicher 5.2 1 Der Hauptspeicher A0

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Wie groß ist die Page Table?

Wie 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

Vorlesung. Technologische Grundlagen der Informationsverarbeitung. Speicherung von Daten. Dipl.-Ing. Gert Martin

Vorlesung. Technologische Grundlagen der Informationsverarbeitung. Speicherung von Daten. Dipl.-Ing. Gert Martin Vorlesung Technologische Grundlagen der Informationsverarbeitung Speicherung von Daten Dipl.-Ing. Gert Martin Datenspeicherung Prinzipien: Magnetische Speicherung Halbleiterspeicher (Speicher mit elektronischen

Mehr

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

Mehr

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1

Halbleiterspeicher. Halbleiterspeicher. 30.09.2008 Michael Kuhfahl 1 Halbleiterspeicher 30.09.2008 Michael Kuhfahl 1 Gliederung I. FF als Speicher (1 Bit) II. Register als Speicher (n Bit) III. Anordnung der Speicherzellen IV. SRAM V. DRAM VI. ROM VII. PROM VIII. EPROM

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt 07.02.2011 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen bearbeitet werden.

Mehr

Notizen-Neuerungen PC- HAUPTSPEICHER

Notizen-Neuerungen PC- HAUPTSPEICHER PC- HAUPTSPEICHER Einleitung...2 Erklärung... 2 Technische Grundlagen... 3 Die Vorläufer der heutigen Speicherarten...4 Von SDRAM zu DDR RAM und RDRAM... 5 Die Unterschiede zwischen SDRAM und DDR RAM...

Mehr

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei Möglichkeiten die TLB zu aktualisieren Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt

Mehr

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden.

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden. Spezielle Schaltwerke In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden. Das Register Das Register oder der

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

2. Halbleiterspeicher

2. Halbleiterspeicher 2. Halbleiterspeicher Speicher mit wahlfreiem Zugriff (Random Access Memory): Zu jeder Speicherstelle kann gleich schnell zugegriffen werden. Matrixförmige Anordnung von 1Bit Speicherzellen, jede Speicherzelle

Mehr

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14 BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Tri-State Ausgangslogik Ausgang eines

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 2: Speicherarchitekturen in Mikrocontrollern und AOStuBS Christoph Borchert Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/~chb/

Mehr

5 Zusammengesetzte und reguläre Schaltungsstrukturen

5 Zusammengesetzte und reguläre Schaltungsstrukturen 5 Zusammengesetzte und reguläre Schaltungsstrukturen regelmäßig aufgebaute (reguläre) Schaltungsstrukturen implementieren jeweils eine größere Zahl an Gatterfunktionen wichtigste Vertreter: Speicher, programmierbare

Mehr

1,8V Flash and SRAM 28F3208W30

1,8V Flash and SRAM 28F3208W30 ,8V Flash and SRAM 28F328W3 Liers - PEG-Vorlesung WS2/2 - Institut für Informatik - FU Berlin 33,8V Flash and SRAM 28F328W3 BGA-Gehäuse Auf 7x9 mm Fläche 28MBit Flash und 8MBit SRAM Liers - PEG-Vorlesung

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 10 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Grundlagen der Informationsverarbeitung:

Grundlagen der Informationsverarbeitung: Grundlagen der Informationsverarbeitung: Speicherhierarchie Prof. Dr.-Ing. habil. Ulrike Lucke Durchgeführt von Prof. Dr. rer. nat. habil. Mario Schölzel Maximaler Raum für Titelbild (wenn kleiner dann

Mehr

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

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

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

, 2015W Übungsgruppen: Mo., Mi.,

, 2015W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2015W Übungsgruppen: Mo., 11.01. Mi., 13.01.2016 Aufgabe 1: Cache-Adressierung Ihr Cachingsystem soll 32 GiB an Speicher auf

Mehr