WinXP og utnyttelse av RAM..

20 innlegg i emnet

Skrevet (endret)

Vel, da har google igjen gjort nytte for seg, og vi får se hvor mange som er enig eller uenig denne gangen. Dette som er skrevet i denne posten er slik jeg har tolket svaret, som er en samling av flere svar fra flere kilder på nettet. Vil gjerne påpeke at dette nødvendigvis ikke er 100% korrekt, og ønsker gjerne tilbakemelding om noe viser seg å være feilaktig informasjon, eller rett og slett misstolking av kildeopplysningene.

Spørsmålet er minne (RAM) og hvorfor det ikke vises mer en 3-3,5 GB minne når man har installert 4GB RAM. Vi utelater spørsmålet om 32bits og 64 bits OS, da vi alle vet at disse støtter mer RAM en 4GB, og fokuserer på hvorfor 32bits XP ikke viser sine fulle 4GB med RAM. Og svaret er faktisk enklere en det man tror. Skal prøve å la være å lage det teknisk uforståelig, slik at det er forståelig for vanlige dødelige også.

WinXP 32Bits OS = 232 bytes = 4GB (1.024 x 1.024 = 4.096MB)

Microsoft Windows XP Professional, som 32-bits OS, støtter en adresse rekkevidde på opp til X GB for virtuelt minne adresser og opp til 4 GB for fysisk minne adresser. X fordi denne kan være diskutabel om hva som er hensiktsmessig i forhold til mengde installert RAM, ref denne tråden.

Det fysiske minnet (RAM) er delt opp i to sub-kategorier for å administrere både maskinens PCI-"memory range" (også kjent som MMIO som er forbeholdt enheter som for eksempel PCI, Chipset, Direct Media Interface (DMI), og ICH) og DRAM (Den fysiske mengden tilgjengelig minne, som er synlig i operativsystemet og tilgjengelig for bruk).

Som er resultat av at minnet blir delt opp i disse partene eller kategoriene, vil aldri den fysiske synlige RAM bli 4GB, men da selvsagt alltid bli mindre en 4GB. For å kunne skjønne hvordan det er fordelt, er det gjerne lettere å illustrere dette med en tegning. Bildet illustrerer en 4GB RAM kapasitet. Rød og blå sone varierer da selvsagt ut fra datamaskinens hardware spesifikasjoner og der derfor ikke gitt noen verdi.

288607.jpeg

MMIO/PCI-minne adresser som starter ned fra "toppen" av 4 GB er brukt til ting som BIOS, IO-kort, nettverk, PCI-hubber, buss-broer, PCI-Express, og video / grafikkort. BIOS tar opp om lag 512 KB og tar dette fra ene enden eller helt fra toppen av minneadresse. Deretter hver av de andre elementer som nevnes er tildelt adresse serier under BIOS-serien. Den største blokken av adresser er disponert for dagens høyytelses-grafikkort som trenger adresser for "minst mengden minne" på grafikkortet.

Det er også derfor denne mengden med "synlig" RAM varierer fra person til person, da det er forskjellige spesifikasjoner på de respektive datamaskiner.

Nettoresultatet er at en maskin med høy ytelse (x86-baserte datamaskiner) kan bevilge 512 MB til mer enn 1 GB av MMIO/PCI "memory range" før noen RAM (fysiske bruker minne)-adresser er tildelt.

RAM (det fysiske synlige minnet) starter da altså fra adresse 0( "andre enden"), eller nederst på illustrasjonen og har tildelte adresser helt opp til der MMIO/PCI minneområdet slutter.

Men så dukker sikkert spørsmålet opp, om skjermkort tildeles minimum mengden RAM kortet selv har (av MMIO/PCI biten), hvorfor vises da så mye av mitt fysiske minne når skjermkortet er på 1GB? Jo, fordi det finnes tilfeller der tilgjengelig RAM faller utenfor begge ender av denne "rangen" eller sine respektive soner, om vi kan kalle det for det. Og her dukker det jo opp en interessant ting, for det er her pagesys filen kommer inn i bildet. Operativsystemet har fremdeles tilgang til 4 nye gigabyte med virtuelt minne, på godt norsk kaldt sidevekslingsfilen, via harddisk.

Konklusjonen er:

Man kaster altså ikke bort penger om man kjøper 4GB RAM og bare ser 3,X av dem i Windows. De resterende MB som man ikke ser brukes/reserveres til andre enheter (MMIO/PCI-adressering), og har selvsagt en viktig og vital funksjon av datamaskinens virkemåte.

Enig eller uenig? Kommenter gjerne..

EDIT:

Første konklusjon var altså feil. Sannheten ser altså ut til å være følgende ut fra svaret Bliblok har gitt meg:

Men når man har 4GB ram, i tillegg til alt det andre som trenger adresser, så er det simpelthen ikke nok adresser til alt. Det naturlige er da selvfølgelig å utelate litt av RAM-en, sånn at PC-en kan brukes. Det hadde trolig vært mulig å organisere adresseområdet mer effektivt, slik at mer plass kunne brukes til RAM, men den gangen 32-bits prosessorer ble tatt i bruk så var 4GB en uant stor mengde RAM, så å spare på plassen var vel ikke prioritet.

Datamaskinen kutter altså ned på de fysiske tilgjengelige minne, får å redusere antall adresseringer som er allokert/trengs av andre enheter på maskinen. Derfor vil heller ikke denne mengden med RAM som er fjernet bli benyttet på noen annen måte.

Endret av Peik
0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Dette er da like gammelt som det er riktig.....men 4GB ram vil aldri bli gjeldende for selve YTELSEN i en XP-maskin eller en 32-bits Vista, selv om maskinen fysisk bruker all installert ram.

Det er alltid en liten del av installert fysisk ram som brukes av maskinens MMIO, denne er alltid en fast og lik verdi....altså er den lik uansett om man istallerer 1GB eller 4GB ram.....den registreres bare ikke som "borte" før man kommer over en viss verdi installert ram.....3,28GB om jeg ikke husker helt feil.....men alt er der, og i bruk likevel.

;)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Hehe, ja, nytt er det vel ikke.. men det sitter sikkert noen her, som ikke er like oppdatert og vet hva som er årsaken, så informasjonen var tenkt til dem.

denne er alltid en fast og lik verdi....altså er den lik uansett om man installerer 1GB eller 4GB ram.....den registreres bare ikke som "borte" før man kommer over en viss verdi installert ram.....3,28GB om jeg ikke husker helt feil.....men alt er der, og i bruk likevel.

Gjelder det bare Vista maskiner eller også XP? Jeg fikk lest meg til denne faste verdien du refererer til på 3,28 eller noe rundt der, men forstod at dette berørte BARE 32Bit`s Vista. Mener å huske at XP kan gi deg alt fra 3.0 til 3.6, uten at jeg skal sette hele hodet i pant. Men da selvsagt er dette avhengig speccen på masinen (som igjen resulterer i størrelsen på MMIO). Uten at det egentelig vil bety så mye...

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Alle 32-bits systemer.....fra XP til Linux.....

Hva HK støtter, og hva OS støtter av ram, er to forskjellige ting.....

64-bits XP Professional og alle 64-bits Vista, støtter og gjør bruk av mer enn 4GB ram og oppover.....men det er altså ikke dermed sagt at et eldre HK støtter det.

;)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Riktig. ( 32bit ) Men noen unntak har jeg kommet over. XP starter edition har max 512MB ram og Vista starter edition max 1GB ram.

Dette har sikkert noen klart å hacke vil jeg tro. Hvem bruker disse begrensede versjonene tro? ( litt off topic ja)

Nevner det bare som en liten kuriositet.... ;)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Einig i at dette er noko ikkje alle er klar over, ein skal ikkje søke så langt for å finne uklare svar på kvifor ein ikkje ser 4096 MB RAM i WinXP 32-bit. Flott skriving, du burde sende inn ein artikkel til ITpro om temaet. :)

Physical Address Extension (PAE)

For å krangle litt på det, det er ikkje heilt umogleg å bruke meir enn 4 GB RAM i eit 32-bits system. PAE er ei utviding som gjer det mogleg å adressere opp til 64 GB RAM på eit 32-bits system, så lenge operativsystemet og prosessoren støttar det. Det er derimot ikkje så vanleg å bruke blant privatpersonar, men greit å vere klar over. Mange lurar nok på korleis Windows Server 2003 32-bit kan støtte meir enn 4 GB, når dei har lært at det er umogleg for eit 32-bits system. :)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

For å krangle litt på det, det er ikkje heilt umogleg å bruke meir enn 4 GB RAM i eit 32-bits system. PAE er ei utviding som gjer det mogleg å adressere opp til 64 GB RAM på eit 32-bits system, så lenge operativsystemet og prosessoren støttar det.

Jupp, jeg også leste det, men klokken ble så mye, og moringen kom fort, så jeg skippet tett og slett hele PAE biten, da dette var fokusert på Win XP. Mener å huske at det er bare Server (32bit) som har mulighet til å gjøre dette, man kan ikke benytte PAE på Win XP.. Men har tatt feil før jeg :)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

PAE er ei utviding som gjer det mogleg å adressere opp til 64 GB RAM på eit 32-bits system, så lenge operativsystemet og prosessoren støttar det. Det er derimot ikkje så vanleg å bruke blant privatpersonar, men greit å vere klar over. Mange lurar nok på korleis Windows Server 2003 32-bit kan støtte meir enn 4 GB, når dei har lært at det er umogleg for eit 32-bits system.
Dette kan altså aktiveres på XP pro 32bit før SP2, men da må operativsystemet være innstallert på maskinvare og drivere som tilater bruken av PAE. Det er ikke vanlig så vidt jeg kan forstå på pc'er rettet mot forbrukermarkedet. ? Slik forstod jeg det.

Har lest mye om dette på internett for en tid tilbake og ja det er en del feilinformasjon ute å går. Jeg gikk nesten på limpinnen og skulle til å sette PAE aktiv i boot.ini , men som en gammel ringrev jeg er tok jeg et dypdykk med Google og fikk avklart misforståelsene. Her er en tråd som tar for seg PAE her på ITpro: http://itpro.no/supportforum/index.php?sho...62088&st=10

Interessant tema :thumbup:

EDIT: tilføyd Og dette gjaldt altså før SP2 på XP Pro ser jeg nå.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Konklusjonen er:

Man kaster altså ikke bort penger om man kjøper 4GB RAM og bare ser 3,X av dem i Windows. De resterende MB som man ikke ser brukes/reserveres til andre enheter (MMIO/PCI-adressering), og har selvsagt en viktig og vital funksjon av datamaskinens virkemåte.

Enig eller uenig? Kommenter gjerne..

Her har du misforstått noe veldig viktig. Prosessoren kan adressere totalt 4GB, men den bruker 0,5-1GB til å adressere andre ting enn RAM. Dette andre området som du snakker om er altså adresser som ikke er knyttet opp til RAM. For eksempel kan det være en addresse som er mappet opp slik at det som skrives til den sendes ut på serieporten. Dermed har den ikke adresser å bruke på mer enn 3-3.5GB RAM, og resten blir overhodet ikke brukt.

I utgangspunktet bruker prosessoren samme instruksjoner for å skrive noe ut på printerporten som for å lagre noe på et område i RAM. Forskjellen er hva adressen som skrives til peker til. De adressene som brukes til IO-kort eller hva som helst, kan ikke samtidig peke til RAM. Den RAM-en blir altså ikke brukt, det blir aldri skrevet noe til den, og det blir aldri lest noe fra den. Sånn sett kan man si den er bortkastet. (Denne RAM-en brukes altså heller ikke i forbindelse med printerporten. Det er adressen som ellers potensielt kunne pekt til den som brukes til noe annet.)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Dæsken bliblok....der kom du med det som jeg leita etter....hele nøkkelen her sitter altså i 32-bits vs. 64-bits CPU.....stemmer ikke det?

OG for å få nyttiggjort de resterende RAM, så MÅ både CPU og OS være i 64-bit...stemmer ikke dette?

(ser da bortfra div. server-OS som riktignok har mulighet til å utnytte dette bedre selv om de bare er i 32-bits)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Det som mange glemmer er at chipsettet på hovedkortet må støtte omadressering av minne. Fant en blogg som tar for seg dette og er forklart slik at vi vanlig dødelige forstår budskapet: http://blogs.msdn.com/hiltonl/archive/2007...am-problem.aspx

Sitert fra linken (klikk for å vise/skjule)

When looking at memory in systems (be it desktop or notebook) there are three questions to ask that will tell you the maximum amount of memory your O/S will be able to use:

1. What O/S Edition have you installed?

a. 32-bit Windows is limited to a maximum of 4GB and cannot see any pages above 4GB.

b. 64-bit Windows can use between 8GB and 128GB depending on SKU.

2. What address range can your processor actually access?

a. Typically that'll be 40-bit addressing today for x64 (Intel EM64T/AMD64), but older processors may be limited to 36-bit or even 32-bit

3. Can your system's chipset map memory above 4GB?

a. Mobile chipsets on sale today cannot (but that may change with time)

b. Newer workstations (which use chipsets developed for single or multi-proc servers) usually can.

Windows can remap memory from below 4GB to above 4GB and use it there, however, that relies on the three points above:

1. Can Windows access memory above 4GB?

a. 32-bit - NO

b. 64-bit - Maybe (due to chipset limitations)

2. Can your processor access memory above 4GB?

a. If it's recent then it might, and if it's either AMD64 or EM64T it's almost certain

3. Does your chipset allow pages to be remapped above 4GB?

a. Probably not - and that's what's catching people who install 64-bit Vista to work around point 1 - they find they still cannot see above 4GB

EDIT: Her i forumet blir ikke disse begrensningene nevnt med et ord når det spørres om valg av OS til pc for å utnytte mer RAM.

Er påstandene her riktige ?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet (endret)

OS som utnytter mer enn 3-3.5GB benytter PAE, det skriver jeg ikke noe om her.

64-bits prosessorer fungerer på samme måte som alle 32-bits prosessorer frem til OS-et eventuelt velger å ta i bruk de nye instruksjonene som slike prosessorer tilbyr. 32-bits OS bruker aldri de instruksjonene, og dermed får det aldri noen betydning om prosessoren er 64-bits eller ikke. 64-bits OS benytter seg av muligheten disse prosessorene gir til å ha et adresseområde på 64 bit, og får dermed ikke problemer med at adresseområdet blir for lite til å få plass til både RAM og alt annet som trenger å ha en adresse i dette området for å fungere.

Men når man har 4GB ram, i tillegg til alt det andre som trenger adresser, så er det simpelthen ikke nok adresser til alt. Det naturlige er da selvfølgelig å utelate litt av RAM-en, sånn at PC-en kan brukes. Det hadde trolig vært mulig å organisere adresseområdet mer effektivt, slik at mer plass kunne brukes til RAM, men den gangen 32-bits prosessorer ble tatt i bruk så var 4GB en uant stor mengde RAM, så å spare på plassen var vel ikke prioritet.

EDIT:

TheMetalGod:

Den artikkelen er fra April 2007, det han skriver der at støttes av de fleste nye stasjonære maskiner, støttes nok av alle maskiner som selges nye i dag. Det er mulig å lete frem produsentenes dokumentasjon og se hvilke chipset som støtter hva, men det er jeg ikke motivert til i kveld. I praksis tror jeg nok man kan bruke den mengde RAM man har råd til å kjøpe. Så lenge man har 64 bits OS, og ikke er multimillionær.

Endret av bliblok
0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

HM, ok, så forstår jeg deg da rett når du sier at det blir kuttet ned på den fysiske (synlige) ramme, rett og slett for at den tar opp adresser som trengs av andre enheter? Altså at man minker mengden ram for å frigjøre nokk adresseplass for andre komponenter? Noe som virker logisk da du også sier at denne mengden RAM som er "borte" ikke benyttes til noe.. (?)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Det ser ut til å være riktig, ja.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

OS som utnytter mer enn 3-3.5GB benytter PAE, det skriver jeg ikke noe om her.

64-bits prosessorer fungerer på samme måte som alle 32-bits prosessorer frem til OS-et eventuelt velger å ta i bruk de nye instruksjonene som slike prosessorer tilbyr. 32-bits OS bruker aldri de instruksjonene, og dermed får det aldri noen betydning om prosessoren er 64-bits eller ikke. 64-bits OS benytter seg av muligheten disse prosessorene gir til å ha et adresseområde på 64 bit, og får dermed ikke problemer med at adresseområdet blir for lite til å få plass til både RAM og alt annet som trenger å ha en adresse i dette området for å fungere.

Greit nok, men en 32-bits CPU vil aldri kunne kjøre et 64-bits system....dermed er nok CPU'ens oppbygging relevant likevel.

;)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Når man har et 64-bits OS så er det høyst relevant om CPU-en støtter det eller ikke.

Det jeg mente er at så lenge man har 32-bits OS, så spiller det ingen rolle om CPU-en støtter 64-bits modus eller ikke.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Nemlig bliblok...det sier seg jo igrunnen selv.

:P

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

TheMetalGod:

Den artikkelen er fra April 2007, det han skriver der at støttes av de fleste nye stasjonære maskiner, støttes nok av alle maskiner som selges nye i dag. Det er mulig å lete frem produsentenes dokumentasjon og se hvilke chipset som støtter hva, men det er jeg ikke motivert til i kveld. I praksis tror jeg nok man kan bruke den mengde RAM man har råd til å kjøpe. Så lenge man har 64 bits OS, og ikke er multimillionær.

hmmm. Du har så rett så rett.

Har gløttet litt på forskjellige chipsett. Det ser ut for at det meste i salg i dag har støtte for mer en 4GB ram. Kun noen få og eldre kort igjen, samt noen få microATX og ITX kort uten støtte for dette. Ingen av disse ser ut for å være aktuelle uansett for å rigge opp med mye RAM :P .

Vi kan jo ha dette med hardwarebegrensning i bakhodet i fall det kommer opp spørsmål gjeldene eldre systemer...

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Jepp....jeg har 4GB ram i min Aspire 7520, og ei 64-bits installplate liggende her....samt to 4GB rambrikker, men gidder ikke gjøre noe med dette enda...."sparer" dem til neste korsvei

4GB er evig nok i en gammal Acer

:D

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!


Start en konto

Logg inn

Har du allerede en konto? Logg inn her.


Logg inn nå

  • Hvem er aktive   0 medlemmer

    Ingen innloggede medlemmer aktive