Trädvy Permalänk
Medlem
Registrerad
Jul 2001

Processortekniksfråga

Tjena!

Ett tag sen man var här. Men sitter här och läser i Computer Confluence. Kan fasiken inte hitta ett svar angående hur det fungerar när man ska räkna ut vissa saker.

Jag tänkte att ni på Sweclockers är duktiga på tekniken och kanske kan detta?

Frågan är:

Den nya (inte så ny länre) 64-bitars processorarkitekturen kan teoretiskt adressa med 64 bitar. Den fysiska minnesadresseringen väger dock in på 40-bit och den virtuella på 48-bit (AMD 64). Våra ”gamla” processorer använder 32 bitar för sin adressering.

Hur mycket minne (RAM+Swap) i GB innebär det egentligen att datorn kan adressera för de olika teknologierna (då bussbredden i datorn motsvarar oftast antalet bitar)?

Såg inget förbud om frågor angående tekniken eller liknande i FAQ. Är tråden otillåten så ber jag väldigt mycket om ursäkt.

Trädvy Permalänk
Medlem
Plats
Sundsvall
Registrerad
Jan 2004

När det gäller RAM, så tror jag det inte spelar så stor roll ifall man kör 32- eller 64-bitars OS. Det som spelar större roll, är ifall man kör XP eller Vista. Hur det är med Windows 2003 är jag inte insatt i.

Har man exempelvis 4 gig ram, så kan XP bara visa och använda 3-3.25 gig har jag läst. Vista har inte den gränsen utan klarar av att både visa och använda 4 gig ram.

Gigabyte GA-970A-UD3...Phenom II X4 965 @ 3818 MHz...Antec Khüler 620
Crucial & Kingston 1600MHz 4x4GB...XFX Radeon R9 380 DD XXX OC 4GB...Samsung S27E390H
Samsung 850 EVO 250GB...WD 1TB...WD 2TB...Bitfenix Neos Black/Silver...XFX Core Edition 550W

Trädvy Permalänk
Medlem
Registrerad
Jul 2001

Jag vill rent tekniskt få ut hur mycket den kan adressera, oavsett om man kör Windows XP eller Vista. Men det ligger kanske något i de du säger!

Trädvy Permalänk
Medlem
Plats
Uppland
Registrerad
Nov 2002
Citat:

Ursprungligen inskrivet av Lord_Moridin
När det gäller RAM, så tror jag det inte spelar så stor roll ifall man kör 32- eller 64-bitars OS. Det som spelar större roll, är ifall man kör XP eller Vista. Hur det är med Windows 2003 är jag inte insatt i.

Har man exempelvis 4 gig ram, så kan XP bara visa och använda 3-3.25 gig har jag läst. Vista har inte den gränsen utan klarar av att både visa och använda 4 gig ram.

32 bitars har en begränsning på 4GB, sen försvinner lite mer pga. pci adressering mm vilket gör att effektiva max minnesmängd är 3-3,5GB.
64 bitars operativ har inte den gränsen och kan adressera mycket mer minne, sen om cpu:erna inte har 64 bitars minneshantering utan 40 eller 48 vet jag inte men äkta 64 bitars behövs inte för det är otroliga mängder.

Citera för att vara säker på svar!

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Jul 2001

32-bitars system klarar teoretiskt sett adressera 2^32 bitar = 4096MB (4GB)
40-bitars, 2^40 bitar = 1024GB (1TB)
48-bitars, 2^48 bitar = 262144GB = 256TB
64-bitars, 2^64 bitar = 16777216TB
Edit: detta får nog tas med en skopa salt, blev plötsligt väldans osäker på om det stämmer

Core i7 @ 3.8GHz | Asus P6T Deluxe v2 | Corsair 3x2GB PC12800 | Radeon 5870 | Corsair 550W | 2x74 GB Raptor Raid 0 | Intel 160 GB SSD

Trädvy Permalänk
Medlem
Registrerad
Jul 2001

Efter mycket meck så kan jag inte riktigt komma underfull hur jag ska räkna. Det finns lite alternativ:

Lassekongo på forumet här sa att detta var formeln:

totalt minne = databussens bredd*(2^adresseringsbussens bredd)

I dessa fallen blir de väl så fall så här?

totaltminne = 64 * (2^40/8)
totaltminne = 64 * (2^48/8)

Men tycker detta låter väldigt mkt skillnad jämfört med 2^32 som addressera ungefär 4gb.

Är databussens bredd på 64-bits 64-bitar?

Eller som en snubbe på ett annat forum räknade:

totalminne = RAM = 2^40 = 1099511627776 bit = 128 GB (gigabytes)

totalminne = SWAP = 2^48 = 281474976710656 bit = 32768 GB (gigabytes)

Det sistnämnda tror jag är rätt. Fattar inte om man ska gånga databussen efter man fått fram de tal (128 och 257 TB)? Det kan väl inte vara möjligt?

Trädvy Permalänk
Medlem
Plats
Helsingfors/Sthlm
Registrerad
Jun 2004
Citat:

Ursprungligen inskrivet av ripex
totalminne = 2^40/8 = RAM = 2^40 = 1099511627776 bit = 128 GB (gigabytes)

totalminne = 2^48/8 = SWAP = 2^48 = 281474976710656 bit = 32768 GB (gigabytes)

Hur kommer man fram till att 2^40/8 = 2^40 och 2^48/8 = 2^48?

Trädvy Permalänk
Medlem
Registrerad
Jun 2006

en x86 processor använder byte adresser. Om den använder 40 bitar för de fysiska adresserna kan den alltså adressera 2^40 unika fysiska bytes. 2^40 = 1099511627776 vilket gör att processorn kan adressera 1024 GiB minne (en GiB är 2^30 = 1073741824 Bytes). Det är alltså ganska onödigt att i dagsläget använda 64bitar till fysiska adresser då ingen kan bygga en maskin med så stor minnesmängd.

/Hej hopp!

Trädvy Permalänk
Medlem
Registrerad
Jul 2001

Jag har nu fått rätt svar och de ser ut enligt följande:

2^40bit
2^48bit

man delar sedan svaret med 8, sedan med 1024 tre gånger för att få de i gigabytes. Tack för all hjälp.

Trädvy Permalänk
Medlem
Registrerad
Jun 2006

Varför skulle du vilja dela svaret i 8? Det är ju inte så att du kan adressera varje BIT i minnet... Man adresserar en hel byte, alltså kan du ha så många byte som du har adresser...

/Hej hopp!

Trädvy Permalänk
Medlem
Plats
Tellus
Registrerad
Apr 2005

Sen har ju alla moderna 32-bitars x86-processorer 36-bitars minnesadressering (PAE).

Då kan man använda 64 Gb ram (2^36=68719476736 byte)
68719476736 byte/1024^3=64 Gb

Bastun skall vara varm när kylan drar in över kalfjället.

Trädvy Permalänk
Avstängd
Plats
Eslöv
Registrerad
Maj 2005
Citat:

Ursprungligen inskrivet av ripex
Jag vill rent tekniskt få ut hur mycket den kan adressera, oavsett om man kör Windows XP eller Vista. Men det ligger kanske något i de du säger!

Nej det ligger väldigt lite i det han skrev. Faktiskt inget alls. Det hade varit mycket bättre om han inte hade skrivit något alls

Trädvy Permalänk
Medlem
Registrerad
Jul 2001

Problemet är löst nu hur ni än vrider och vänder på det.