x86-64 (AMD64/x64) – 64-bitars arkitektur, kompatibilitet och tillverkare
Upptäck x86-64 (AMD64/x64): 64-bitars arkitektur, bakåtkompatibilitet och ledande tillverkare som AMD, Intel och VIA — allt om prestanda, kompatibilitet och användningsområden.
x86-64 är det allmänna namnet på en serie 64-bitars processorer och deras tillhörande instruktionsuppsättningsarkitektur. Dessa processorer är kompatibla med äldre x86-programvara.
AMD och Intel är de största tillverkarna, och VIA stöder det också med VIA Nano-processorer. De kallar sina egna 64-bitars processorer för AMD64, Intel64 respektive VIA x86-64-processorer. Spelkonsoler som Microsoft Xbox One och Sony PlayStation 4 använder sina egna halvanpassade AMD64-baserade APU:er som huvudprocessorer.
x64 är ett annat namn som används för att hänvisa till 64-bitars utökade system baserade på denna typ av processorer. Folk använder ofta x64 för att hänvisa till den tillhörande instruktionsuppsättningsarkitekturen och processorn.
Historia och namn
Arkitekturen utvecklades av AMD som en bakåtkompatibel 64-bitarsutvidgning av den etablerade x86-arkitekturen. AMD kallade den oftast AMD64, medan Intel införlivade en kompatibel implementation under namnet Intel64 (tidigare EM64T). I vardagligt tal används också beteckningen x86-64 eller kortformen x64.
Tekniska egenskaper
- 64-bitars register och adressering: de allmänna registren (t.ex. RAX, RBX, RSP) är utökade till 64 bitar, vilket möjliggör större tal och pekare.
- Långt läge (Long Mode): den 64-bitarskärnan kallas long mode och innehåller även ett kompatibilitetsläge som gör det möjligt att köra 32-bitars (och i vissa fall 16-bitars) program i en 64-bitars miljö.
- Större adressutrymme: arkitekturen stödjer mycket större virtuell och fysisk adressrymd än 32-bitars x86. Moderna implementationer använder ofta 48 bitars virtuell adressering (vilket motsvarar upp till 256 TiB adressutrymme) medan fysisk adressstorlek kan variera mellan olika CPU:er.
- Fler register: antalet allmänna register ökade från 8 till 16, vilket ofta ger bättre prestanda i kompilatoroptimerade program.
- Instruktionsuppsättningsutökningar: x86-64 omfattar samma SIMD- och multimedieextensioner som finns i x86 (SSE, AVX med flera) samt funktioner som NX/XD-bit för att markera minnesområden som icke-exekverbara och hårdvaruvirtualisering (AMD‑V, Intel VT‑x).
- Liten endian: x86-64 förblir little-endian, vilket innebär att minst signifikanta byten kommer först vid lagring av flerbytesvärden.
Kompatibilitet och drift
x86-64 designades för bakåtkompatibilitet: en 64-bitars CPU kan vanligtvis köra 32-bitars x86-programvara direkt i kompatibilitetsläge. Praktiska konsekvenser:
- 64-bitars operativsystem kräver 64-bitarsdrivrutiner; drivrutiner kompilerade för 32 bit fungerar inte i en 64-bitars kärna.
- Många 64-bitarssystem kan köra 32-bitars användarprogram via kompatibilitetslager eller multilib-paket (t.ex. 32-bitars bibliotek på en 64-bitars Linux-distribution).
- Vissa äldre 16-bitars Windows-program går inte att köra under 64-bitars Windows eftersom WOW16 saknas i 64-bitarsversionen; i sådana fall krävs emulering eller virtuell maskin.
Operativsystem och utveckling
De flesta moderna operativsystem har omfattande stöd för x86-64, bland annat olika distributioner av Linux, Windows (64-bit), och historiskt macOS på Intel-baserade Mac. Kompilatorer och utvecklingsverktyg (GCC, Clang, MSVC) stödjer arkitekturen och utnyttjar dess fler register och instruktioner för bättre prestanda. Det finns också standardiserade ABI:er (t.ex. System V AMD64 för Unix/Linux och Windows x64 för Microsoft), som skiljer sig i argumentplacering och registeranvändning.
Skillnader mellan AMD64 och Intel64
I praktiken är AMD64 och Intel64 mycket lika och kompatibla på instruktionsnivå, men det finns små skillnader i implementation, prestanda, tillägg och mikroarkitektur. Både AMD och Intel lägger till egna förbättringar och extensioner över tiden, men program- och operativsystemsstöd är i stort kompatibelt mellan tillverkare.
Tillämpningar och tillverkare
Förutom vanliga stationära och bärbara datorer används x86-64 i servrar, arbetsstationer och spelkonsoler. Som nämnts ovan är AMD och Intel de dominerande tillverkarna, och även VIA har haft egna x86-64-implementationer. Många inbyggda system, datacenter och lösningar för virtualisering bygger på x86-64 på grund av dess prestanda och stora ekosystem.
För- och nackdelar
- Fördelar: större adressutrymme, fler register, bättre prestanda för många beräkningsintensiva uppgifter, och bred kompatibilitet med befintlig mjukvara.
- Nackdelar: större minnesförbrukning för pekare och vissa datastrukturer, och krav på 64-bitarsdrivrutiner i kernelutrymmet. I vissa fall kan 32-bitars binärer vara mer minnessnåla.
Avslutande kommentarer
x86-64 har blivit standard för persondatorer och servrar tack vare sin bakåtkompatibilitet och effektiva evolution av den etablerade x86-arkitekturen. Trots framväxten av andra arkitekturer (t.ex. ARM) har x86-64 ett mycket stort mjukvaruekosystem och fortsätter vara centralt i många typer av system.
Processorer för stationära datorer
AMD64
- AMD Athlon 64
- AMD Athlon X2
- AMD Athlon II
- AMD Sempron
- AMD Sempron X2
- AMD Phenom
- AMD Phenom II
- AMD FX
- AMD APU A4/A6/A8/A9/A10/A12
- AMD APU Athlon
- AMD APU Sempron
- AMD Ryzen
Intel 64 (EM64T)
- Intel Pentium 4
- Intel Pentium D
- Intel Celeron D
- Intel Pentium Dual Core
- Intel Celeron
- Intel Core 2
- Intel Core i3/i5/i7/i9
- Intel Atom
VIA x86-64
VIA Nano
Operativsystem för skrivbordet
Windows XP Professional x64
Windows Vista/7/8/8.1/10 x64
Mac OS X 10.4.7 och senare
Solaris 10 och senare
Linux 2.4.x och senare
Sök