EEPROM mit 256K (32K x 8)

Janiiix3

Aktives Mitglied
28. Sep. 2013
1.333
10
38
Hannover
Sprachen
  1. ANSI C
  2. C#
Hallöchen.

Habe mal eine Verständnisfrage zu der Speicherorganisierung von EEProms.
Den EEProm den ich aktuell benutze (24LC256), weißt eine Kapazität von 256KBit und ist in 32K x 8 Speicherzellen organisiert.

Laut Datenblatt habe ich eine Adressierung von 0 - 0x07FF.

Was genau kann ich unter diesen Adressen speichern?
 
Hallo Jan,

ich habe jetzt nicht in das Datenblatt geschaut, aber eigentlich müsstest du Adressen von 0...0x7FFF haben. Das sind dann 32kByte (256kBit).
0..0x7FF sind ja nur 2kByte.

Dirk :ciao:
 
Hi Dirk,

Sorry. Sind 0x7FFF
 
Ja die Beziehung von 0x7FFF zu 256KBit.
Komme da noch nicht ganz hinter... Hinter jede Adresse, gehe ich jetzt mal von 0x0000 aus... kann ich jeweils ein Byte speichern oder ?
1 Byte ( 8 Bit ) * 0x7FFF = 262136...

Ich komme nicht auf die 256... Bitte hilf mir mal auf die Sprünge...
 
Das Eeprom ist als 8Bit x 32k organisiert. Du speicherst und liest also jeweils 1Byte.

Adresse 0 ... Adresse 32767 (0x7FFF)

Byte0 ... Byte 32767

insgesamt also 32768 Byte = 32kByte

EDIT:
32768 Byte =
32768 x 8 Bit = 262144 Bit

(262144Bit / 1024) x k = 256kBit

k/1024 oben kürzt sich weg
 
Okay.
Was ist mit den 32768 ?
 
???
Hast Du mal einen Link zum verwendeten Datenblatt?
Ich finde nur welche mit 15 bit Adressraum (also 2^15=32K). Und 32KBytes sind 256 KBit, womit Deine Frage beantwortet sein sollte: Bytes. In welcher Form Du diese bzw deren Bits interpretierst, ist Sache Deines Programmes...

Edit: zu langsam getippt...
 
Okay.
Was ist mit den 32768 ?
Umgangssprachlich gesagt sind das 32Kilobyte.
Allerdings ist die Verwendung der Vorsilbe "Kilo" hier falsch.
Kilo heißt (Ein)Tausend, also 103.
32Kilobyte wären also tatsächlich nur 32.000 Bytes.

Korrekt müßte man 32Kibibyte (32KiB) sagen, was 32*(210)1 Bytes = 32*210 Bytes = 32*1024 Bytes = 32768 Bytes.

Das "bi" steht dann für Binärpräfix, entsprechend hast Du dann:
  • Kibi- (Ki-) = (210)1 = 10241
  • Mebi- (Mi-) = (210)2= 10242
  • Gibi- (Gi-) = (210)3= 10243
  • Tebi- (Ti-) = (210)4= 10244
  • ...
Der Einheitenpräfix für Kilo (also 1000) ist das kleine "k" - für Kibi (also 1024) wird auch häufig das große "K" verwendet, was allerdings nicht genormt ist.
 
  • Like
Reaktionen: TommyB
Mal wieder super erklärt. Danke euch beiden ;)
 
… Was genau kann ich unter diesen Adressen speichern?
Ich kenne den Chip jetzt nicht, aber ich wage zu vermuten dass er Bytes bevorzugt. Man könnte es natürlich auch mit einer Kaffeetasse versuchen, aber wie das genau gehen soll entzieht sich meinen Fähigkeiten. :D

Sorry, den konnte ich mir nicht verkneifen :p

Scherz beiseite, es ist ja schon alles erklärt. Wo jetzt noch die Frage aufkommen könnte: "Warum gibt es KiloByte und KiBiBytes?"
Etwas hatte LotadaC ja schon gesagt. Der Grund ist simpel: Weil es aus digitaler Sicht einfacher ist. Denkt mal an die alte Zeit zurück, also die 286er z. B. (oder noch früher). Die hatten noch keine FPU (Floating Point Unit) in der CPU drin, und falls doch dann als Co-Prozessor, also zweiten Chip. Jetzt will das komplizierte Ding was so ungefähr 30cm vorm Monitor sitzt aber sehen was auf der Diskette drauf ist. Und vermutlich auch wie viel Speicher belegt und noch frei ist. Problem: Unser Dezimalsystem basiert auf 10, das PC System aber auf 16. Zufällig ist ein vielfaches von 2 eben 1024 Bytes. Also, sch*** auf die 24 Bytes, dafür muss man zur Umrechnung von Bytes in KB nur ein paar mal die Bits shiften. Peanuts. Sonst wäre es notwendig großartig zu dividieren, was die CPUs damals noch nicht konnten (nur per Software, was aber langsam ist). Aber auch heutzutage sind Integer Operationen immer noch schneller als Fließkomma. Daher das 1024 vs. 1000 :)

U. A. aus diesem Grund sind Festplatten auch immer kleiner als es drauf steht. Kleinvieh macht eben auch Mist. Es sind ja "nur" 24 Bytes, aber pro KB. Die Hersteller rechnen auf 1000er Basis. Davon abgesehen wird noch etwas Speicher für Wiederherstellungsinformationen reserviert, grade bei SSD's die ja eigentlich "echte" 128 / 256 / 512 / … GB haben sollten (weil der Chip so groß ist). Es wird Speicher reserviert, sollte mal eine Speicherzelle ausfallen. Klar, ist die Reserve voll ist die Platte hops.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)