Este o extensie a x86-arhitectura, are compatibilitate aproape plin.
Microsoft și Oracle folosit pentru a afișa un anumit set de termenul «x64» instrucțiuni, deși directorul cu fișiere în distribuții Linux se numește «AMD64» (în cazul arhitecturii x86, denumit în continuare «i386»).
Până în prezent, x86-64 platformă suportă următoarele companii:
- AMD. Procesoarele Z-Series, C-series, seria G, seria E, 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, Sempron cel mai recent model;
- Intel. implementează platforma, folosind numele «Intel 64» ( «EM64T» și «IA-32e»). Ulterior modelele Pentium 4 procesor, o serie Pentium D, Pentium Extreme Edition, Celeron D, Celeron G-series, Celeron seria B, Pentium Dual-Core, Pentium T-series, Pentium seria P, Pentium seria G, Pentium B- seria, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3, Core i5, Core i7, Atom și Xeon;
- VIA. Nano, Eden, QuadCore.
Există mai multe variante ale numelui acestei tehnologii. Uneori, contradicțiile din denumirea platformei în fiecare companie a crea o confuzie generală. Încercați să înțeleagă terminologia:
În prezent, cele mai frecvente nume apar: «x 64», «x86-64» și «AMD64». Uneori derutează AMD utilizatorii - inclusiv refuzul de a folosi distribuții OS native: utilizatorul nu este sigur dacă pentru a rula pe versiunea selectată a procesorului AMD. De fapt, distribuitorii de software-ul folosit doar numele AMD64 pentru a sublinia faptul că AMD a fost un pionier in dezvoltarea acestei tehnologii.
De multe ori, utilizatorii înșiși confuz arhitectura Intel 64 IA-64. Este important să ne amintim că Intel 64 și IA-64 - este total diferit, incompatibile cu fiecare alte platforme:
- 64. Reprezentanții Intel Pentium 4, cea mai recentă versiune a unor modele Celeron D, Core 2 gama, Core i3, Core i5, Core i7, Intel Atom, unele modele;
- Reprezentanți ai IA-64. Familia și Itanium 2 procesoare Itanium.
Există două moduri de funcționare a acestei arhitecturi:
Modul „lung“, fiind nativ pentru mașinile pe AMD64, vă permite să profite de toate arhitectura figuranți. Pentru a activa acest mod, este necesar sistemul de operare pe 64 de biți. De exemplu, Windows 7 x64 sau o versiune pe 64 de biți de tip UNIX, cum ar fi sistemele (GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Mac OS X - versiunea 10.4.7 și mai mare).
Modul „lung“ nu conține o parte din „rudimente“ x86-arhitectura. De exemplu, 8086 modul virtual, segmentat modelul de memorie, multitasking hardware, și așa mai departe.
Modul „lung“ are o caracteristică luminos: activarea sa se face prin setarea CR0.PG. de pavilion Este folosit pentru a activa paginarea MMU (daca este permis pentru a comuta (EFER.LME = 1). În cazul în care comutatorul este inacceptabilă, permițând MMU are loc în modul „ereditar“.
Astfel, performanța de cod pe 64 de biți la o conversie pagină interzisă nu este posibil, ceea ce conduce la anumite dificultăți în programare, pentru că atunci când trecerea de la o „lungă“ în modul „ereditar“ (și invers) necesită o dublă resetare MMU. Pentru a face acest lucru, comutați codul ar trebui să fie identic cu pagina afișată.
Acest mod se numește „moștenire“ pentru motivul care permite procesorului AMD64 pentru a rula instrucțiuni care sunt proiectate pentru x86-procesoare. În plus, ca parte a activării modului de care are compatibilitate deplină cu codul de 32 de biți și sistemul de operare corespunzător.
Procesorul în modul „ereditar“, funcționează în același mod ca un standard x86-procesor. Caracteristici suplimentare disponibile pentru arhitectura AMD64 devine inactivă.
La activarea acestui mod, program de 64 de biți și sistemul de operare asociat nu va funcționa.
caracteristici
Platforma x86-64 include:
- Șaisprezece întreg pe 64 de biți registre de uz general (RAX, RBX, RCX, RDX, PFR, RSI, CDI, RSP, R8 - R15);
- Opt 80 biți registre în virgulă mobilă (ST0 - ST7);
- Opt 64-biți înregistrează extensii multimedia (MM0 - MM7, un spațiu comun cu registrele ST0 - ST7);
- Șaisprezece 128-bit înregistrează SSE (XMM0 - XMM15);
- 64-biți pointer și PAR 64-biți steaguri registru RFLAGS.
segmentarea
În timpul creării arhitecturii x86-64, experții companiei AMD au ajuns la decizia de a elimina complet cu principalul „vestigiu arhitectura» x86 - segmentate modelul de memorie. Ea a menținut chiar și în vremuri de 8086/80286.
Când creați o nouă versiune a produsului de virtualizare, programatori VMware a găsit o serie de dificultăți insurmontabile. Obstacole întâlnite în timpul punerii în aplicare a unei mașini virtuale pentru sistemele pe 64 de biți. Pentru a separa codul de monitor al codului „invitat“, programul aplicat mecanismul de segmentare, dar această sarcină nu a fost niciodată pusă în aplicare în practică.
După o serie de experimente nereușite, AMD a reluat versiunea limitată a memoriei segmentului (începând cu arhitectura AMD64 revizuire D). Acest lucru a făcut posibilă pentru a rula sisteme de operare pe 64 de biți în mașini virtuale. Intel a devenit nu urmeze exemplul. Pentru a pune în aplicare controalele procesor pentru pornirea unui sistem de operare pe 64 de biți de oaspeți, VMware oferă produse de utilitate specială.
LAHF și SAHF echipa. cut inițial au fost returnate la comenzile de sistem, datorită utilizării lor extinse în software-ul de virtualizare.
Odată cu dezvoltarea de virtualizare hardware (Intel VT, AMD-V), nevoia de segmentare se pierde.