Permalänk
Medlem

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.

Permalänk

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.

Visa signatur

Asus ROG Crosshair VIII Dark Hero...AMD Ryzen 7 5800X @ 4600MHz / 1.23V...Hyte Y60
G.Skill Trident Z RGB 2x16GB 3600MHz CL14...Sapphire Radeon RX 7900XT Pulse Gaming OC
LG 34'' UltraGear 34GN850...Logitech MX Keys...Logitech MX Master 3S...Corsair RM750x
Kingston KC3000 2TB M.2 + Kingston KC3000 4TB M.2...Filserver - WD Gold 6TB x 4 + Seagate IronWolf PRO 8TB x 4

Permalänk
Medlem

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!

Permalänk
Medlem
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.

Visa signatur

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

Permalänk

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

Visa signatur

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

Permalänk
Medlem

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?

Permalänk
Medlem
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?

Permalänk

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.

Visa signatur

/Hej hopp!

Permalänk
Medlem

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.

Permalänk

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...

Visa signatur

/Hej hopp!

Permalänk
Medlem

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

Visa signatur

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

Permalänk
Avstängd
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

Permalänk
Medlem

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