Forum: PC Hard- und Software Wieviel Daten in eine PC RAM Adresse


von Juni (Gast)


Lesenswert?

Hi,
wieviel Daten können immer auf unterschiedlichen Windows Systemen in 
eine RAM- Adresse geschrieben werden???

von Ben _. (burning_silicon)


Lesenswert?

Hä? Eine RAM-Adresse ist eigentlich immer ein einziges Byte. Man kann 
auch mehrere gleichzeitig verarbeiten, aber die liegen dann an 
verschiedenen (aufeinanderfolgenden) Adressen.

von Juni (Gast)


Lesenswert?

Wieso ist das immer ein Byte?

von bumb (Gast)


Lesenswert?

Also jetzt nur mal fuer x86

register koennen geladen werden mit byte, double, quad, octal

8 - 16 - 32 - 64 bits respektive (auf AMD64)

von Rolf M. (rmagnus)


Lesenswert?

Juni schrieb:
> Wieso ist das immer ein Byte?

Weil PCs Byte-Adressierbar sind (bzw. eigentlich jeder Computer). Jedes 
Byte hat eine eigene Adresse.

von Juni (Gast)


Lesenswert?

bumb schrieb:
> Also jetzt nur mal fuer x86
>
> register koennen geladen werden mit byte, double, quad, octal
>
> 8 - 16 - 32 - 64 bits respektive (auf AMD64)

Nach Wikipedia: Als Register bezeichnet man in der Digital- oder 
Computertechnik Speicherbereiche, die innerhalb eines Prozessors direkt 
mit der eigentlichen Recheneinheit verbunden sind und die unmittelbaren 
Operanden und Ergebnisse aller Berechnungen aufnehmen. Register sind in 
der Regel höchstens so groß wie die Wortgröße des Prozessors (8, 16, 32 
oder 64 Bit).

Ich habe ja nach RAM (externen Speicher) gefragt. Warum ist eine 
RAM-Zelle immer ein Byte groß?

von Strickwettbewerbgewinner (Gast)


Lesenswert?

Juni schrieb:
> Ich habe ja nach RAM (externen Speicher) gefragt. Warum ist eine
> RAM-Zelle immer ein Byte groß?
Konvention, wär zu kompliziert wenn jedes System da andere Größen hätte

von Rolf M. (rmagnus)


Lesenswert?

Juni schrieb:
> Ich habe ja nach RAM (externen Speicher) gefragt. Warum ist eine
> RAM-Zelle immer ein Byte groß?

Weil das Byte so definiert ist - als kleinste adressierbare Einheit.

von Dosmo (Gast)


Lesenswert?

Juni schrieb:
> Ich habe ja nach RAM (externen Speicher) gefragt. Warum ist eine
> RAM-Zelle immer ein Byte groß?

Es geht darum, was die kleinste Dateneinheit ist, die man noch 
adressieren kann. Einzelne Bits im Speicher kann man auf dem PC nicht 
adressieren (aber es gibt Microcontroller, die können das). Die kleinste 
Dateneinheit, die man im PC adressieren kann, ist nunmal das Byte, d.h 
zwei aufeinanderfolgende Adressen adressieren zwei aufeinanderfolgende 
Bytes.

von Juni (Gast)


Lesenswert?

Ich verstehe so langsam...
Ein char ist (in C) glaub ich ein Byte, also die kleinste Einheit und 
ein Bitfeld ist egal wieviel Bits immer mind. ein Byte. Wenn ein µC ein 
Bit Adressieren kann, wie ist dann die Adresse, wenn nicht in HEX, weil 
ja immer ein Sprung von ein Byte, oder?

von clrokr (Gast)


Lesenswert?

Je nach Architektur haben Bytes zwar verschiedene Adressen, aber es 
können manchmal auch nur Doppelworte auf einmal geschrieben werden (und 
dann an bestimmten Bytegrenzen ausgerichtet!) und um ein Byte zu 
schreiben muss das Doppelwort gelesen und verändert geschrieben werden. 
Das hängt ganz vom Speicherinterface ab, aber 8 Bit sind schon länger 
nicht mehr in :)

von Uhu U. (uhu)


Lesenswert?

Rolf Magnus schrieb:
> Juni schrieb:
>> Ich habe ja nach RAM (externen Speicher) gefragt. Warum ist eine
>> RAM-Zelle immer ein Byte groß?
>
> Weil das Byte so definiert ist - als kleinste adressierbare Einheit.

Definiert? Nein. Es gibt auch Bytes, die nicht 8 Bit lang sind. Siehe 
http://de.wikipedia.org/wiki/Byte

Aber daß sich die 8 durchgesetzt hat, hat einen ganz simplen Grund: 8 
ist eine Zweierpotenz - das macht Bitadressierung, Shiftoperationen, 
etc. innerhalb des Prozessors effizienter.

Das Muster setzt sich dann bei den Prozessoregistern fort: die sind eine 
Zweierpotenz Bytes breit.

von Rolf Magnus (Gast)


Lesenswert?

Uhu Uhuhu schrieb:
> Rolf Magnus schrieb:
>> Juni schrieb:
>>> Ich habe ja nach RAM (externen Speicher) gefragt. Warum ist eine
>>> RAM-Zelle immer ein Byte groß?
>>
>> Weil das Byte so definiert ist - als kleinste adressierbare Einheit.
>
> Definiert?

Ja, zumindest ursprünglich mal. Es gibt da noch die Definition über den 
Zeichensatz, aber die ist heute ja aufgrund Wide- und Multibyte-Charsets 
nicht mehr sinnvoll.

> Es gibt auch Bytes, die nicht 8 Bit lang sind.

Ich hab nichts gegenteiliges behauptet. Wenn die kleinste adressierbare 
Einheit des jeweiligen Systems nicht 8 Bit lang ist, ist dort auch ein 
Byte nicht 8 Bit lang.

> Siehe http://de.wikipedia.org/wiki/Byte

"Der Begriff wurde 1956 von Werner Buchholz geprägt in einer frühen 
Designphase eines IBM-Computers.[3] Im Original beschrieb er eine Breite 
von sechs Bit und stellte die kleinste direkt adressierbare 
Speichereinheit eines entsprechenden Computers dar, und damit konnte man 
die Buchstaben und gängige Sonderzeichen zum Beispiel in Quelltexten von 
Programmen oder anderen Texten speichern (also  verschiedene Zeichen)."

Das ist eben die ursprüngliche Definition. Heute ist das allerdings 
durch unterschiedliches Verständnis ziemlich aufgeweicht, aber z.B. in C 
ist das Byte auch heute noch so definiert.

von Klaus W. (mfgkw)


Lesenswert?

Juni schrieb:
> Hi,
> wieviel Daten können immer auf unterschiedlichen Windows Systemen in
> eine RAM- Adresse geschrieben werden???

Reinschreiben kannst du, soviel du willst.
Rauslesen nur das letzte Byte.

von Peter II (Gast)


Lesenswert?

Klaus Wachtler schrieb:
> Juni schrieb:
>> Hi,
>> wieviel Daten können immer auf unterschiedlichen Windows Systemen in
>> eine RAM- Adresse geschrieben werden???
>
> Reinschreiben kannst du, soviel du willst.
> Rauslesen nur das letzte Byte.

die Frage ist ob es im Virtuelleadressen oder Physikalische geht? Jede 
Anwendung kann in die gleiche Virtuelle Adresse ihre werte 
reinschreibem.

von Uhu U. (uhu)


Lesenswert?

Rolf Magnus schrieb:
> Ja, zumindest ursprünglich mal.

Nein, definitiv nicht. Es war immer die kleinste direkt adressierbare 
Einheit und damit hardwareabhängig. Von einer "ursprünglichen 
Definition" kann nicht die Rede sein.

Die alten Fernschreiber hatten übrigens 5-Bit-Zeichen - Stichwort 
Baudot-Code -, die doppelt belegt waren. Umschaltzeichen wählten jeweils 
bei Bedarf die andere Ebene aus.

Frühe Conmputer nutzten Fernschreiber zumindst als Konsolschreiber.

von Rolf Magnus (Gast)


Lesenswert?

Uhu Uhuhu schrieb:
> Rolf Magnus schrieb:
>> Ja, zumindest ursprünglich mal.
>
> Nein, definitiv nicht. Es war immer die kleinste direkt adressierbare
> Einheit und damit hardwareabhängig.

Ähm, das ist doch genau das, was ich geschrieben hab. Du hast behauptet, 
es sei nicht so:

Uhu Uhuhu schrieb:
> Rolf Magnus schrieb:
>> Juni schrieb:
>>> Ich habe ja nach RAM (externen Speicher) gefragt. Warum ist eine
>>> RAM-Zelle immer ein Byte groß?
>>
>> Weil das Byte so definiert ist - als kleinste adressierbare Einheit.
>
> Definiert? Nein.

von Reinhard Kern (Gast)


Lesenswert?

Uhu Uhuhu schrieb:
> Die alten Fernschreiber hatten übrigens 5-Bit-Zeichen - Stichwort
> Baudot-Code

Dafür habe ich sogar Transcoder gebaut (Baudot<->Teletype ASCII). Aber 
niemalsnienicht ist einer auf die Idee gekommen, das Byte zu nennen.

Gruss Reinhard

von Evil (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Heute ist das allerdings
>
> durch unterschiedliches Verständnis ziemlich aufgeweicht, aber z.B. in C
> ist das Byte auch heute noch so definiert.

das ein Byte = 6Bit ist???

von Rolf M. (rmagnus)


Lesenswert?

Evil schrieb:
> Rolf Magnus schrieb:
>> Heute ist das allerdings durch unterschiedliches Verständnis ziemlich
>> aufgeweicht, aber z.B. in C ist das Byte auch heute noch so definiert.
>
> das ein Byte = 6Bit ist???

Nein, daß (und ich schreibe es gerne nochmal..,) ein Byte die kleiste 
Einheit ist, die man einzeln adressieren kann, also in C-Sprache: Die 
kleinste Einheit, auf die man einen Zeiger definieren kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.