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

Ähnliche Dokumente
E Hauptspeicher und Cache

E Hauptspeicher und Cache

B Hauptspeicher und Cache

B Hauptspeicher und Cache

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

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

6 Exkurs: Assoziativspeicher

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

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

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

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

Rechnerorganisation. 1. Juni 201 KC Posch

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

Grob-Struktur des Prozessor-Speichersystems

Erweiterung von Adressraum und Bit Tiefe

RO-Tutorien 3 / 6 / 12

SMP Übung 2 1. Aufgabe

Grundlagen der Rechnerarchitektur. Speicher

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

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

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.

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

Grundlagen der Rechnerarchitektur. Speicher

Digitaltechnik II SS 2007

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung

Grundlagen der Rechnerarchitektur

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

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation

Mikroprozessortechnik Grundlagen 1

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

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

Technische Informatik 1 - HS 2017

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

Tutorium Rechnerorganisation

Mikrocomputertechnik. Systembus. Ein Mikroprozessor kommuniziert über den Systembus mit Speicher und I/O

RAM - Random Access Memory

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

Schriftliche Prüfung

Cache Blöcke und Offsets

Digitaltechnik II SS 2007

Mikrocomputertechnik. 5. Systembus R/W. Ein Mikroprozessor kommuniziert über den Systembus mit Speicher und I/O. Der Ablauf erfolgt in zwei Schritten:

RO-Tutorien 15 und 16

Rechnernetze und Organisation

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

Grundlagen der Informationsverarbeitung:

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

Technische Informatik 1 - Übung & 22. Dezember Philipp Miedl

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

Kopplung Interaktion. TI-Übung 6. Kopplung Datenübergabe. RS232 Datenfluss (1) Teilnehmer. Ein-/Ausgabe. Interaktionsarten

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

Digitaltechnik. 6 Speicherelemente. Revision 1.4

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Technische Grundlagen der Informatik

1,8V Flash and SRAM 28F3208W30

Aufgabe 4 : Virtueller Speicher

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Lösung 5. Mikroprozessor & Eingebettete Systeme 1

REFERAT ÜBER RAM-MODULE:

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

Lösungsvorschlag zur 5. Übung

Übungsklausur Mikroprozessortechnik und Eingebettete Systeme I

Fachbereich Medienproduktion

DIE EVOLUTION DES DRAM

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg

Arithmetische und Logische Einheit (ALU)

G. Caches. G.1.1 Kontext & Orientierung

Rechnerarchitektur. Vorlesungsbegleitende Unterlagen. WS 2003/2004 Klaus Waldschmidt

Elektrizitätslehre und Elektronik. Halbleiterspeicher

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

Klausur Mikroprozessortechnik

Notizen-Neuerungen PC- HAUPTSPEICHER

Teil 2.3. Welche Hardware (Elektronik) benutzt ein Computer zum Speichern von Daten?

1 Architektur von Rechnern und Prozessoren Cache-Speicher (11) Ersetzungsstrategie

Neben Prozessor ist in einem Rechner das Speichersystem entscheidend für

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

Computer-Systeme. Teil 3: Das Boxmodell von Variablen

Computer-Systeme Teil 3: Das Boxmodell von Variablen

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause

SRAM-Zelle Lesevorgang

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

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Technische Grundlagen der Informatik

Grundlagen der Informatik III Wintersemester 2010/2011

Beispielhafte Prüfungsaufgaben zur Vorlesung Technische Informatik I Gestellt im Frühjahr 2012

Speicherhierarchie, Caches, Consistency Models

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

11. Caches Pufferspeicher

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7

Das Konzept der Speicherhierarchie

Inhaltsverzeichnis. 1. Die Unterteilung des internen Speichers in ROM und RAM Seite Der ROM-Speicher Seite Der RAM Speicher Seite 4

G. Caches. G.1.1 Kontext & Orientierung

Folie 1. Folie 2. FH-Augsburg. FH-Augsburg

Transkript:

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 Zugriffszeit, Zykluszeit Organisation (Wortkapazität x Wortbreite) Konstruktion Technologie (logisch, technisch) Bits Worte Zusammenschaltung Schreib-/Lesevorgang? Stabilität des Inhalts? Optimierung Überlappung, Synchronität, Burst-Mode EDO-DRAM, (DDR-)SDRAM, RAMBUS Geschwindigkeitsverlust durch Kombination/Caches minderbar andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 1 Speicher SRAM Speicher DRAM Bistabile Kippstufe, Flip-Flop (prinzipiell) Adressiert normalerweise ganze Wörter Zeiten im Bereich 10ns On-Chip noch schneller Schnell, robust, hoher Platz/Energie-Bedarf Caches, hochwertige Anwendungen Kondensator-Speicher Periodischer Refresh/zerstörendes Lesen Adressiert einzelne Bits pro Pane/Matrix Mehrere Panes bilden Wort Zeiten im Bereich 40-70ns Folgezugriffe wesentlich schneller Langsamer, niedriger Platz/Energie-Bedarf Normaler Arbeitsspeicher andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 2 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 3

Speicher Zusammenschaltung Speicher Aufgabe Speicherbreite kombiniere AxB zu Ax(B ) Speichertiefe kombiniere AxB zu (A )xb RAS/CAS selektiv für hohe Adressbits durchstellen Decoder Skizzieren Sie für einen 8-Bit-Prozessor einen gemischten Hauptspeicher aus SRAM und EEPROM Der Prozessor verfügt über 16 Adressleitungen, 8 Datenleitungen, sowie WE/CS Die Speicherbausteine sind als 64kx8 (SRAM) und 16kx8 (EEPROM) ausgelegt Welchen Effekt bemerken Sie im Betrieb? Welches Speicher-Layout wählen Sie? andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 4 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 5 Speicher Skizze Speicher Aufgabe WE 0000 SRAM EEPROM 64k x8 WE 16k x8 D7 D0 A15 A0 A15 A0 CS A13 A0 CS SRAM Skizzieren Sie jeweils ein Zeitdiagramm eines asynchronen Schreibzyklus für einen SRAM-Baustein (Zykluszeit 10ns) für einen DRAM-Baustein (Zykluszeit 60ns) A15 A14 BFFF C000 FFFF EEPROM andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 6 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 7

Speicher SRAM-Schreibzyklus Speicher DRAM-Schreibzyklus SRAM Schreibzyklus DRAM Schreibzyklus Adresse gültig 10ns 60ns Adresse von CPU Adresse CS row column Adresse von Memory Controller RAS WE CAS OE WE t write Daten D in Daten D in Datenübernahme t write Datenübernahme andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 8 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 9 Speicher Aufgabe Speicher Lösung Ein DRAM-Baustein 4Mx8 soll alle 64ms einen Refresh benötigen Die Zykluszeit beträgt 60ns Der Refresh wird als RAS only ausgeführt bei dem der Controller nur das Signal RAS mit der Adresse der aufzufrischenden Zeile ausgibt Wieviele Refresh-Zyklen müssen hier innerhalb der 64ms ausgeführt werden, um den ganzen Baustein aufzufrischen? Wieviel Bandbreite geht durch diese Refresh-Zyklen verloren? Wieviele Refresh-Zyklen innerhalb der 64ms? Organisation 4Mx8 = 2 22 x8 = (2 11 x2 11 )x8 Also 2 11 = 2048 Zyklen Wieviel Bandbreite Verlust? Refreshdauer 2048 60ns = 122, 88µs = 0, 123ms Anteilig 0,123 64 100 = 0, 2% andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 10 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 11

Speicher Aufgabe Speicher Lösung Aus 32-MBit DRAM-Bausteinen 8Mx4 soll ein Hauptspeicher für eine 8-Bit CPU mit 8 Datenleitungen und 24 Adressleitungen aufgebaut werden Wie groß kann der Hauptspeicher für diese CPU maximal werden? Wie viele 32-MBit DRAM-Bausteine werden hierfür benötigt? Skizzieren Sie den Aufbau! Maximale Größe? 2 24 =16MByte addressierbar bei 24 Adressleitungen Anzahl Bausteine? Durch die Organisation 8Mx4 werden für 8Bit Wortbreite zwei Speicherbausteine nebeneinander verschaltet Diese decken 8MBit x8 = 8MByte ab Zusätzlich wird durch ein zweites Paar Bausteine die Speichertiefe auf 16MByte verdoppelt Man benötigt also 4 Bausteine andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 12 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 13 Speicher Skizze Caches Organisationsformen A22 A0 Vollassoziativer Cache (VA) 8Mx4 8Mx4 Bildet jede Speicherzeile auf beliebige Cachezeile ab. Sucht u.u. parallel mit Comparator pro Zeile Direkt-Abbildender Cache (DA) Bildet Gruppe von Speicherzeilen auf gleiche Cachezeile ab. Gruppe ist durch (Adresse mod Anz.Cachezeilen) definiert A23 N-fach teilassoziativer Cache (TAn) RAS CAS 0 1 8Mx4 D7 D4 8Mx4 D3 D0 Mischform aus VA und DA Bildet eine Speicherzeile auf 1 von N verschiedenen Cachezeilen gleichen Index ab. Skizzieren Sie einen TA4-Cache mit zwei aktiven, auf die selbe Cache-Line abgebildeten Datenbereichen andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 14 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 15

Caches Skizze TA4 Caches Vorgehen bei Lesezugriff V TAG DATA Hauptspeicher Hit Miss Wenn Valid/Tag-Vergleich positiv verläuft Gesamte Cachezeile per Burst-Mode laden Address-Alignment auf Zeilenlänge andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 16 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 17 Caches Vorgehen bei Schreibzugriff Caches Übungs- und Klausurfragen (1) Hit - Write Through (WT) Aktualisiert in Cache und nächster Speicherebene Hit - Write Back (WB) Aktualisiert nur in Cache und setzt Dirty-Flag, Aktualisierung in nächster Speicherebene erst bei Verdrängung+Dirty Miss - Write Around Eintrag wird nur in nächster Speicherebene aktualisiert Miss - Fetch on Write Eintrag wird zunächst in den Cache geladen, danach weiter wie bei Hit. Beim L1-Cache eine 3-stufigen Hierarchie wird pro Cache-Zeile ein Valid-Flag gespeichert, welches anzeigt, ob deren Inhalt mit dem zugehörigen Hauptspeicher übereinstimmt Falsch: Valid-Flag zeigt gültige Abbildung zwischen Zeile und nächster Speicherebene (L+1-Cache, HSP) an, die durch Tag identifiziert wird Unterschied Write-Back, Write-Through bei Schreibzugriff WB schreibt nur im Cache und setzt Dirty-Flag (Durchschreiben erst bei Verdrängung) WT schreibt gleich auch in nächste Speicherebene andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 18 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 19

Caches Übungs- und Klausurfragen (2) Caches Übungs- und Klausurfragen (3) Vergleichen Sie Vor- und Nachteile von TA4 ggü. VA gleicher Größe TA4 VA Billiger als VA (nur 4 Komparatoren) (+) Auch für größere Cache-Größen einsetzbar (+) Datum in Teilcache nur in einer Zeile speicherbar (-) Anfälliger für Kollisionen bei Zugriffsmustern (-) Teurere, parallele Komparatorlogik (-) Nur für kleine Cache-Größen ökonomisch (-) Datum in jeder Zeile speicherbar (+) Weniger anfällig für Kollisionen bei Zugriffsmustern (+) Nachteil des Direct-Mapped Cache? Hohe Kollisionswahrscheinlichkeit, da viele Zeilen gemeinsam an nur einer Cacheposition Warum sind L1 oft Write-Through-, L2 oft Write-Back-Caches? L1 oft logisch adressiert und muss bei häufigem Prozesswechsel reinitialisiert werden L1-WT sichert die Daten gleich in L2 L2 oft physikalisch adressiert, größer als L1 L2-WB nutzt dies um möglichst spät prozessunabhängig in HSP durchzugreifen Warum wurde Cache erst für Prozessoren > 20MHz eingesetzt? CPU-DRAM-Entkopplung wirkt sich erst bei DRAM-Grenze 10-20MHz aus andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 20 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 21 Caches Aufgabe (1) Caches Aufgabe (2) Prozessor mit 8-Bit Datenbus, 1MB Hauptspeicher soll einen 1kB Cache mit 8 Byte pro Zeile erhalten Welche Adressleitungen sind relevant? A19-A0 (2 10 =1k, 2 20 =1M) Bedeutung der Adressleitungen für DA-Cache? A2-A0 (2 3 = 8) Byte-Auswahl in Zeile A9-A3 ( 210 2 = 3 27 ) Zeilen-Index A19-A10 Tag Bedeutung der Adressleitungen für VA-Cache? A2-A0 Byte-Auswahl in Zeile A19-A3 Tag Wieviele Tag-Worte welcher Bitlänge muss das RAM des DA-TAG-Speichers enthalten können? Aufgabe Bitlänge = Anz. Adressleitungen für Tag = 10 Anzahl = 2 Anz.Adressleitungenf ürzeilen Index = 2 7 = 128 Größe = 128 10bit = 1,28kbit Ein 32bit-Prozessor mit 32bit-Adressraum soll eine zweistufige Cache-Hierarchie bekommen L1: TA8 mit 8kByte Kapazität, 128 Bit pro Zeile L2: DA mit 256 kbyte Kapazität, 256 Bit pro Zeile Bedeutung der Adressbits A31-A0 in Caches? Bauen Sie den L1 zu einem 4-Wege TA Cache um! andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 22 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 23

Caches Aufgabe (2) Caches Lösung Wieviele Tag-Worte welcher Bitlänge muss das RAM des DA-TAG-Speichers enthalten können? Aufgabe Bitlänge = Anz. Adressleitungen für Tag = 10 Anzahl = 2 Anz.Adressleitungenf ürzeilen Index = 2 7 = 128 Größe = 128 10bit = 1,28kbit Ein 32bit-Prozessor mit 32bit-Adressraum soll eine zweistufige Cache-Hierarchie bekommen L1: TA8 mit 8kByte Kapazität, 128 Bit pro Zeile L2: DA mit 256 kbyte Kapazität, 256 Bit pro Zeile Bedeutung der Adressbits A31-A0 in Caches? Bauen Sie den L1 zu einem 4-Wege TA Cache um! Adressbits L1 (TA8) A3-A0: Byte-Auswahl in Zeile ( 27 2 3 = 24 ) Zunächst als DA konstruiert ( 213 2 = 4 29 ) DA: A12-A4: Zeilen-Index DA: A31-A13: Tag Umwandlung zu TA8 TA: A9-A4: Zeilen-Index (2 3 weniger!) TA: A31-A10: Tag Adressbits L2 (DA) A4-A0: Byte-Auswahl in Zeile A17-A5: Zeilen-Index A31-A18: Tag Adressbits L1-TA4 A10-A4: Zeilen-Index A31-A11: Tag andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 23 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 24 Caches Experiment Die Cache-Größe soll experimentell bestimmt werden Welche Ansatz würden Sie wählen? For-Schleife mit wachsender sequentieller Speicherbelegung andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 25 1 #include <iostream > 2 #include <s t d l i b. h> 3 #include <t i m e. h> 4 5 #define MAXLOOP 1024 1024 6 #define MINCACHE 4096 / / 4 KByte 7 #define MAXCACHE 2 1024 1024 / / 2 MByte 8 #define STRIDE 16 9 10 using namespace s t d ; 11 12 long i n t x[1024 1024]; / / 4 MByte 13 14 i n t main( i n t argc, char argv[ ] ) 15 { 16 c l o c k t s t a r t t i m e ; 17 c l o c k t s t o p t i m e ; 18 long i n t c s i z e ; 19 20 / / z u f a e l l i g e I n i t i a l i s i e r u n g 21 f o r ( i n t j = 0 ; j < 1024 1024; j ++) 22 x[ j ] = j ; 23 24 25 26 andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 25

27 / / T e i l f e l d g r o e s s e v a r i i e r e n 28 f o r ( c s i z e =MINCACHE/ 4 ; csize <=MAXCACHE/ 4 ; c s i z e =c s i z e 2 ) { 29 s t a r t t i m e = c l o c k ( ) ; 30 31 / / W i e d e r h o l t e r Inkrement a l l e r Komponenten im T e i l f e l d 32 f o r ( i n t l o o p = 0 ; l o o p < MAXLOOP/ c s i z e ; l o o p ++) 33 f o r ( i n t i = 0 ; i < 1000; i ++) 34 f o r ( i n t j = 0 ; j < csize; j =j +STRIDE) 35 x[ j ] = x[ j ] + 1 ; 36 37 s t o p t i m e = c l o c k ( ) ; 38 39 c o u t << Cache Size: << c s i z e 4 << Byte ; 40 c o u t << Time: << ( stop time s t a r t t i m e ) 41 / ( f l o a t ) CLOCKS PER SEC; 42 c o u t << s << e n d l ; 43 } 44 } 1 Cache Size: 4096 Byte Time: 0.56s 2 Cache Size: 8192 Byte Time: 0.57s 3... 4 Cache Size: 262144 Byte Time: 0. 6 s 5 Cache Size: 524288 Byte Time: 3.64s 6 Cache Size: 1048576 Byte Time: 5.92s 7 Cache Size: 2097152 Byte Time: 6.08s andreas.schmied@uni-ulm.de TI-Übung 5 (WS2005) 25