Windows x64 eller x86 - hvilken skal jeg installere? Hvordan adskiller ARM-arkitekturen sig fra x86?-enheder, der kører på x86 og x64.

x86-64 (x64/AMD64/Intel64/EM64T)— hardwareplatform. Forfatteren af ​​teknologien er AMD. Platformen er designet til at køre 64-bit applikationer.

Det er en udvidelse af x86-arkitekturen og er næsten fuldstændig bagudkompatibel.

Microsoft og Oracle bruger udtrykket "x64" til at angive dette sæt instruktioner, selvom mappen med filer i Linux-distributioner kaldes "amd64" (i tilfælde af x86-arkitektur, kaldet "i386").

I dag understøttes x86-64-platformen af ​​følgende virksomheder:

  • AMD: processorer Z-serien, C-serien, G-serien, E-serien, E1, E2, A4, A6, A8, A10, FX, Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon II, Phenom, Phenom II , Turion 64, Turion 64 X2, Turion II, Opteron, nyeste Sempron-modeller;
  • Intel: implementerer denne platform ved at bruge navnet "Intel 64" EM64T" og "IA-32e"). Seneste processormodeller Pentium 4, Pentium D-serien, Pentium Extreme Edition, Celeron D, Celeron G-serien, Celeron B-serien, Pentium Dual-Core, Pentium T-serien, Pentium P-serien, Pentium G-serien, Pentium B- serier, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3, Core i5, Core i7, Atom og Xeon;
  • VIA: Nano, Eden, QuadCore.


Navn

Der er flere variationer af navnet på denne teknologi. Nogle gange skaber modsætninger i navngivningen af ​​platformen i hver enkelt virksomhed generel forvirring. Lad os prøve at forstå terminologien:

  • x86-64 - den originale version af navnet, som AMD offentliggjorde den første foreløbige specifikation under.
  • x64 — navnet på Windows- og Solaris OS-versionerne. Brugt som navn for arkitekturen i Microsoft og Sun Microsystems.
  • AA-64 (AMD Architecture 64)- navnet på arkitekturen, hvis forfatter var en velkendt uofficiel opslagsbog sandpile.org ligner IA-64.
  • Hammer arkitektur - navnet er baseret på de første processorkerner, der understøttede denne arkitektur - Clawhammer og Sledgehammer.
  • AMD64 - navnet på teknologien givet af udvikleren - AMD. Dukkede op efter udgivelsen af ​​de første Clawhammer og Sledgehammer processorer. I øjeblikket er dette det officielle navn for implementeringen fra AMD.
  • Yamhill teknologi - det primære navn for en lignende teknologi fra Intel. Nogle gange blev navnet CT (Clackamas Technology) også fundet.
  • EM64T (Extended Memory 64-teknologi)- det første officielle navn på Intels implementering.
  • IA-32e - navnet blev nogle gange brugt sammen med EM64T. Bruges hovedsageligt til at referere til "lang"-tilstand (omtalt som "IA-32e-tilstand" i Intel-dokumentationen).
  • Intel 64 er det nye officielle navn for Intel-arkitektur, der i øjeblikket er i brug. Intel bevæger sig langsomt væk fra navnene IA-32, IA-32e og EM64T ved at bruge dette. Nu er det det eneste officielle navn for denne arkitektur fra Intel.

I øjeblikket er de mest almindelige navne: "x64", "x86-64" og "AMD64". Nogle gange forvirrer dette AMD-brugere - til det punkt, at de nægter at bruge native OS-distributioner: Brugeren er ikke sikker på, om den valgte version vil fungere på en AMD-processor. Faktisk bruger softwaredistributører kun navnet amd64 for at understrege, at AMD er innovatøren i udviklingen af ​​denne teknologi.

Ofte forveksler brugerne selv Intel 64-arkitekturen med IA-64. Det er vigtigt at huske, at Intel 64 og IA-64 er helt forskellige og inkompatible platforme:

  • Intel 64-repræsentanter: seneste versioner af Pentium 4, nogle Celeron D-modeller, Core 2-linje, Core i3, Core i5, Core i7, nogle Intel Atom-modeller;
  • Repræsentanter for IA-64: Itanium og Itanium 2 familier.


Tilstande

Der er to driftsformer for denne arkitektur:

  • Lang tilstand ("lang" tilstand);
  • Ældre tilstand ("arvelig" ordning).

"Lang tilstand"

Den "lange" tilstand, der er hjemmehørende i AMD64, giver dig mulighed for at drage fordel af alle de ekstra fordele ved arkitekturen. For at aktivere denne tilstand kræves et 64-bit OS. For eksempel Windows 7 x64 eller 64-bit versioner af UNIX-lignende systemer (GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Mac OS X - fra version 10.4.7 og nyere).

Denne tilstand tillader 64-bit programmer at arbejde; derudover er bagudkompatibilitet tilgængelig: der er understøttelse af 32-bit kode til at køre 32-bit applikationer. Men 32-bit programmer har ikke mulighed for at læse 64-bit systembiblioteker og omvendt. For at overvinde disse begrænsninger leverer de fleste 64-bit operativsystemer to sæt nødvendige systemfiler (til native 64-bit applikationer og til deres 32-bit versioner). Den samme teknik blev brugt i tidlige 32-bit-systemer (Windows 95) til at køre 16-bit-programmer.

Den "lange" tilstand indeholder ikke nogle "rudimenter" af x86-arkitekturen. For eksempel virtuel 8086-tilstand, segmenteret hukommelsesmodel, hardware-multitasking osv.

Den "lange" tilstand har en slående funktion: den aktiveres ved at indstille CR0.PG flaget. Den bruges til at aktivere den paged MMU (hvis denne skift er tilladt (EFER.LME=1). Hvis skiftet ikke er tilladt, er MMU'en aktiveret i "legacy" mode.

Det er således umuligt at udføre 64-bit kode med sidekonvertering deaktiveret, hvilket fører til visse vanskeligheder med programmering, fordi når du skifter fra "lang" til "legacy" tilstand (og tilbage), er en dobbelt nulstilling af MMU'en påkrævet. For at gøre dette skal koblingskoden være på den identisk viste side.

"Ældre tilstand"

Denne tilstand kaldes "arvelig", fordi den tillader AMD64-processoren at arbejde med instruktioner, der er designet til x86-processorer. Derudover, som en del af aktiveringen af ​​denne tilstand, leveres fuld kompatibilitet med 32-bit kode og det tilsvarende OS.

En processor i "legacy"-tilstand fungerer præcis som en standard x86-processor. Yderligere funktioner, der er tilgængelige under AMD64-arkitekturen, bliver inaktive.

Når denne tilstand er aktiveret, vil 64-bit programmer og tilsvarende operativsystemer ikke fungere.

Ejendommeligheder

x86-64 (senere AMD64) instruktionssættet udgivet af AMD er en udvidelse af Intel IA-32 (x86-32). En nøglefunktion ved AMD64 er dens understøttelse af 64-bit registre til generelle formål, såvel som 64-bit heltals aritmetiske/logiske operationer og 64-bit virtuelle adresser.

For at adressere registre er der indført særlige "registerudvidelsespræfikser" for kommandoer. Udvalget af koder 40h-4Fh brugt til kommandoer blev valgt specielt til dem INC Og DEC i 32-bit tilstande. INC- og DEC-kommandoer i 64-bit-tilstand er kodet i en almindelig to-byte-form.

x86-64 platformen inkluderer:

  • Seksten 64-bit heltalsregistre til generelle formål (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 - R15);
  • Otte 80-bit flydende kommaregistre (ST0 - ST7);
  • Otte 64-bit multimedieudvidelsesregistre (MM0 - MM7, delt plads med registrene ST0 - ST7);
  • Seksten 128-bit SSE-registre (XMM0 - XMM15);
  • 64-bit RIP-pointer og 64-bit RFLAGS flagregister.


Segmentering

Under skabelsen af ​​x86-64-arkitekturen kom AMD-specialister til beslutningen om endelig at gøre op med det vigtigste "rudiment" af x86-arkitekturen - den segmenterede hukommelsesmodel. Det blev understøttet tilbage i dagene af 8086/80286.

Ved oprettelsen af ​​en ny version af virtualiseringsproduktet opdagede VMware-programmører en række uoverstigelige vanskeligheder. Der opstod problemer under implementeringen af ​​den virtuelle maskine til 64-bit systemer. For at adskille monitorkoden fra "gæstekoden" brugte programmet en segmenteringsmekanisme, men denne opgave blev aldrig implementeret i praksis.

Efter en række mislykkede eksperimenter genoptog AMD en begrænset version af den segmenterede hukommelsesorganisation (startende med revision D af AMD64-arkitekturen). Dette gjorde det muligt at køre 64-bit operativsystemer i virtuelle maskiner. Intel fulgte ikke dette eksempel. For at kontrollere processoren for evnen til at køre 64-bit gæsteoperativsystemer, leverer VMware produkter med et særligt hjælpeprogram.

Hold LAHF Og SAHF, oprindeligt klippet, blev returneret til instruktionssættet på grund af deres aktive brug i virtualiseringssoftware.

Med udviklingen af ​​hardwarevirtualiseringsværktøjer (Intel VT, AMD-V) er behovet for segmentering gradvist tabt.

For mange brugere af Windows-operativsystemet er det ingen hemmelighed, at der er to versioner af det baseret på typen af ​​bitdybde. Disse er 32 bit og 64. Alle skal kende bitdybden af ​​deres styresystem, for når man søger og downloader drivere, programmer og spil, bliver der taget højde for det.

Men der er en vis forvirring med betegnelserne for systemets bitkapacitet, såvel som drivere og programmer. Der er tre betegnelser for to bitstørrelser - x32, x64 og x86. Af denne grund opstår spørgsmålet ofte: er 32-bit versionen x64 eller x86?

Du finder svaret på dette spørgsmål i denne artikel.

Den anden betegnelse for 32-bit versionen af ​​softwaren

For yderligere at eliminere forvirring med hensyn til softwarens bithed, som omfatter operativsystemet, drivere, programmer og spil, skal du huske, at der er to hovedversioner af softwarebithed - 32 bit og 64 bit. 64-bit versionen kan kun betegnes som x64, men 32-bit versionen kan betegnes som både x32 og x86.

Her er et eksempel på betegnelsen af ​​en 64-bit version af en driver til en bærbar computer på dens officielle hjemmeside:

Her er de mulige betegnelser for 32-bit versionen:

Bitkapacitetsbetegnelse på driverwebstedet

Betegnelse for bitdybde i programbeskrivelsen

Ud fra alt ovenstående kan vi konkludere, at 32-bit versionen af ​​softwaren er x86.

x64 angiver en 64-bit version af noget software. Vær venligst opmærksom på dette, når du vælger version af drivere og andre programmer.

For at se, hvilken bithed af dit operativsystem du har, skal du bare højreklikke på "Computer"-ikonet på dit skrivebord og vælge "Egenskaber".

Så nu har du et problem, hvis du skriver et bibliotek, der vil blive brugt af både old-school-kode skrevet med wchar_t defineret som et alias for usigneret kort og new-school-kode skrevet med wchar_t som en separat intern type. Hvilken datatype skal du bruge til strengparametre?

Dette er en oversættelse af The triste historie af Unicode printf-stil format specifikationer i Visual C++.

Windows implementerede Unicode tidligere end de fleste andre operativsystemer. Som følge heraf adskiller Windows-løsninger til mange problemer sig fra dem, der blev lavet af dem, der ventede, indtil støvet lagde sig¹. Det mest fremtrædende eksempel på dette er Windows' brug af UCS-2 som sin Unicode-kodning. Det var dengang den kodning, der blev anbefalet af Unicode Consortium, fordi Unicode 1.0 kun understøttede 65"536 tegn². Unicode Consortium ændrede mening fem år senere, men da var det for sent for Windows, som allerede havde udgivet Win32s, Windows NT 3.1, Windows NT 3.5 , Windows NT 3.51 og Windows 95 - som alle brugte UCS-2³.

Men i dag vil vi tale om printf-stilformatstrenge.

Dette er oversættelsen af ​​Hvis FlushInstructionCache ikke gør noget, hvorfor skal du kalde det, revisited .

Det forventes, at du kalder FlushInstructionCache-funktionen, når du genererer eller ændrer eksekverbar kode under kørslen - så processoren, når den udfører din genererede/modificerede kode, læser de instruktioner, du har skrevet, frem for gamle instruktioner, der kan forblive i processorens instruktion cache.

Tidligere lærte vi det. Dette skyldes, at et simpelt funktionskald var nok til at rydde kommandocachen.

Men i Windows NT udfører FlushInstructionCache-funktionen det rigtige arbejde, fordi den skal give alle andre processorer besked om at tømme deres caches.

Men hvis du ser på Windows 10, vil du opdage, at FlushInstructionCache-funktionen ligner Windows 95-versionen: hun gør ikke noget.

Hvad er der galt?

I dagens artikel vil vi finde ud af, hvilken platform der er bedre egnet til din computer: x64 eller x86(x32)? Når alt kommer til alt stiller mange mennesker sig selv spørgsmålet: hvad er bedre? 32 eller 64 bit version af operativsystemet er op til dig, men jeg tror, ​​det er bedre at vide, hvordan man træffer det rigtige valg!

Da du sikkert allerede har et operativsystem installeret, kan du nemt.

Jeg vil ikke gå ind i det "vilde" med processorevolution og "fyld", men vil forsøge at forklare hovedpunkterne.

Lad os først finde ud af, hvor alle disse arkitekturer og bitdybder kommer fra?

32-bit x86-arkitektur (286-, 386-, 486-kompatible mikroprocessorer) er opkaldt efter deres -86 Slutning. Og x32 og x64 er allerede processorkapaciteten. Derfor er det korrekt at skelne mellem to hovedtyper af arkitekturer: x86 og x64 (x32 er et forkert navn for x86).

Så hvad er forskellen mellem dem?

Dette er forbruget af computerhardwareressourcer. Faktum er, at nogle Intel- og AMD-processorer ikke er designet til x64.
Derudover er x64 designet til mindst 4 GB RAM på din pc. Det er faktisk det, det er udviklet til.
Og for det tredje, hvilken slags belastning oplever computeren under drift? Hvis du er designer, layoutdesigner eller en person, der bruger meget kraftfulde applikationer fra Adobe og andre multimediegiganter, så vil x64 være din prioritet. Hvis du har 4

Så hvad skal du vælge?

Når du vælger en mikroprocessorarkitektur, skal du derfor altid realistisk vurdere din computers kraft og muligheder. Derudover kræver x64-bit systemer deres egne (!) andre drivere end x32. Ja, x64 fungerer muligvis hurtigere, men med sine egne applikationer. Og 32 bits har til gengæld virket og vil fortsætte med at gøre det, uanset hvad det er.

Held og lykke!

Lignende nyheder:


Diverse

Udgivelsesdato: 23/02/2012

I denne artikel vil vi lære, hvad 32 og 64-bit systemer og programmer er, og hvad x86, x64, x32 betyder. Vi beslutter også, hvilket system der skal installeres på din computer eller laptop.

Hvad er det?

Opdelingen i 32 og 64 bit skyldes primært typen af ​​processorer i din computer eller laptop. Tidligere (for mange år siden) var alle processorer i computere 32-bit. Og endnu tidligere var de 8 bit. De der. Jo højere "bit" din processor er, jo hurtigere og bedre løser den alle systemproblemer og udfører operationer hurtigere. Således er 64-bit processorer hurtigere end 32-bit processorer.

Moderne computere har for det meste 64-bit processorer. Om cirka 5 år vil 128-bit processorer dukke op. Videnskab og teknologi står jo ikke stille.

OS

Udover at Windows-operativsystemer kommer i forskellige typer (XP, 7 osv.), er de også opdelt i x86- og x64-versioner. Derfor, hvis du har en 64-bit processor, skal systemet være installeret x64.

Forresten betyder x86 32-bit system. Hvorfor hedder det x86 og ikke x32? Næsten ingen ved dette. Tidligere blev 32-bit systemer skrevet x32. Og så begyndte de at blive kaldt x86, selvom dette ikke ændrede essensen - det er stadig det samme 32-bit system. Efter min mening er sådan en omdøbning intet mere end et snedigt markedsføringstrick for at udgive noget gammelt som noget nyt.

Hvis du installerer et 32-bit OS på en computer med 64-bit arkitektur, vil computeren stadig fungere fint. Og omvendt, hvis du installerer x64 på en 32-bit computer, så vil alt også fungere fint.

Hvad er forskellene?

En af de vigtigste forskelle mellem x86- og x64-systemer er brugen af ​​RAM på din computer. Grænsen for RAM-forbrug for 32-bit systemer er 3 GB. Derfor, hvis din computer eller bærbare computer har mere end 3 GB RAM, vil systemet ikke bruge resten. De der. På en computer med 8 GB RAM vil 5 GB simpelthen ikke blive brugt. Selvfølgelig er der specielle hjælpeprogrammer, der hjælper med at løse dette, men stadig...

Derfor følger hovedreglen herfra: Hvis din computer har mere end 3 GB RAM, skal du installere x64 OS (64-bit) på den.

En anden forskel er, at computerprogrammer også er opdelt i 32 og 64-bit. Hvis du ønsker maksimal ydeevne, skal du installere de relevante programmer på din computer. Dette gælder især for moderne grafiske redaktører.

Hvad er bedre: x86 eller x64?

Efter at have læst ovenstående har du sikkert fået det indtryk, at 64-bit systemer er meget bedre og hurtigere, og derfor er det bedre at installere x64 på alle computere og bærbare computere. Men nej!

Den største ulempe er, at 64-bit programmer bruger meget mere RAM til at fungere. Derfor, hvis du har lidt RAM, så vil det være dumt at installere x64. Derudover skal du tage højde for, at selve OS også bruger en del af RAM'en.

For eksempel:
Du har en computer eller bærbar computer med 2 GB RAM og en 32-bit processor. Du installerer Windows 7 x64 på den. Mange skolebørn kan godt lide at installere 64-bit Windows 7 på alle deres computere (ungdomsmaksimalisme). Lad os nu tælle: 768 MB bruges af Windows 7, plus 64-bit programmer, der også bruger mere RAM. Dermed viser det sig, at du reducerer strømmen af ​​din hardware til et minimum. Derfor er det bedre at installere 32-bit Windows XP på sådan en computer eller bærbar.

Nogle 64-bit applikationer er i øvrigt ustabile. Men sådanne programmer bliver færre og færre.

Konklusion

Hvis du har en kraftfuld og moderne computer med en 64-bit processor og mere end 3 GB RAM, så er du velkommen til at installere Windows 7 x64. Du kan installere XP på svage computere. Der er i øvrigt 64-bit versioner af Windows XP, hvilket er meget praktisk, hvis du har en bærbar computer med 2-3 GB RAM og en 64-bit processor.


Seneste artikler i afsnittet "Computere og internet":


Artikel kommentarer:

Fremragende tankeoverførsel - absolut alt er klart, hvad forfatteren taler om. Og det vigtigste spørgsmål er rejst: at installere software - ikke at installere det?! Men hvordan kan dette underbygges eller afkræftes?! Jeg vil gerne tro på det og acceptere det som en guide! Men modstanderne ser også ud til at lave gode opkald?!

Meget nyttig artikel

Denne artikel er meget forældet og, lad os være ærlige, fuld af fejl. Hun fylder snart 6 år)) Snart vil jeg omskrive den og opdatere den. Hav tålmodighed. I mellemtiden kan du læse beskrivelsen af ​​teknologien på Wikipedia.

Meget godt! Jeg kan lide det.

Tak skal du have! Alt er enkelt og overskueligt)

Hvilken slags lammer skrev denne artikel? Han hentede de bedste tips og forestillede sig, at han var en guru!!! "Hvorfor hedder det x86 og ikke x32? Næsten ingen ved dette. "Oprindeligt havde Intel-processorer 86 kommandoer. Derfor refererer x86 kun til Intel-processorer og deres kloner baseret på 86 instruktioner. Dette tal har intet at gøre med bitdybden, da x64-processorer også indeholder disse kommandoer. Alt andet er også gag og løgn. Windows x32 fungerer godt med RAM større end 4G og endda større end 8G, og også med 16G. Tag windows server x32 for eksempel. Begrænsningen blev lagt på små bløde for at udvide markedet.

Artiklen er meget informativ, tak.

Tak for arbejdet!!! Meget informativ og nyttig artikel!!!+++

Mange tak, alt blev klart! Meget nyttig artikel!

Det er klart, at alt ikke er klart!

Men hvis jeg downloader et program, men de skriver til mig, at det kun er til 64-bit systemer. Hvad betyder det, og hvad skal jeg gøre?

hvilken Windows x86 eller x64 du skal installere, skal du se på hardwaren. Processor og bundkort og følgelig styresystemet. Alt skal kun understøtte én arkitektur. Enten x86 eller x64, fordi de IKKE er KOMPATIBELE med hinanden...

Jeg plejede at have Windows7 32bit, jeg installerede en anden win8, da jeg installerede den, og selvfølgelig valgte jeg 64bit, og det fungerer fint)

X86 eksisterer som sådan ikke, der er x32, der er x64, der er i860 - nummeret på den første kompatible processor. Generelt angiver den nominelle værdi (X) i elektronik kontakter på stik, henholdsvis x32 - 32 indgangskontakter, 64 - 64 kontakter. Men vi bor i Rusland, vær nysgerrig efter, hvilket koncept den berømte IMHO er blevet til. Bliv vant til det!

præcisering til tekstlinjen "Og omvendt, hvis du installerer x64 på en 32-bit computer, så vil alt også fungere fint." - eller computeren nægter at starte under den første genstart ved installation af Windows

Artem, tak, alt er specifikt angivet og klart

Tak for artiklen.

Ikke en dårlig anmeldelse. Generelt er der en række detaljer med understøttelse af 32-bit applikationer på 64-bit. For eksempel tillader wow64, selvom det giver dig mulighed for at køre 32-bit, ikke kodeinjektion. Det er af denne grund, at de fleste programmer, der ændrer Windows Stifinder, ikke starter.

Fortæl mig, på en 64 bit processor med 3 GB RAM, hvilket OS er bedre at bruge: 86 eller 64

Faktisk kan du installere et 64-bit system på 32-bit procent, fordi... 64bit OS kan fungere i 32-tilstand