64-bit (x86-64)
x86-64 este extensia pe 64 de biți a arhitecturii de instrucțiuni x86. Aceasta definește modurile de execuție, registrele și regulile de adresare; nu stabilește de la sine cerințele complete de procesor sau de sistem de operare ale unei aplicații.
Ce trebuie să știți
x86-64 este extensia pe 64 de biți a arhitecturii de instrucțiuni x86. Aceasta definește modurile de execuție, registrele și regulile de adresare; nu stabilește de la sine cerințele complete de procesor sau de sistem de operare ale unei aplicații.
Cum funcționează
În modul pe 64 de biți, registrele de uz general pot conține operanzi pe 64 de biți, iar arhitectura oferă registre suplimentare și un mediu de programare diferit de arhitectura veche x86 pe 32 de biți. Modul de compatibilitate permite unui sistem de operare să accepte aplicații clasice adecvate, dar sistemul de operare decide ce formate de aplicații și interfețe oferă. Un procesor pe 64 de biți nu face ca fiecare instrucțiune să utilizeze date pe 64 de biți.
Unde este utilă
O aplicație compilată pentru ABI-ul x86-64 se așteaptă la mediul de registre, la convenția de apelare și la instrucțiunile de bază ale acelui ABI. Un binar Arm64 este o arhitectură diferită, chiar dacă ambele se descriu ca fiind pe 64 de biți. Translația sau emularea este o facilitate software separată, nu o consecință a faptului de a avea registre pe 64 de biți.
Cum se verifică suportul și activarea
Pentru hardware-ul x86, funcția extinsă CPUID 80000001H, EDX bitul 29 enumeră capacitatea long mode. Un sistem de operare acceptat trebuie să activeze mediul adecvat de paginare și execuție. Inspectați arhitectura sistemului de operare care rulează, precum și capacitatea procesorului.
O capacitate hardware, mediul de operare activ și cerințele binare ale unei aplicații sunt niveluri diferite. Numele de arhitectură și nivelurile ABI ar trebui interpretate ca acorduri explicite, nu ca o regulă generală conform căreia ce este mai nou este compatibil.
Ce nu stabilește această caracteristică
Eticheta de 64 de biți nu stabilește lățimea adreselor fizice sau virtuale implementate, limita de memorie RAM instalată, suportul x86-64-v2/v3/v4, eligibilitatea pentru Windows sau compatibilitatea cu un anumit driver. Verificați fiecare cerință separat.
Compatibilitatea și performanța în practică
Verificați setul complet de cerințe moștenite și mediul efectiv vizibil procesului. Pentru o mașină virtuală, inspectați oaspetele în loc să presupuneți că modelul gazdei este expus neschimbat. O versiune de rezervă (fallback) acceptată ar trebui să își precizeze clar propria linie de bază.
O listă practică de verificare
- Înregistrați modelul exact de procesor sau platformă și versiunile aplicației, sistemului de operare și mediului de execuție (runtime) implicate. Păstrați formularea exactă a erorii sau a cerinței.
- Verificați documentația de referință a producătorului pentru acel model exact, apoi inspectați capacitatea efectivă și starea activată în mediul în care rulează programul.
- Comparați fiecare cerință a binarului sau backend-ului selectat. O caracteristică cu nume similar, un alias sau o etichetă tehnologică generală nu este suficientă.
- Confirmați că aplicația a selectat implementarea dorită. Utilizați diagnosticele documentate ale acesteia și o soluție de rezervă acceptată atunci când cerințele nu sunt îndeplinite.
- Aplicați câte o singură modificare acceptată pe rând și repetați aceeași sarcină de lucru. Păstrați disponibile configurația inițială și calea de recuperare.
Dacă funcția este listată, dar software-ul nu o poate folosi
Începeți cu componenta exactă care eșuează. O bază de date hardware descrie capacitatea înregistrată; sistemul de operare sau hipervizorul poate expune un mediu efectiv diferit. O eroare de tip instrucțiune ilegală (illegal-instruction) necesită, de asemenea, investigarea instrucțiunii reale care a generat eroarea și a versiunii compilate a binarului, deoarece coruperea datelor sau o instrucțiune neacceptată fără legătură poate produce un simptom similar.
Instalați versiunea de aplicație, driver sau mediu de execuție compatibilă exact cu acea platformă și utilizați versiunea de bază sau de rezervă documentată de producător, dacă este necesar. O actualizare software nu poate crea o instrucțiune care îi lipsește procesorului. Modificările de firmware și de politici de securitate ar trebui să respecte procedura producătorului sistemului și un plan de recuperare, mai degrabă decât o rețetă generică de optimizare.
Sursele și domeniul de aplicare al acestei explicații
Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: niveluri de arhitectură și microarhitectură de procesor
Aceste referințe stabilesc comportamentul arhitectural și cerințele software. Ele nu verifică independent fiecare valoare de caracteristică de pe o pagină de model hardware asociată. Pentru suportul la nivel de model, utilizați dovezile furnizate de producător pe acea pagină și verificați configurația efectivă a sistemului. Acest articol nu furnizează date din benchmark-uri, certificări sau recenzii independente.
Surse și verificare
Proprietate editorială: Feex. Nu este înregistrată nicio dată de verificare independentă. Cum cercetăm.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Volumele 1 și 2 descriu familiile de instrucțiuni numite și CPUID; Volumul 3 descrie starea, paginarea, VMX și controalele de protecție. Documentația de arhitectură nu stabilește suportul pentru un anumit model.
- x86-64 psABI: niveluri de arhitectură și microarhitectură de procesor · Machine Interface, Processor Architecture: tabel de caracteristici de bază și cumulative v2/v3/v4, verificări ale stării SO și recomandări de implementare.
A fost util acest articol?
Un da sau nu este suficient. Alegeți un motiv dacă doriți sau adăugați o scurtă notă.
Mulțumim. Acest lucru ne ajută să îmbunătățim această pagină.