22
Grundbegriffe der Informatik Einheit : Speicher Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester / /

Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Grundbegriffe der InformatikEinheit 9: Speicher

Thomas Worsch

Karlsruher Institut für Technologie, Fakultät für Informatik

Wintersemester 2013/2014

1/19

Page 2: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Überblick

Bit und Byte

Speicher als Tabellen und Abbildungen

Binäre und dezimale Größenpräfixe

2/19

Page 3: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Überblick

Bit und Byte

Speicher als Tabellen und Abbildungen

Binäre und dezimale Größenpräfixe

Bit und Byte 3/19

Page 4: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Bit und Byte

I Das Wort «Bit» hat verschiedene Bedeutungen.I die erste:

Ein Bit ist ein Zeichen des Alphabetes {0,1}.I die zweite:

in der Vorlesung «Theoretische Grundlagen» im 3. Semester

I Byte: heute üblicherweise ein Wort aus acht Bits(früher war das anders)

I genauer: OctetI Abkürzungen

I für Bit: möglichst «bit», denn «b» wird schon für dieFlächeneinheit «barn» benutzt

I für Byte: meist «B», obwohl das auch schon eine andereBedeutung hat (Bel)

I für Octet: «o»

Bit und Byte 4/19

Page 5: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Überblick

Bit und Byte

Speicher als Tabellen und Abbildungen

Binäre und dezimale Größenpräfixe

Speicher als Tabellen und Abbildungen 5/19

Page 6: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

im folgenden

I Formalisierung vonI SpeicherI Lesen aus dem SpeicherI Schreiben in den Speicher

I Diskussion, wozu diese Formalisierungen

Speicher als Tabellen und Abbildungen 6/19

Page 7: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Gesamtzustand eines Speichers

I aktueller Gesamtzustand eines Speichers:I für jede Adresse, zu der etwas gespeichert ist:I welcher Wert ist unter dieser Adresse abgelegt

I Vorstellung: Tabelle mit zwei Spalten:I links alle AdressenI rechts die zugehörigen Werte

allgemein

Adresse 1 Wert 1Adresse 2 Wert 2Adresse 3 Wert 3Adresse 4 Wert 4

......

Adresse n Wert n

Halbleiterspeicher

000 10110101001 10101101010 10011101011 01110110100 00111110101 10101101110 00101011111 10101001

Speicher als Tabellen und Abbildungen 7/19

Page 8: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Gesamtzustand eines Speichers

I aktueller Gesamtzustand eines Speichers:I für jede Adresse, zu der etwas gespeichert ist:I welcher Wert ist unter dieser Adresse abgelegt

I Vorstellung: Tabelle mit zwei Spalten:I links alle AdressenI rechts die zugehörigen Werte

allgemein

Adresse 1 Wert 1Adresse 2 Wert 2Adresse 3 Wert 3Adresse 4 Wert 4

......

Adresse n Wert n

Halbleiterspeicher

000 10110101001 10101101010 10011101011 01110110100 00111110101 10101101110 00101011111 10101001

Speicher als Tabellen und Abbildungen 7/19

Page 9: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Formalisierung von Speicher

I Tabelle: Abbildung von Adressen auf Werte

m : Adr→ Val

I Z. B. Halbleiterspeicher in einem PC mit «4 Gigabyte»:

m : {0,1}32 → {0,1}8

I Speicher im Zustandm hat an Adresse a ∈ Adr den Wertm(a) ∈ Val gespeichert.

I bei Hauptspeicher:I Menge der Adressen ist festI bezeichnet einen physikalischen Ort auf dem ChipI entspricht einer Angabe wie

«Am Fasanengarten 5, 76131 Karlsruhe»auf einem Brief

Speicher als Tabellen und Abbildungen 8/19

Page 10: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Formalisierung von Lesen aus dem Speicher

I Formalisierung als Abbildung memreadI Argumente:

I der gesamte Speicherinhaltm des Speichers undI die Adresse a aus der ausgelesen wird

I Resultat ist der inm an Adresse a gespeicherte Wert. Also:

memread : Mem × Adr→ Val(m,a) 7→m(a)

I Dabei sei Mem die Menge aller möglichen Speicherzustände, alsodie Menge aller Abbildungen von Adr nach Val.

I auf das «Warum überhaupt so eine Formalisierung?» kommenwir noch zu sprechen

Speicher als Tabellen und Abbildungen 9/19

Page 11: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Bemerkungen zu memread

I nicht verwirren lassen:I Funktion memread bekommt als Argument eine FunktionmI Beispiel zeigt: kein Problem; man denke an Tabellen

I die Menge aller Abbildungen der Form f : A→ BI so etwas kommt noch öfter vorI Notation: BA

I beachte ReihenfolgeI für endliche Mengen A und B gilt: |BA | = |B | |A | .

I hä�en also auch schreiben können:I Mem = ValAdr und

I memread : ValAdr × Adr→ Val(m,a) 7→m(a)

Speicher als Tabellen und Abbildungen 10/19

Page 12: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Formalisierung von Schreiben in den Speicher

Schreiben ist ein wenig komplizierter als Lesen:I memwrite : ValAdr × Adr × Val→ValAdr

(m,a,v ) 7→m′

I wobeim′ festgelegt durch die Forderung,dass für alle a′ ∈ Adr gilt:

m′(a′) =v falls a′ = a

m(a′) falls a′ , a

I Das klingt plausibel . . .I für Hauptspeicher ist es das auch,I aber es gibt auch Speicher, die anders arbeiten,

z. B. sogenannte Cache-Speicher (siehe Vorlesungen überTechnische Informatik)

Speicher als Tabellen und Abbildungen 11/19

Page 13: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Eigenschaften von Speicher

I Was ist «das Wesentliche» an Speicher?I Der allerwichtigste Aspekt überhaupt:

Für allem ∈ Mem, a,a′ ∈ Adr mit a′ , a und v ′ ∈ Val gilt:

memread(memwrite(m,a,v ),a) = v

I Reicht das als Spezifikation von Speicher?

I Für die oben definierten Funktionen gilt auch:Für allem ∈ Mem, a,a′ ∈ Adr mit a′ , a und v ′ ∈ Val gilt:

memread(m,a) = memread(memwrite(m,a′,v ′),a)

I Will man das wirklich immer . . . ? . . .

Speicher als Tabellen und Abbildungen 12/19

Page 14: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Eigenschaften von Speicher

I Was ist «das Wesentliche» an Speicher?I Der allerwichtigste Aspekt überhaupt:

Für allem ∈ Mem, a,a′ ∈ Adr mit a′ , a und v ′ ∈ Val gilt:

memread(memwrite(m,a,v ),a) = v

I Reicht das als Spezifikation von Speicher?

I Für die oben definierten Funktionen gilt auch:Für allem ∈ Mem, a,a′ ∈ Adr mit a′ , a und v ′ ∈ Val gilt:

memread(m,a) = memread(memwrite(m,a′,v ′),a)

I Will man das wirklich immer . . . ? . . .

Speicher als Tabellen und Abbildungen 12/19

Page 15: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Eigenschaften von Speicher

I Was ist «das Wesentliche» an Speicher?I Der allerwichtigste Aspekt überhaupt:

Für allem ∈ Mem, a,a′ ∈ Adr mit a′ , a und v ′ ∈ Val gilt:

memread(memwrite(m,a,v ),a) = v

I Reicht das als Spezifikation von Speicher?

I Für die oben definierten Funktionen gilt auch:Für allem ∈ Mem, a,a′ ∈ Adr mit a′ , a und v ′ ∈ Val gilt:

memread(m,a) = memread(memwrite(m,a′,v ′),a)

I Will man das wirklich immer . . . ? . . .

Speicher als Tabellen und Abbildungen 12/19

Page 16: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Wozu diese Formalisierungen?

I eine Möglichkeit für den Spezifizierer, zu sagenI «wie sich Speicher verhalten soll»I algebraische Spezifikation

I eine Möglichkeit für den Impementierer, sich über Testfälle klar zuwerdenI Testen kann nicht Korrektheit einer Implementierung beweisen,I aber immerhin, dass sie falsch ist.

I eine mögliche Grundlage für die Festlegung derBedeutung von Programmen

Speicher als Tabellen und Abbildungen 13/19

Page 17: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Was ist wichtig

Das sollten Sie mitnehmen:I es gibt nicht nur HauptspeicherI Adressen sind manchmal etwas anderes als «physikalische

Koordinaten»I Abbildungen kann man sich manchmal am besten als Tabelle

vorstellen

Das sollten Sie üben:I Gewöhung an Abbildungen, die Abbildungen auf Abbildungen

abbilden

Speicher als Tabellen und Abbildungen 14/19

Page 18: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Überblick

Bit und Byte

Speicher als Tabellen und Abbildungen

Binäre und dezimale Größenpräfixe

Binäre und dezimale Größenpräfixe 15/19

Page 19: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Klein und groß

I früher: Speicher klein, z. B. ein paar Hundert Bits

Bildquelle: http://de.wikipedia.org/w/index.php?title=Bild:Kernspeicher1.jpg

I heute: groß, z. B.I Hauptspeicher: 232 = 4 294 967 296 BytesI Festpla�en: so was wie 1 000 000 000 000 Bytes

I Zahlen nur noch schlecht zu lesenI Benutzung von Präfixen für kompaktere Notation:

Kilometer, Mikrosekunde, Megawa�, usw.

Binäre und dezimale Größenpräfixe 16/19

Page 20: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Dezimale Größenpräfixe

10−3 10−6 10−9 10−12 10−15 10−181000−1 1000−2 1000−3 1000−4 1000−5 1000−6milli mikro nano pico femto a�om µ n p f a

103 106 109 1012 1015 101810001 10002 10003 10004 10005 10006kilo mega giga tera peta exak M G T P E

Binäre und dezimale Größenpräfixe 17/19

Page 21: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Binäre Größenpräfixe

I In Rechnern häufig Größen, die Potenzen von 2 oder 210 sind,und nicht Potenzen von 10 bzw. 1000.

I Die International Electrotechnical Commission hat 1999 Präfixeeingeführt, die für Potenzen von 210 = 1024 stehen.

I motiviert durch Kunstworte «kilobinary», «megabinary», usw.I Präfixe kibi, mebi, gibi, usw.I abgekürzt Ki, Mi, Gi, usw.

210 220 230 240 250 26010241 10242 10243 10244 10245 10246kibi mebi gibi tebi pebi exbiKi Mi Gi Ti Pi Ei

Binäre und dezimale Größenpräfixe 18/19

Page 22: Grundbegriffe der Informatikgbi13.ira.uka.de/vorlesungen/u-09-speicher-folien.pdf · Adresse 1 Wert 1 Adresse 2 Wert 2 Adresse 3 Wert 3 Adresse 4 Wert 4::::: Adresse n Wert n Halbleiterspeicher

Wir halten fest

Das sollten Sie mitnehmen:I Bit und Byte / OctetI binäre Größenpräfixe

Das sollten Sie üben:I Rechnen mit binären Größenpräfixen

Binäre und dezimale Größenpräfixe 19/19