Themen heute Besprechung des 7. Übungsblattes Speicheraufbau

Themen heute

Besprechung des 7. Übungsblattes

Speicheraufbau

Speichertypen

DRAM

Speicherbelegung
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Besprechung des 7. Übungsblattes

Aufgabe 4a



Der eigentliche Sprung erfolgt in der MEM-Phase (4.
Pipeline-Stufe), d.h. in den 249 genommenen Sprüngen
werden 3 Pipeline-Stufen geflusht
Nach dem Flush müssen logischerweise alle Pipeline-Stufen
neu befüllt werden, d.h. es ist wie beim ersten Durchlauf!
Beim letzten Schleifendurchlauf wird nicht gesprungen,
daher durchläuft bnez die Pipeline dann komplett, also: Takt
für WB-Stufe von bnez einrechnen
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speicheraufbau




Speicherbausteine sind in mehrere
Speicherzellen gegliedert, die mehrere
Speicherelemente mit einem Bit Speicher (also
z.B. 32 Bits) enthalten
Zugriffszeit: (Maximale) Zeitdauer des
Lesevorgangs
Zykluszeit: (Minimale) Zeitdauer zwischen zwei
Lesevorgängen
In der Praxis meist: Zykluszeit > Zugriffszeit
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speicheraufbau (2)


Anordnung der Speicherzellen oft in
Matrixstruktur
Dann Auswahl genau einer Speicherzelle durch



Angabe der Zeile über Zeilenauswahlleitung RAS
(„Row Address Select)
Angabe der Spalte über Spaltenauswahlleitung
CAS („Column Address Select“)
Mehr dazu nachher bei DRAM
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speichertypen

Man unterscheidet zwischen...

… flüchtigem Speicher



… nicht-flüchtigem Speicher



Verlieren den Inhalt, wenn Spannung abgeschalten wird
Beispiele: Statisches RAM (SRAM), dynamisches RAM
(DRAM), quasi-statisches RAM (iRAM)
Behalten Inhalt auch nach Abschaltung der Spannung
Beispiele: (P)ROM (nicht wiederbeschreibbar),
(E)EPROM (wiederbeschreibbar)
Hybridansätze möglich: Nicht-flüchtiges (NV) RAM
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speichertypen (2)

RAM


Wahlfreier Zugriff auf alle Speicheradressen
(„Random Access Memory“)
Statisches RAM:


Speicherelement sind Flipflops, die den Zustand ohne
Refresh halten, solange nur die Versorgungsspannung
anliegt
Sehr schnell, aber teurer und schlechter integrierbar als
dynamisches RAM (→ Einsatz in kleinen, schnellen
Caches, Registern etc.)
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speichertypen (3)

RAM (Fortsetzung)

Dynamisches RAM:
Speicherelement ist ein Kondensator, der wegen
Leckströmen regelmäßig aufgefrischt werden muss
 Langsamer als statisches RAM, aber besser integrierbar
(→ Einsatz in Hauptspeicher)
Quasi-statisches RAM:




Dynamisches RAM mit integrierter automatischer
Refresh-Schaltung
Daher von außen wie statisches RAM behandelbar
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speichertypen (4)

ROM


Nicht beliebig beschreibbar („Read Only Memory“),
aber: Wiederbeschreiben bei einigen Typen
durchaus möglich
ROM:



Wird festprogrammiert mit bestimmten Daten hergestellt
Lohnt daher nur bei Produktion von großen Serien
PROM („Programmable ROM“):

Kann nach Herstellung ein einziges Mal mit einem
Programmiergerät beschrieben werden
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speichertypen (5)

ROM (Fortsetzung)

EPROM („Erasable Programmable ROM“):



EEPROM („Electronically Erasable Progr. ROM“):




Durch UV-Licht löschbar, danach wiederbeschreibbar
Zyklenzahl begr. (50-500), nur noch selten verwendet
Elektronisch lösch- und beschreibbar
Zyklenzahl begrenzt (mehr als bei EPROM, > 10.000)
Löschen/Schreiben byteweise, deshalb sehr langsam
Flash-EEPROM:

Wie EEPROM, aber nur blockweise beschreibbar
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
DRAM


DRAM ist im zuvor
besprochenen Matrixaufbau
angeordnet (Grafik)
Timing-Parameter: Heute
nicht, siehe Vorlesungsfolien
oder englische Wikipedia
unter „DRAM“ → „Memory
timing“
Quelle: Wikipedia (dt.) - GFDL
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
DRAM (2)
Hinweis: Vereinfachte Darstellung, WE = Write Enable, OE = Output Enable
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Quelle: Wikipedia (dt.) - GFDL
DRAM (4)

Typen/Weiterentwicklungen

FPM(„Fast Page Mode“)-DRAM:



Meistens liest man sequentiell aus dem Speicher, also
ändert sich die Zeile zwischen zwei Zugriffen nicht
Beim FPM-DRAM kann man die Zeile zwischen zwei
Zugriffen aktiv lassen und muss nur noch Spalte setzen
EDO(„Extended Data Output“)-DRAM:


Ausgabe des Speichers ist gelatched und bleibt aktiv,
bis neue Daten vorliegen
Dadurch kann während dem Auslesen der Daten schon
die nächste Spalte zum Lesen gesetzt werden
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
DRAM (5)

Typen/Weiterentwicklungen (Fortsetzung)

S(„Synchronous“)DRAM


Vorgegebener Systemtakt, nach dem alle Komponten
auf dem Bus arbeiten
DDR(„Double Data Rate“)-SDRAM


Wie SDRAM, aber es wird nicht nur bei der steigenden,
sondern bei bei der fallenden Taktflanke übertragen
Deswegen höherer (theoretisch doppelter) Durchsatz
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speicherbelegung


Ziel der Speicherbelegung ist es, den
verfügbaren Adressraum aufzuteilen
Wenn man die Aufteilung geschickt macht
(Zweierpotenzen), kann die Hardware leicht
über die höchstsignifikanten Bits feststellen, in
welchen Bereich eine Adresse gehört
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speicherbelegung (2)


Ein Adressraum von 64kb ist in Speicherbereiche in dieser Reihenf. zu unterteilen:

32kb: RAM

4kb: EEPROM

256 Bytes: 1. I/O Bereich

8 Bytes: 2. I/O Bereich
Anfangs- und Endadresse des RAM-Bereichs? (hexadezimal)


Anfangs- und Endadresse des EEPROM-Bereichs? (hexadezimal)


$8000 - $8FFF (Bytes 32768 – 36863)
Anfangs- und Endadresse des 1. I/O-Bereichs? (hexadezimal)


$0000 - $7FFF (Bytes 0 – 32767)
$9000 - $90FF (Bytes 36864 – 37119)
Anfangs- und Endadresse des 2. I/O-Bereichs? (hexadezimal)

$9100 - $9107 (Bytes 37120 - 37127)
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speicherbelegung (3)


Anfangs- und Endadresse des RAM-Bereichs: $0000 - $7FFF
Anfangs- und Endadresse des EEPROM-Bereichs: $8000 $8FFF

Anfangs- und Endadresse des 1. I/O-Bereichs: $9000 - $90FF

Anfangs- und Endadresse des 2. I/O-Bereichs: $9100 - $9107


Gesucht ist jetzt die Unterteilung der Adresse der 16-BitAdresse und die höchstsignifikaten Bits, mit denen die
Bereichsauswahl getroffen wird, für jeden der Bereiche (Tafel)
Die Vorgehensweise: Adressbereich binär darstellen und
schauen, welches Präfix vorliegt
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz
Speicherbelegung (4)


Die beiden IO-Bereich sollen jetzt in den letzten KilobyteBereich unseres 64 Kilobyte-Adressraums verschoben werden
Anfangs- und Endadresse des 1. I/O-Bereichs: (hexadezimal)


Anfangs- und Endadresse des 2. I/O-Bereichs: (hexadezimal)


$FC00 - $FCFF (Bytes 64512 - 64767)
$FD00 - $FD07 (Bytes 64768 - 64775)
Gesucht ist jetzt wieder die Unterteilung der 16-Bit-Adresse und
die für die Bereichsauswahl relevanten höchstsignifikaten Bits
für die neuen Adressbereiche (Tafel)
Technische Informatik 2 / Rechnerorganisation: Tutorium 25
Tutoriumsfolien erstellt im SS 2009 von Christian Mandery
Lizensiert unter „Creative Commons 3.0 Attribution + Share-Alike“-Lizenz