www.mikrocontroller.net

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


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Juni (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi,
wieviel Daten können immer auf unterschiedlichen Windows Systemen in 
eine RAM- Adresse geschrieben werden???

Autor: Ben ___ (burning_silicon)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Juni (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Wieso ist das immer ein Byte?

Autor: bumb (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Also jetzt nur mal fuer x86

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

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

Autor: Rolf Magnus (rmagnus)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Juni schrieb:
> Wieso ist das immer ein Byte?

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

Autor: Juni (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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ß?

Autor: Strickwettbewerbgewinner (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Autor: Rolf Magnus (rmagnus)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Dosmo (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Juni (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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?

Autor: clrokr (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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 :)

Autor: Uhu Uhuhu (uhu)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Rolf Magnus (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Klaus Wachtler (mfgkw)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Peter II (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Rolf Magnus (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Reinhard Kern (Firma: RK elektronik GmbH) (rk-elektronik)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Autor: Evil (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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???

Autor: Rolf Magnus (rmagnus)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net