Vad är skillnaden mellan 64-bitars och 32-bitars processorer?

Permalänk
Medlem

Vad är skillnaden mellan 64-bitars och 32-bitars processorer?

Väldigt tacksam om någon skulle kunna hitta några användbara länkar.

Jag är framförallt intresserad av vad bit-antaler egentligen anger??

Permalänk
Medlem

bit-talet anger hur stora register det finns i processorn... lite klurigt att förklara om man inte är van att jobba med programmering och kanske framförallt assembler...

register com AX, BX, CX och DX är 16-bitars
EAX och de registren är 32-bitars
vet inte vad 64-bitars-registren kommer heta men det handlar alltså om hur mycket data som kan lagras i varje register

Visa signatur

To program is to understand

Permalänk
Medlem

hmm. Så du menar att den klarar av större operationer under samma klockcykel.
Tex)
en 64-bitars processor på 1Ghz klarar av en dubbelt så stor "operation" som en 32-bitars på 1Ghz klarar?

Med föregående exempel borde en 64-bitars processor vara dubbelt så snabb som en 32-bitars om dom har samma klockfrekvens...

Permalänk
Medlem

Fast MMX, SSE osv. är 64-bits utökningar.

Visa signatur

Perl - Made by Idiots, Java - Made for Idiots, C++ - Envied by Idiots

Permalänk

En 64-bitarsprocessor kan bearbeta tal som är 64 bitar stora på samma gång, medan en 32-bitarsprocessor måste dela upp en sådan operation i flera led...

Men om jag har förstått det rätt så måste programmen vara specialskrivna för 64-bitarsarkitektur för att någon märkbar skillnad ska uppstå. Men de applikationer som kan utnyttja 64-bitarsberäkningar bör då gå cirka dubbelt så snabbt. (Mindre eller mer än dubbelt från fall till fall...)

Permalänk
Avstängd

2 bitar = tal upp till 4
4 bitar = tal upp till 16
8 bitar = tal upp till 256
16 bitar = tal upp till 65536
24 bitar = tal upp till ~16700000
32 bitar = tal upp till ~4300000000
64 bitar = tal upp till ~18000000000000000000

Tycker att fördubblingen av bitarna borde ge en mycket större prestandahöjning. Men det verkar inte ge så värst många procent. Inte i närheten av 100% ökning iaf.

Edit: 64 bitare klarar ju trots allt av 4.3 miljarder gånger högre tal än 32. Då tycker jag det borde bli rejäl skillnad i prestanda.

Permalänk
Hedersmedlem

Men det är inte så värst ofta man använder tal större än 32 bitar, därför blir det nästan ingen prestandaskillnad.
Det enda bra med 64-bits processorer just nu är att de kan ha mer än 4GB minne utan att krångla en massa.

Visa signatur

Nämen hej!

Permalänk
Medlem

Jösses vad ni lallar.
64bit innebär 64 bits instruktionsuppsättning. Helt nytänkande och väldigt intressant. MMX och SSE är knappast 64bitsinstruktioner eftersom de då inte skulle gå att köra på 32bits processorer.
64bitars adresser gör också som Donan sa att man kan adressera mer minne (4500 Terabyte)

Här har du att läsa : http://devrsrc1.external.hp.com/devresource/Docs/Refs/IA64ISA...

Permalänk
Medlem

MMX är registren (mm0 - mm7) är 64-bitars. En bra sak med 64-bitars register är att man kan flytta dubblet så mycket data på nästan samma tid.

Visa signatur

Perl - Made by Idiots, Java - Made for Idiots, C++ - Envied by Idiots

Permalänk
Medlem

Fördelen med MMX är ju att man kan beräkna två 32-bitars tal samtidigt. Dock kräver det att programmeraren har tänkt till, då kompilatorn inte brukar vara så smart så den klarar av att göra det.

Intel C++ Compiler 7 har ju fått bra kritik i forumen på Flipcode.com för att just kunna göra detta, men har ännu inte hunnit testa den. VectorC var ju långt ifrån så bra som man först kunde tro när man läste specsen, men Intel har väl lite mer resurser och info om hur man kodar optimalt för deras CPU.

Alltså måste man koda programmet specifikt för 64-bitars processorer för att kunna utnyttja den möjligheten att beräkna två 32 bits tal samtidigt, eller kompilera om det med en smart kompilator (Intel C++ Compiler 7 finns även i en 64-bits version så det borde inte vara så svårt). Dock gör ju aldrig kompilatorn så optimerad kod som en mänsklig programmerarhjärna.

Sammanfattning, i det optimala fallet är en 64-bitars processor dubbelt så snabb som samma processor i en 32-bits version. Dock kommer det aldrig inträffa, eftersom all kod inte går att "konvertera" så bra. Och eftersom majoriteten av alla program inte är skrivna i assembler (unreal-motorn t.ex. är ju skriven helt i objektorienterad c++-kod med inslag av assembler) blir det upp till kompilatorn att optimera.

Visa signatur

Väskan: Apple PowerBook 12" 1,33GHz 768Mb RAM 80GB HDD
Skrivbordet: P4 2,4GHz, 768 Mb RAM, 120GB HDD, Radeon 9600
Jeansfickan: iPod Mini - SonyEricsson T68i

Permalänk
Medlem

Är det inte så att en 64-bits processors minsta address är ett 64-bitars "ord", eng. WORD, vilket i så fall innebär att hårdvaran hämtar alltid minst 64-bitar från RAM även i de fall programmet adresserat en byte.

Om så vore fallet så blir det ju en del slöseri eftersom man skyfflar mer än det som efterfrågats.

Permalänk
Medlem

rätta mej om jag har fel.... men finns det inte redan 64-bitar processorern..?
gejen är väl den att dom inte fixar 32-bitars proggs lika bra som vanliga prollar eftersom dom måste göra om alla "beräkningar" så d blir 64-bitars... lr???
opteron däremot kommer inte att behöva göra om "beräkningarna" eftersom den kan läsa både och... lr???

Visa signatur

[DESKTOP] FD Define 7XL | VIII Dark Hero (EK-Monoblock) | 5950x | 128GB ECC | RTX3090 (Vector² ABP) | 2*2TB SN850 [SERVER] i5-13400 | 64GB | 108TB (raw)

Permalänk
Medlem

rool:
"Jösses vad ni lallar.
64bit innebär 64 bits instruktionsuppsättning. Helt nytänkande och väldigt intressant. "

Fast "nytänkande" är väl lite att ta i när tex både ultraSparc och digitals alpha funnits sen mitten av 90-talet med 64bit arkitetur. (digitals alpha "finns" dock inte längre, men det är en annan historia).

Generellt är väl nytänkande ganska sällsynt hos PC-datorer (vilket för den skull inte gör dem dåliga).

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk

äh, den ena är 64bits och den andra är 32. Det räcker som svar! (:))

Visa signatur

Workstation: Intel Core i5-10400 | Gigabyte B460M DS3H | 16GB DDR4 | Geforce GTX1660 SUPER 6GB |
Server: Dell R730xd | Intel Xeon E5-2640 | 64GB DDR3 ECC RAM | Dell VMware vSphere ESXi 6.5
NAS: Synology 212J 2x4TB, Synology 218play 2x4TB | MSMCP CCNA1

Permalänk
Hedersmedlem

Tråd sedd, tycker inte det var så farligt.

Permalänk
Medlem

Oj, om jag händelsevis skulle råkat anmäla ett inlägg så var det absolut inte meningen...

(Jag har ovanan att sitta och markera texten medan jag läser den, vilket får effekten att jag ibland trycker på en del knappar av misstag)

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk

OFFt: Oegat, jag med.. Fan va jobbigt det är att läsa annars..

ONt: Jag har -läst- att 64bits preocessorer inte kommer att klara 32-bitars-program, stämmer det?

Visa signatur

!

Permalänk
Medlem

Jag trodde jag var ensam i "Markera-texten-medans-jag-läser-träsket". Borde starta en förening. Anonyma Textmarkörer.

Visa signatur

Jag är inte dum. Jag har bara otur när jag tänker!

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av bluelight
OFFt: Oegat, jag med.. Fan va jobbigt det är att läsa annars..

ONt: Jag har -läst- att 64bits preocessorer inte kommer att klara 32-bitars-program, stämmer det?

Njae, beror på processorn.
IA-32 eller x86 är det som används på vanliga PC. Intels Itanium använder IA-64 och den är INTE kompatibel med x86 så den kan inte köra vanliga 32-bits PC-program, inte utan att emulera iaf.
AMD Opteron/Athlon 64 använder x86-64 och är helt bakåtkompatibel med vanlig x86 och kan köra alla vanliga PC-program och operativsystem utan att behöva emulera något.

EDIT: rool: 64-bitars processorer är knappast revolutionerande eller nytänkande, men IA-64 (Itanium) är det däremot. Den är grymt parallell men all parallellism måste fixas i kompilatorn för att själva processorn ska vara så enkel som möjligt.
Är kompilatorn dålig på att optimera får man dålig prestanda, raka motsatsen till Athlon och Hammer som tuggar i sig vad som helst, optimerat eller inte, rätt snabbt tack vare sin stora "scheduler" som sorterar om instruktioner för bästa prestanda.

Visa signatur

Nämen hej!

Permalänk
Avstängd

Itanium har ju ryssarnas EPIC teknologi. Men Itanium är inte revoutionerande snabb för det.

Permalänk
Avstängd

Lallas gör det friskt i denna tråd. Ingen verkar träffa precis i
prick. Men zmodems inlägg (första svaret) var helt korrekt.
Antalet bitar i processorns register kallas för ordlängd, och
en 32-bitarsprocessor har alltså 32-bitarsregister.
Skillnaden mellan 32- och 64-bitarsprocessorer är alltså att
de vanliga arbetsregisterna är 32, respektive 64 bitar.
Registrerna kallas bl.a. för AX, BX och CX i x86 och får
prefixet 'E' i 32-bitarsläge (EAX, EBX...) i 64-bitarsprocessorer
av typen x86 heter registrerna RAX, RBX...

-Boris-:
Näe, prestandavinsten blir inte långt när dubbelt. Tänk efter!
Hur ofta förekommer tal som måste representeras av 64 bitar?
Ganska sällan. De högst signifikanta bitarna i exempelvis
RAX eller RCX kommer ofta att vara 0.

rool: Instruktionerna kan vara av vilken jäkla ordlängd som helst.
De OPERERAR på 8-, 16-, 32-, 64- eller 80-bitarstal. Eller någon
annan helt godtycklig ordlängd. Visst finns det 64-bitarsregister
i många 32-bitarsprocessorer, MMX är bara ett exempel.
Tillhörande FPU finnes ofta både 64- och 80-bitarsregister.

Adresseringen är inte riktigt relevant, eftersom olika processorer
angriper den på helt olika sätt. Genom registersammanslagning, egna register eller enbart via stack. Just när det gäller x86 har
adressutrymmet med ordlängden att göra, med det är inte
allmän lag.

Visa signatur

http://www.theatlantic.com/national/archive/2012/05/how-the-p...
"If there's a simple lesson in all of this, it's that hoaxes tend to thrive in communities which exhibit high levels of trust. But on the Internet, where identities are malleable and uncertain, we all might be well advised to err on the side of skepticism."

Permalänk
Medlem

Här finns mycket bra information om 64 vs 32-bitars processorteknik (engelska)
:http://www.anandtech.com/cpu/showdoc.html?i=1815&p=1

Visa signatur

”Han dolde sin dumhet bakom en mur av kunskaper.” N.F. Nielsen
Årsaken till den ekonomiska krisen.

Permalänk
Hedersmedlem

Tänk på att man skulle kunna göra en processor med 32-bits register men som bara kan räkna 16 bitar åt gången och kalla den för "32-bit".
Motorola gjorde en sån och döpte den till 68000.

Häng inte upp er så mycket på hur många bitar processorn "är på" och kolla istället vad den har för fördelar/nackdelar jämfört med föregångarna eller konkurrenterna.

På Hammer är själva systemet med inbyggd minneskontroller och HT-länkar mycket intressantare än att den kallas för "64-bit".

Visa signatur

Nämen hej!