X86-64 - l

x86-64 (de asemenea x 64 / AMD64 / Intel64 / EM64T) - platforma hardware pe 64 de biți. arhitectura microprocesoarelor și un set de instrucțiuni corespunzătoare și chipset-ul. 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. Phenom II. Turion 64. Opteron. cele mai noi modele de Sempron. Acest set de instrucțiuni sprijinit de Intel (cu adăugări minore) sub numele de Intel 64 (cunoscut anterior ca EM64T și IA-32e) în modelele ulterioare Pentium 4. procesoare precum și Pentium D. Pentium Extreme Edition. Celeron D. Core 2 Duo. Core 2 Quad. Core i3, Core i5, Core i7 si Xeon. Microsoft Corporation și Sun Microsystems folosit pentru a face referire la acest set de instrucțiuni, termenul „x64“, dar fișiere catalog pentru arhitectura din distribuțiile Microsoft numit „amd64“ (cf .. „I386“ 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.


Până în prezent, cele mai frecvente sunt x64, x86-64 și AMD64. 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 64 și IA-64 este un complet diferit, incompatibile cu fiecare alte arhitecturi microprocesor. 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 procesoare Itanium și Itanium 2.

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, Windows 7 x64 sau pe 64 de biți versiuni ale sistemelor UNIX GNU / Linux -like. FreeBSD. OpenBSD. NetBSD (pur 64-biți construi, cu toate acestea, au capacitatea de a rula aplicații pe 32 de biți), Solaris (amestecat 32/64 asamblat cu diferite nuclee de procesoare pe 32 de biți și 64 de biți), Mac OS X (amestec 32/64 cu 32 build nucleu -bit 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 x86. cum ar fi modul virtuale 8086 a modelului de memorie segmentată (cu toate acestea, a rămas posibilitatea de a utiliza segmente de FS și 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, deoarece atunci când trecerea de la un „lung“ în „familial“ modul și invers (de exemplu, pentru a apela funcțiile BIOS și DOS. Monitorului mașină virtuală. Și t. D.) Necesită dublu resetare MMU, pentru care trecerea de cod trebuie să se afle în 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.

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 64-biți înregistrează extensii multimedia (MM0 - MM7, au un spațiu comun cu registrele ST0 - ST7),
  • 16 registre SSE 128 de biți (XMM0 - XMM15),
  • 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. Intel. Cu toate acestea, acest exemplu nu este urmat, și, prin urmare, nici unul dintre procesor care nu acceptă înseamnă virtualizare hardware pentru a rula mașina virtuală pe 64 de biți este imposibilă. Pentru a verifica, dacă este posibil, pe procesorul rula pe 64 de biți OS oaspete sau nu, 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.

articole similare