Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

1

07.11.2013, 12:38

Reichweite 64-Bit

Habe ich das richtig verstanden:
Ein Byte hält 2 Hexadezimalstellen = 16^2 = 256.
Bei einem 32-Bit System hat die Addresse (also DWORD bzw. IntPtr) 4 Bytes und damit 8 Hexadezimalstellen = 16^8 = 4 GB

Viele sagen mir aber mit einem 64-bit system ist der RAM auf 8GB begrenzt.
64-Bit = 8 Byte = 16^16 = 17 Milliarden Gigabyte.

Was stimmt denn aber nun?

ERROR

Alter Hase

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

2

07.11.2013, 12:45

Also ich kann dir versichern, dass ein 64 Bit OS mehr als 8GB verarbeiten kann.

In meinem System sind 16GB verbaut und es läuft ein 64 Bit OS.

LukasBanana

Alter Hase

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

3

07.11.2013, 12:46

In meinem PC stecken 16 GB mit Win7 Pro. 64 Bit und die kann ich auch komplett nutzen.

Das hier dürfte dich interessieren: Memory Limits for Windows Releases

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

4

07.11.2013, 13:04

8 GB stimmt wohl in der Tat nicht, aber die CPU haben meistens keine 64 Adressleitungen um den RAM zu addressieren.
Intel's Haswell soll 32 GB RAM unterstüzten. Intern haben die Register 64 Bit Breite, aber dann hat er wohl 35 Bit um
den RAM zu adressieren, wenn ich mich nicht verrechnet habe. Mit Swapspeicher kann man dann aber mehr als die
32 GB RAM in der Anwendung benutzen, natürlich zu entsprechenden Performancenachteilen.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

5

07.11.2013, 15:00

Viele sagen mir aber mit einem 64-bit system ist der RAM auf 8GB begrenzt.
64-Bit = 8 Byte = 16^16 = 17 Milliarden Gigabyte.

Der Fehler bei deinem Gedankengang ist der, dass das Ergebnis aus 2^64 (Hexadezimalstellen sind nur für textuelle Ausgaben von Interesse, ansonsten arbeitet man eigentlich immer mit Bits oder Bytes) die Anzahl der möglichen, nicht aber die Menge des Speichers. (Dadurch stimmt auch die Gleichstellung von 8 Byte = 16 ^ 16 -> 8 Byte = 18446744073709551616 nicht.)
Wenn eine (Speicher-)Adresse also eine Breite von 64 Bit hat, gibt es 18446744073709551616 unterschiedliche und eindeutigen Werte (Adressen). Da i. d. R. einzelne Bytes adressiert werden, ist die aus der Adressbreite resultierende Beschränkung ein Maximum von 18446744073709551616 Byte, also 16 Exabyte (16777216 Terabyte).
Es wurde aber auch darauf hingewiesen, dass die adressbreite aber nicht immer auch der angegebenen Bitzahl entspricht.
Und nicht zu vergessen sind noch ein paar andere Systembedingte Einschränkungen, aber da wurde scheinbar auch schon eine Seite mit entsprechendem Inhalt verlinkt.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

07.11.2013, 16:49

@Scaladur:
2^64 = 16^16

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

7

08.11.2013, 02:34

@Scaladur:
2^64 = 16^16

Ich wüsste nicht, in wie weit ich etwas geschrieben habe, was etwas anderes aussagt.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige