Hi,
Ein Byte. Die kleinste adressierbare Einheit ist heutzutage üblicherweise genau ein Byte groß.
Ich DACHTE es mir heute Nacht noch, nur wollte ich es nicht aussprechen. 1 Byte also.
Dann ist es also klar. Ein int in C ist für gewöhnlich 32 bit, also benötigt dieses Int 4 Byte. Also sind damit schon 4 Speicheradressen futschikato?
ja, genau. Wenn du ein int an Adresse 7384 speicherst, belegt dieser Wert automatisch die Adressen 7384, 7385, 7386 und 7387 im Arbeitsspeicher. Dieses Weiterschalten auf die nächsten Adressen macht die CPU aber von ganz allein. In einem echten 32bit-System ist der Arbeitsspeicher außerdem so organisiert, dass vier aufeinanderfolgende Adressen gleichzeitig gelesen oder geschrieben werden können.
Sind es bei einem 64bit-System wirklich pro Adresse 64 bit Wordbreite?
_Diese_ 64 Bit, also die, von denen zur Zeit in der Werbung meist die Rede ist, beziehen sich auf die Adresse, nicht auf die Daten.
Falsch. Es geht normalerweise um die Daten-Wortbreite. Eine 32bit-CPU hat 32bit breite Datenregister und einen 32bit breiten Datenbus, kann also 32bit in einer einzigen Aktion verarbeiten. Die Anzahl der Adressbits ist wieder eine andere Geschichte: Die gute alte 80286-CPU war ein 32bit-Prozessor (konnte 32bit auf einmal bearbeiten oder transferieren), hatte aber nur 24 Adressbits (konnte also bis zu 16MB Speicher adressieren).
Und waren es bei den 8-bittern tatsächlich 16 bit?
Nein, 8bit.
Schaut man ganz genau hin, gibt es auch Prozessoren, die intern größere Wortbreiten haben als sich extern anschließen lässt, schlichtweg um die Verdrahtung günstiger zu machen.
Zum Beispiel die 386SX, eine 32bit-CPU mit internem 32bit-Adressbus, der aber nur 16bit breit herausgeführt war. Die Adresse wurde dann immer in zwei Häppchen nach außen übermittelt, was bei jedem Speicherzugriff einen Taktzuklus länger dauerte als beim "richtigen" 386er.
So long,
Martin
Die junge Ehefrau weint sich bei ihrer Mutter aus:
Er hat gesagt, ich soll mich zum Teufel scheren! - Und da kommst du ausgerechnet zu mir?!
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(