Seite 3 von 4

Verfasst: 04.10.2006 15:56
von Karl
Eine KI braucht bestimmt einen so großen bzw. größeren Adressraum.

Beweis für die Quadratwurzelbehauptung:

2^64 * 2^0,5 = 2^64*0,5 = 2^32

:)

Gruß Karl

Verfasst: 04.10.2006 17:32
von Eric
Karl hat geschrieben:Windows bietet wohl nur noch die lineare Adressierung. Damit wären 4 GB die Grenze.
AFAIK liegt die Grenze sogar bei 2 - 3GB, weil Windows den restlichen virtuellen
Adressraum für sich selber (hauptsächlich DLLs) beansprucht.
Kaeru Gaman hat geschrieben:ein 64bit system kann 4GB² adressieren, also 16ExaByte...
Allerdings haben z.B. AMD64-Prozessoren nur 48bit für virtuelle Adressen und
nur 40 Adresspins.

Verfasst: 04.10.2006 21:39
von Kaeru Gaman
> Allerdings haben z.B. AMD64-Prozessoren nur 48bit für virtuelle Adressen und nur 40 Adresspins.

aha, der berühmte unterschied zwischen theorie und praxis.
thnx for info. :allright:


> AFAIK liegt die Grenze sogar bei 2 - 3GB, weil Windows den restlichen virtuellen Adressraum für sich selber (hauptsächlich DLLs) beansprucht.

vielleicht nichn ganzes GB, aber trotzdem, natürlich braucht das OS selber auch platz.
aber die oberen 4095MB können ausgelagert werden, das untere eine nicht,
das enthält fixe adressen, zur portverwaltung, interrunpts etc.

Verfasst: 05.10.2006 10:04
von Karl
Eric hat geschrieben: AFAIK liegt die Grenze sogar bei 2 - 3GB, weil Windows den restlichen virtuellen
Adressraum für sich selber (hauptsächlich DLLs) beansprucht.
Ich dachte immer, jedes einzelne Programm hat einen eigenen Adressraum (protected mode)?

Gruß Karl

Verfasst: 05.10.2006 11:41
von Kaeru Gaman
natürlich, aber jeder dieser adressräume muss vom system angesprochen werden.
das system muss wissen, was wo steht, was aus- oder ein-gelagert werden muss.
und dafür braucht jeder dieser adressräume, die vom programm aus gesehen abgeschlossen ist,
einen adressraum, der von der CPU aus gesehen eindeutig ist.
die CPU muss alle programme nebeneinander legen können,
ohne dass sie sich überschneiden, weil sie wissen muss,
welches byte zu welchem programm gehört.
da die CPU aber maximal 4GB ansprechen kann,
können auch insgesamt nur 4GB in anspruch genommen werden.
klar kann ein einziges programm alles was WIN übriglässt als seinen Adressraum beanspruchen,
aber dann ist kein platz mehr für mehr programme.

Verfasst: 05.10.2006 13:11
von Zaphod
Windows XP 32bit kann exakt 3GB verwenden. Innerhalb dieser 3GB landen auch alle bestandteile des Betriebsystems. Die restlichen addressierbaren 1GB werden zum ansprechend der Perepherie gebraucht, denn auch dafür werden addressleitungen benötigt.

Mit 40 bit lassen sich immerhin noch fast ein Terabyte ansprechen. Ich glaube nicht, dass in einem aktuellen AMD64 system soviel ram reinzustopfen ist ;)

Kommt zeit, kommt bedürfnis, kommen addressleitungen.

Verfasst: 05.10.2006 13:28
von Kaeru Gaman
> Windows XP 32bit kann exakt 3GB verwenden.

WAS????

das is ja mal absolut LÄCHERLICH!!!

bei meinem w2k kann ich die größe der Auslagerungs-Datei auf 4095MB einstellen.
Bild

klar, der DMA-Bereich jeder Peripherie muss im Physikalischen Speicher repräsentierbar sein,
also, muss genauso eingeblendet werden können, wie von der SWAP reingeSWAPt wird,
aber dass ein ganzes GB für irgendwas reserviert ist, ist hier so weit ich das sehe nicht der fall,
und demnach wohl auch keine hardwaretechnische begebenheit.

Verfasst: 05.10.2006 19:49
von Zaphod
Hab mich ein bischen blöd ausgedrückt, ich meinte natürlich 3GB Ram.

Wie es beim Filesystem aussieht bin ich nicht ganz auf dem laufenden, aber es würde mich nicht wundern wenn sogar schon dateien >4GB möglich währen, denn da wird eh nicht direkt addressiert, sonst währen ja auch keine so großen HDs möglich.

Verfasst: 05.10.2006 21:54
von Kaeru Gaman
und ich meinte 4GB RAM.

wenn ich meine Auslagerungsdatei auf 4095MB maximal einstellen kann,
dann schließe ich daraus logisch, dass der gesamte 32bit-adressbereich
auch als speicher adressiert werden kann.

...um das auch als physikalisches RAM zu haben, müsste ich erstmal ne
mother haben, die so große/viele RAMbo-steine auch verwalten kann...

Verfasst: 05.10.2006 22:31
von Zaphod
Achso, nein da irrst du dich. Das man so große pagefiles anlegen kann heißt nicht, dass man soviel ram haben kann, da auch das auslagern nicht direkt addressiert wird. Die auslagerungsdatei ist ja ein seperates ding, wenn pagefile und ram direkt via mmu addressiert werden würden, dann müßtest du ja genug addressraum haben um den ram *und* das pagefile zu addressieren. Wahrscheinlich ist dann 4GB die maximale dateigröße und deswegen der limitierende Faktor bei der auslagerungsdatei.

Man kann durchaus mehr als 3GB in ein modernes 32 bit Mainboard stecken, aber XP kann nicht mehr als 3GB an Ram addressieren. Keine ahnung wie das unter Linux ausschaut, vieleicht kann das mehr Ram nutzen. Allerdings wird auch das kompromisse bei den Addressleitugen machen müssen.

Genau aus dem Grund wird der 64 bit wechsel ja langsam so dringend. Am markt gibt es schon Grafikkarten mit 512MB Speicher und andere Perepherie wird auch immer anspruchsvoller, da reicht der abgezweigte addressraum vorne und hinten nicht mehr.