12
Erweiterung von Adressraum und BitTiefe SS 2012 Grundlagen der Rechnerarchitektur Speicher 75 Erweiterung des vorigen Beispiels ist offensichtlich: Vergrößerung des Adressraums (in der Größenordnung 2 n ): Füge eine Adressleitung hinzu und verdoppele die Anzahl Zeilen Vergrößerung der BitTiefe (beliebig): Füge in jede Zeile eine/mehrere Spalte/n hinzu Zweidimensionales sich wiederholendes Muster: lässt sich gut mit dem Konzept von integrierten Schaltung vereinen (z.B. kein Anwachsen von Leitungsüberkreuzungen) Speicherkapazität ist nur direkt an ChipIntegrationsdichte gekoppelt Bildquelle: Andrew S. Tanenbaum, „Structured Computer Organization“, Fifth Edition, 2006 Verschiedene ChipOrganisationsformen möglich. Beispiel für zwei 4MbitChipVarianten: Variante (a): wie eben nur größer Variante (b): 2048x2048 Matrix mit 1BitZellen Adressierung ist zweistufig (z.B. erst Row Address Strobe (RAS) und dann Column Address Strobe (CAS))

Erweiterungvon Adressraumund Bit Tiefeunikorn/lehre/gdra/ss18/05 Speicher (VL19).pdf · Address Strobe (RAS) und dann Column Address Strobe (CAS)) Organisation als Matrix SS 2012

Embed Size (px)

Citation preview

Erweiterung von Adressraum und Bit‐Tiefe

SS 2012 Grundlagen der Rechnerarchitektur ‐ Speicher 75

Erweiterung des vorigen Beispiels ist offensichtlich:• Vergrößerung des Adressraums (in der 

Größenordnung 2n): Füge eine Adressleitung hinzu und verdoppele die Anzahl Zeilen

• Vergrößerung der Bit‐Tiefe (beliebig): Füge in jede Zeile eine/mehrere Spalte/n hinzu

Zwei‐dimensionales sich wiederholendes Muster:• lässt sich gut mit dem Konzept von 

integrierten Schaltung vereinen(z.B. kein Anwachsen von Leitungsüberkreuzungen)

• Speicherkapazität ist nur direkt an Chip‐Integrationsdichte gekoppelt

Bildquelle: Andrew S. Tanenbaum, „Structured Computer Organization“, Fifth Edition, 2006

Verschiedene Chip‐Organisationsformen möglich. Beispiel für zwei 4Mbit‐Chip‐Varianten:

Variante (a): wie eben nur größerVariante (b):• 2048x2048 Matrix mit 1‐Bit‐Zellen• Adressierung ist zweistufig (z.B. erst Row

Address Strobe (RAS) und dann ColumnAddress Strobe (CAS))

Organisation als Matrix

SS 2012 Grundlagen der Rechnerarchitektur ‐ Speicher 76

n x n‐Matrix‐Konzept des vorigen Beispiels allgemein:• Geeignet für große Speicher‐Chips• Reduziert die Anzahl Pins• Adressierung dauert aber doppelt so lang• Mögliche Optimierung: 

• Teile zuerst die Row‐Adresse mit• Anschließend können innerhalb dieser Row mit einer Sequenz von Column‐

Adressen Speichereinträge erreicht werden

Mehrere n x n ‐ 1‐Bit‐Bausteine lassen sich auch parallel zu größerer Bit‐Tiefe zusammenbringen, z.B. Tiefe 8‐Bit

Matrix‐Organisation eines Einzelbausteins nicht auf Bit‐Einträge begrenztBeispielsweise: 4‐, 8‐, oder 16‐Bit‐Breiten möglich; daraus lassen sich mit weniger Einzel‐Chips größere RAM‐Bausteine zusammenbauen (z.B. Anstatt 32‐Bit‐Tiefe mit vier 8‐Bit‐Bausteinen anstatt mit 32 1‐Bit‐Bausteinen)

Bildquelle: Andrew S. Tanenbaum, „Structured Computer Organization“, Fifth Edition, 2006

Weitere Aspekte

SS 2012 Grundlagen der Rechnerarchitektur ‐ Speicher 77

Matrix muss nicht Quadratisch sein (z.B. 13 Rows und 10 Columns)Zusätzlich kann Speicher noch in Bänken organisiert sein (z.B. 4 Bänke mit je 128Mbit ergibt 512 Mbit)

Zwei Beispiele eines 512Mbit‐Chips:

• Vier interne Bänke a 128MBit (d.h. zwei Bank‐Select‐Leitungen)• Variante (a): 32M x 16 Design mit 13‐Bit‐RAS und 10‐Bit‐CAS => 213+10+2 = 225 interne

16‐Bit‐Zellen• Variante (b): 128M x 4 Design mit13‐Bit‐RAS und 12‐Bit‐CAS => 213+12+2 = 227 interne

4‐Bit‐ZellenBildquelle: Andrew S. Tanenbaum, „Structured Computer Organization“, Fifth Edition, 2006

SRAM und DRAM

SS 2012 Grundlagen der Rechnerarchitektur ‐ Speicher 78

Zwei RAM‐Varianten: SRAM und DRAM

Static RAM (SRAM)• Aufgebaut mit Schaltungen wie die diskutierten Flip‐Flops• Zustand bleibt erhalten solange Strom anliegt• Sehr schneller Speicher (Zugriffszeit wenige nsec)

Dynamic RAM (DRAM)• Nutzt keine Flip‐Flops sondern Array von Zellen mit je einem Transistor und 

einem winzigen Kondensator pro Bit• Ladezustand des Kondensator (aufgeladen/entladen) stellt 1‐Bit‐Information 

dar• Kondensator entladen sich => damit periodischer „Refresh“ notwendig (alle 

paar Millisekunden)• Vorteil: hohe Dichte bzgl. Bit pro Chip (Transistor+Kondensator anstatt 6 

Transistoren für den Flip‐Flop) => große RAM‐Speicher damit realisierbar• Nachteil: wesentlich langsamer (mehrere 10 nsec)• Guter Kompromiss: DRAM‐Baustein mit SRAM‐Cache

FPM, EDO, SDRAM und DDR

SS 2012 Grundlagen der Rechnerarchitektur ‐ Speicher 79

DRAM‐Varianten: z.B. FPM und EDO

Fast Page Mode (FPM) DRAM• Matrix zur Adressierung von Bit• Eine Row‐Adresse und anschließend aufeinander folgende Column‐Adressen• RAM läuft unabhängig (asynchron) vom Haupt‐Systemtakt

Extended Data Putput (EDO) DRAM• Nächste Speicherreferenz ist möglich bevor die vorige beendet wurde (vgl. Pipelining‐Prinzip)• Erhöht nicht die individuelle Speicherzugriffzeit aber den Speicherdurchsatz

Synchronous DRAM (SDRAM)• Hybrid aus dynamischem und statischem DRAM durch den Haupt‐Systemtakt getriggert• Keine Kontrollnachrichten zwischen Prozessor und RAM wie bei asynchronem RAM erforderlich• Wesentlich schneller

Double Data Rate (DDR) SDRAM• Output bei fallender und steigender Clock‐Flanke => verdoppelt die Datenrate

ROM

SS 2012 Grundlagen der Rechnerarchitektur ‐ Speicher 80

Read Only Memory (ROM) – Zum Chipherstellungsprozess wird das Bitmuster festgelegt; besonders billiger Speicher

Programmable ROM (PROM) – kann einmalig Programmiert werden; Meist ein Feld von Column‐Row‐Adressierbaren Knotenpunkten die über einen Eingangs‐Pin einmalig auf einen Bit‐Wert gesetzt werden können

Erasable PROM (EPROM) – Belichtung des Quartz‐Fenster mit starkem UV‐Licht für 15 Minuten setzt alle Bit‐Werte zurück auf 1. Erneutes Setzen der Bits damit möglich

EEPROM – Löschen mittels elektrischer Impulse; Re‐Programmierung direkt am Chip möglich (anstatt wie bei EPROM in spezieller Apparatur)

Diskussion:EEPROMS typischerweise wesentlich kleiner als EPROMS und nur halb so schnellEEPROMS wesentlich langsamer kleiner und teurer als DRAM und SRAMNur dann sinnvoll, wenn Werte einmalig festgelegt sein sollen

Aktueller als EEPROMs sind Flash‐Speicher (auf NAND‐Basis)Unterschied: Block‐Erasable/Rewritable anstatt Byte‐Erasable/Rewritable

Flash‐Speicher

SS 2012 Grundlagen der Rechnerarchitektur ‐ Ein‐ und Ausgabe 81

Flash‐Speicher: nichtvolatiler Halbleiterspeicher.

Vorteile gegenüber Disks:• Latenz ist 100 bis 1000 fach schneller• Kleiner• Größere Leistungseffizienz• Größere Shock‐Resistenz

Nachteile gegenüber Disks:• Höherer Preis pro GB• Flash‐Speicher‐Bits sind nach vielem Überschreiben nicht mehr 

verwendbar (Wear‐Out).

Flash‐Speicher muss ein entsprechendes Wear‐Levelingdurchführen. 

NOR‐ und NAND‐Flash‐Speicher

SS 2012 Grundlagen der Rechnerarchitektur ‐ Ein‐ und Ausgabe 82Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

Zusammengefasst

SS 2012 Grundlagen der Rechnerarchitektur ‐ Speicher 83

Typ Kategorie Löschen Volatil Typische Anwendung

SRAM R/W Elektr. Ja Level1/2 Cache

DRAM R/W Elektr. Ja Hauptspeicher (alt)

SDRAM R/W Elektr. Ja Hauptspeicher (neuer)

ROM Read‐Only

Nicht möglich

Nein Produkte großer Stückzahl

PROM Read‐Only

Nicht möglich

Nein Produkte kleinerer Stückzahl

EPROM Read‐Mostly

UV‐Licht Nein Prototyping

EEPROM Read‐Mostly

Elektr. Nein Prototyping

Flash R/W Elektr. Nein Sekundärer Speicher

Zusammenfassung und Literatur

Grundlagen der Rechnerarchitektur ‐ Speicher 84SS 2012

Zusammenfassung• Cache‐Ziel: Speicher so groß wie auf unterstem Level aber annähernd so schnell wie auf höchstem Level.

• Warum funktionieren Caches überhaupt so gut? Lokalitätsprinzip.

• Virtueller Speicher ist prinzipiell das selbe wie ein Cache. Auch hier gelten dieselben Cache‐Prinzipien (z.B. Lokalität)

• Insgesamt ergibt sich eine Hierarchie von Caches.• Caches sind prinzipiell vor der Software unsichtbar. Dennoch ist es sinnvoll diese in der Software zu beachten (z.B. Speicherblöcke in Schleifen Cache‐günstig durchlaufen, Prefetching) 

Grundlagen der Rechnerarchitektur ‐ Speicher 85SS 2012

Literatur[PattersonHennessy2012] David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 20125.1 Introduction5.2 The Basics of Caches5.3 Measuring and Improving Cache Performance5.4 Virtual Memory5.8 Parallelism and Memory Hierarchies: Cache Coherence6.4 Flash‐Storage

[Tanenbaum2001] Andrew S. Tanenbaum, „Modern Operating Systems“, Second Edition, 20014.8 Segmentation

[Tanenbaum2006] Andrew S. Tanenbaum, „Structured Computer Organization“, Fifth Edition, 20063.3 Memory

Grundlagen der Rechnerarchitektur ‐ Speicher 86SS 2012