AMD64 (dar și x86-64 / Intel64 / EM64T / x64) - arhitectura microprocesor pe 64 de biți și un set de instrucțiuni corespunzătoare dezvoltat de AMD. Aceasta arhitectura x86 extensie cu compatibilitate complete. set de instrucțiuni x86-64 este acceptat în prezent procesoare AMD Athlon 64. Athlon 64 FX. Athlon 64 X2. Phenom. Turion 64. Sempron. Acest set de instrucțiuni a fost licențiat concurent principal AMD - acum EM64T (Intel 64) (cunoscut anterior ca EM64T și IA-32e), în mai târziu modele Pentium 4. procesoare precum și Pentium D. Pentium Extreme Edition. Celeron D. Core 2 Duo, iar Microsoft și Sun Microsystems sunt folosite pentru a face referire la termenul set de instrucțiuni x64, cu toate acestea, un director cu fișiere pentru arhitectura Microsoft numita distribuție ar amd64 (I386 Wed. pentru arhitectura x86).
Cum de a apela
Există mai multe variante de nume ale acestei tehnologii, ceea ce duce uneori la confuzii și poate induce în eroare utilizatorul.
Astăzi, cele mai frecvente sunt AMD64, x86-64 și x64. Uneori face referire la AMD este înșelătoare, în măsura în care acestea refuză să descarce distribuțiile OS versiuni native, invocând faptul că, în versiunea lor de procesoare Intel a AMD nu va merge. De fapt, distribuitorii de software amd64 folosesc numele doar pentru că AMD a fost un pionier in dezvoltarea acestei tehnologii. Se întâmplă că utilizatorii confuz arhitectura Intel 64 IA-64 descărcarea din greșeală software-ul pentru această arhitectură, și a fost surprins să constate că programul nu pornește. Pentru a evita astfel de erori, ar trebui să ne amintim întotdeauna că Intel și 64. Intel 64 reprezentanți - un Pentium 4 (ultimul model), o serie de modele de Celeron D. Core 2 și Intel Atom sunt unele modele. Reprezentanții IA-64 - o familie de 2 procesoare Itanium.
Moduri de funcționare
procesoare arhitectura sprijină două moduri de funcționare: modul lung ( «lungă» modul) și modul Legacy ( «moștenit“ modul de compatibilitate pentru x86).
Modul „lung“ - „nativ“ pentru procesoare AMD64. Acest mod vă permite să profite de toate caracteristicile avansate oferite de arhitectura AMD64. Pentru a utiliza acest mod necesită un sistem de operare pe 64 de biți. de exemplu, Windows XP Professional x64 Edition, Windows Vista x64 sau pe 64 de biți versiuni de GNU / Linux. Solaris (32/64 smeshanaja asamblate cu diferite nuclee de procesoare pe 32 de biți și 64 de biți), Mac OS X (amestecat 32/64 cu ansamblul de kernel pe 32 de biți de la versiunea 10.4.7). Acest mod vă permite să rulați programe pe 64 de biți; De asemenea, (pentru compatibilitate inversă) oferă suport pentru rularea de cod pe 32 de biți, cum ar fi aplicații pe 32 de biți, dar programele pe 32 de biți nu se poate utiliza un sistem de biblioteci pe 64 de biți, și vice-versa. Pentru a face față acestei probleme, cele mai multe dintre sistemele de operare pe 64 de biți oferă două seturi de fișiere de sistem necesare - una pentru aplicații pe 64 de biți nativ, și un alt - pentru programele pe 32 de biți. (Aceeași procedură sistemele pe 32 de biți timpurie utilizate - de exemplu, Windows 95 - pentru a efectua aplicații pe 16 biți). În timpul „lung“, a desființat un număr de „vestigii“ Arhitectura 8086, modelul de memorie segmentată (cu toate acestea, a rămas posibilitatea de a folosi FS și pe segmente de GS, este util pentru a gasi rapid fluxul mare de date la comutarea sarcinilor), multitasking hardware. precum și un număr de comenzi ca implementarea oportunităților și abolite de lucru cu BCD-numere, care nu au fost utilizate în noile programe. Printre caracteristicile modului „lung“, trebuie remarcat faptul că acesta este activat prin setarea de pavilion CR0.PG, care este folosit pentru a activa paginare MMU (cu condiția ca o astfel de comutare este permisă (EFER.LME = 1), în caz contrar se întâmplă doar includerea în MMU modul „ereditar“). Astfel, imposibil de a transporta cod pe 64 de biți, cu transformarea paginată interzise. Acest lucru creează dificultăți în programare, pentru că atunci când trecerea de la o „lungă“ în „ereditar“ modul și vice-versa (de exemplu, pentru a apela funcțiile DOS, un monitor de mașină virtuală., Și așa mai departe. D.) Necesită o dublă reseta MMU, pentru care codul de comutare trebuie să fie în mod identic a fost afișat în pagină.
Modul Legacy
Acest mod „ereditar“ permite procesorului să execute instrucțiuni AMD64 concepute pentru procesoarele x86, și oferă compatibilitate completă cu 32 de sisteme de cod și de operare / 16-biți. În acest mod, procesorul se comportă exact la fel ca și x86-procesor, cum ar fi Pentium 4 și funcțiile suplimentare furnizate de arhitectura AMD64 (de exemplu, registre suplimentare) nu sunt disponibile. În acest mod, programele pe 64 de biți și sistemul de operare nu va funcționa (cu excepția cazului, desigur, nu este utilizat de virtualizare).
Caracteristici ale arhitecturii
Arhitectura x86_64 are:
- Integer 16 64 biți registre de uz general (RAX, RBX, RCX, RDX, PFR, RSI, CDI, RSP, R8 - R15),
- 8 80-bit registre în virgulă mobilă (ST0 - ST7),
- 8 registre de 64 de biți (MM0 - MM7, au un spațiu comun cu registrele ST0 - ST7),
- 16 registre de 128 de biți
- 64-biți pointer și PAR 64-biți steaguri registru RFLAGS.
Modelul de moarte și renaștere segmentul de organizare de memorie
Dezvoltarea arhitectura x86-64, inginerii AMD a decis să pună capăt pentru totdeauna în principal „vestigiu“ al arhitecturii x86 - segmentat modelul de memorie, care a fost moștenită de la momentul 8086/80286. Cu toate acestea, după cum sa dovedit, acestea sunt foarte fierbinți. Arhitectura a devenit complet non-virtualizat. La elaborarea noua versiune a produsului său pentru compania de virtualizare VMWare programatori se confruntă cu dificultăți insurmontabile în punerea în aplicare a mașinilor virtuale pe 64 de biți. Pentru că, pentru a separa codul de monitor al codului de program „invitat“ pentru a utiliza mecanismul de segmentare, această sarcină a devenit aproape imposibilă. Realizând greșeala lui, AMD recâștigat versiune limitată a organizației de memorie segment începând cu o arhitectura AMD64 revizuire D, care permite de a rula sisteme de operare pe 64 de biți în mașini virtuale. VMWare ofera impreuna cu produsele sale o utilitate specială. De asemenea, trebuie remarcat faptul că inițial a venit „sub cuțit» LAHF și echipa SAHF care utilizează în mod activ software-ul de virtualizare, iar apoi au fost returnate la sistemul de comandă. Odată cu proliferarea de virtualizare hardware (Intel VT, AMD-V) necesitatea de a re-segmentare dispar treptat, dar este încă în mod activ VMWare folosește, și suport pentru AMD-V, chiar și astăzi nu este produsele sale.