bits 'n' bytes

  • Ich verzweifel grad an dieser aufgabe:

    Zitat

    1. Die Compact-FlashCard einer Digitalkamera hat eine Speicherkapazität von 256 Mbit.
    Daten werden blockweise zum Speicher übertragen. Mit exakt 16 Block-Adreßbits läßt sich ein block des Speicherbereichs eindeutig ansprechen.

    1.1 Wie viele Blöcke enthält der gesamte Speicher und wie groß ist ein Block in kByte ?
    1.2 Wie viel Adreßbits benötigt man innerhalb eines Blocks, um 1 Byte eindeutig adressieren zu können ?
    1.3. Wie viele Sekunden (auf 3 Nachkommastellen genau) dauert es, den Inhalt der gesamten FlashCard per USB mit einer effektiven Datenrate von 1,5Mbit/s zum PC übertragen ?

    Das muss ich bis Donnerstag können :(
    Könntet ihr mir da vielleicht helfen?

    • Offizieller Beitrag

    1 Block = 2^16 / 8 / 1024 = 8 kByte

    Anzahl der Blöcke = 256 MBit / 8 * 1024 = 32768 kByte / 8 kByte = 4096 Blöcke

    Adreßbits/Block = 1+2+4+8+16+32+64+128+256+512+1024+2048+4096 = 8191 = 13 Bits (0...8191)

    1,5 MBit = 1,5 * 1024 / 8 = 192 kByte/s
    32768 kByte / 192 = 170, 667 s


    Bei den Adreßbits/Block weiß ich jetzt nicht, ob man das nicht auch noch anders ausrechnen kann. :S

  • Hmm, das Ergebnis kommt auf jeden Fall so raus :)

    Spoiler anzeigen
    [autoit]

    $count = 1
    $startzahl = 4096
    Do
    $startzahl /= 2
    $count += 1
    Until $startzahl <= 1
    MsgBox(0, '', $count)

    [/autoit]
  • omfg ihr habt mir echt geholfen, danke!!

    die rechnung "1 Block = 2^16 / 8 / 1024 = 8 kByte" versteh ich irgentwie nicht...

    ich hab mir erst gedacht Block-adreßbits sind ganz normale leitungen, also 16 stück pro block und alle zusammen können 2^16 verschiedene zustände haben (sind dann 65536 zustände) , aber warum nochmal durch 8??

    ich kann mich nicht erinnern so ne rechnung jemals im unterricht gemacht zu haben

    ich hasse diesen lehrer, der kann einem einfach nichts beibringen :(

  • 1 byte = 8 bit = 256 Zustände
    2 byte = 16bit = 65536 Zustände
    laut deiner rechnung:

    65536 Zustände / 8 = 8192 Byte ???
    8192 Byte / 1024 = 8 KByte ???

    also 2 byte = 8 Kbyte ?

    Einmal editiert, zuletzt von Worfox (28. Oktober 2008 um 10:44)

  • Ne irgendwie net:

    zu 1 ist richtig 2^8 = 256 Zustände
    zu 2 ist richtig 2^16 = 65536 Zustände

    zu 3 leider nicht ganz 65536 / 2^8 = 256 / 2^8 = 1byte
    ........................................^ ^
    ......................................1 byte + 1 byte = 2byte

    2 byte / 1024 = 0.00195313 kbyte
    8 kbyte * 1024 = 8192 byte

    Immer auf die Einheite byte und bit achten :D
    Nur ob meine Erklärung nun besser ist das weis ich auch net, so habe ich mir aber bis jetzt immer geholfen.

    EDIT:
    Ich habe noch einen schönen Linkgefunden ;)
    MfG
    Der_Doc

  • aaah wie denn das?

    Zitat

    zu 3 leider nicht ganz 65536 / 2^8 = 256 / 2^8 = 1byte
    ........................................^ ^
    ......................................1 byte + 1 byte = 2byte


    65536 Zustände / 2^16 = 1 byte
    (klar 1/1=1...)
    aber:
    1 byte = 8 bit = 256 zustände ?

    da isses schon wieder.... 65536 zustände = 256 zustände ???
    kann mir ma bitte jemand die rechnung 1.1 genau erklären?
    nich so wie oscar >.> ...

  • Zitat


    1. Die Compact-FlashCard einer Digitalkamera hat eine Speicherkapazität von 256 Mbit.

    Daten werden blockweise zum Speicher übertragen. Mit exakt 16 Block-Adreßbits läßt sich ein block des Speicherbereichs eindeutig ansprechen.

    Korrigiert mich, wenn ich falsch liege, aber ich sehe das so:

    zu 1.1)
    256 MBit = 256 * 1024 * 1024 Bit = 268435456 Bit Speicherkapazität
    16 Bit Adressraum ergibt 65536 Adressen
    268435456 Speicherzellen / 65536 Adressen ergibt 4096 Bit pro Adresse, also dürfte 1 Block 4096 Bit = 4096 Bit / 1024 / 8 = 0,5 kByte (bzw. 4096 Bit / 8 = 512 Byte) groß sein.

    zu 1.2)
    Um nun jeweils 1 Byte dieser 512 Bytes anzusprechen, benötigst du eine 9-bittige Adresse (2^9 = 512).

    zu 1.3)
    k.A., aber ohne Protokolldaten und Latenzen sollten das

    65536 Blöcke * 4096 Bit/Block + 65536 * 16Bit (Blockadresse) = 269484032 Bit reines Datenvolumen sein,
    die bei 1,5 MBit/s (= 1,5 * 1024 * 1024 Bit/s = 1572846 Bit/s) etwa 269484032 Bit / 1572864 Bit/s = 171,333 s

    benötigen sollten.


    Wäre nett, wenn du das Ergebnis samt Rechenweg mal posten würdest, interessiert mich wirklich! ?(

    CU Ashpool

    Gruß Ashpool

    Zitat von mir

    Bin immer wieder erstaunt, wie begrenzt ein Horizont sein kann.

    Einmal editiert, zuletzt von Ashpool (29. Oktober 2008 um 18:29)