X86-64
x86-64 (també conegut com a x64, x86_64, AMD64) és la versió de 64 bits del conjunt d'instruccions x86. Soporta una cantitat molt major de memòria virtual i memòria física de lo que li és possible als seus predecessors, permetent als programes almagasenar grans cantitats de senyes en la memòria. x86-64 també proveïx registres d'us general de 64 bits i moltes atres millores. L'especificació va ser creada per AMD, i ha segut implementada per AMD, Intel, VIA i uns atres. És totalment retrocompatible en el còdic x86 de 16 i 32 bits.[1] <span title="Erro en la seqüencia d'órdens: no existix el mòdul «DecodeEncode».">: Plantilla:R/where Degut a que el joc d'instruccions x86 complet de 16 bits i 32 bits està implementat en hardware sense cap tipo d'emulació, els programes eixecutables x86 existents poden córrer sense cap tipo de penalisació de velocitat o compatibilitat,[2] mentres que les aplicacions existents que varen ser recodificades per a aprofitar les característiques del nou processador, poden alcançar millores en el rendiment.
Abans del llançament, es varen usar els noms "x86-64" i "x86_64" per a referir-se al joc d'instruccions. Despuix de la publicació, AMD ho va cridar "AMD64".[3] Intel inicialment va usar els noms IA-32i i EM64T abans d'utilisar "Intel 64" per a la seua implementació. Alguns, inclós Apple,[4][5][6] usen "x86-64" i "x86_64", mentres que uns atres, notablement Sun Microsystems[7] (ara Oracle Corporation) i Microsoft,[8] usen "x64" mentres que la família de sistemes operatius BSD i moltes distribucions Linux[9][10] usen "AMD64".
El processador AMD K8 va ser el primer en implementar esta arquitectura; va ser el primer en realisar un agregat important a l'arquitectura x86 dissenyada per una atra companyia que no era Intel. Intel es va vore forçada a seguir el seu eixemple i llançar una família NetBurst modificada la qual era totalment compatible en software en l'especificació i el disseny d'AMD. VIA Technologies va introduir el x86-64 en la seua arquitectura VIA Isaiah en el VIA Nano.
L'especificació x86-64 és diferent de l'arquitectura de l'Intel Itanium (antigament "IA-64"), la qual no és compatible en el joc d'instruccions natiu de l'arquitectura x86.
Visió general
[editar | editar còdic]Es tracta d'una arquitectura desenrollada originalment per AMD a partir de l'arquitectura x86, i implementada baix el nom de AMD64. El primer processador (per a computadores personals) en soport per a este conjunt d'instruccions va ser l'Opteron, llançat en abril de 2003. Posteriorment ha segut implementat en múltiples variants del Athlon 64 i posteriors.
L'empresa Intel va desenrollar una arquitectura compatible baix el nom Intel 64 (abans EM64T). La qual ha segut utilisada en el Pentium 4 i posteriors microprocessadorés de la companyia.
Descripció de l'arquitectura
[editar | editar còdic]El conjunt d'instruccions de l'AMD x86-64 (renombrado posteriorment com a AMD64) és una extensió directa de l'arquitectura del x86 a una arquitectura de 64 bits, motivat pel fet de que els 4GB de memòria que són direccionables directament per una CPU de 32 bits ya no són suficients per a totes les aplicacions. Alguns dels canvis:
- Nous registres. El número de registres de propòsit general s'ha incrementat de 8 en els processadors x86-32 a 16, i el tamany de tots estos registres s'ha incrementat de 32 bits a 64 bits. Adicionalment, el número de registres MMX de 128 bits (usats per a les instruccions esteses SIMD) s'ha incrementat de 8 a 16. Els registres adicionals incrementen el rendiment.
- Registres MMX (SSE) adicionals: Igualment el número de registres de 128 bits (usats per a les instruccions SSE) han aumentat de 8 a 16.
- Espai de direccions major. Per l'arquitectura de 64 bits, l'arquitectura AMD64 pot direccionar fins a 16 exabytes de memòria. Les implementacions futures de l'arquitectura de l'AMD64 pot proporcionar fins a 2 exabytes de memòria disponible. Si la paginació de memòria s'utilisa correctament, els sistemes operatius de 32 bits podrien tindre accés a algunes de les extensions de direcció físiques sense tindre que realisar l'eixecució en modo llarc (long).
- Instrucció d'accés a senyes relativa a la busca: Les instruccions ara poden fer referències relatives a la busca d'instruccions (registre RIP). Açò permet crear còdic independent de la posició que permet un còdic molt més eficient en biblioteques dinàmiques i còdic carregat en temps d'eixecució.
- Cridades al sistema més ràpides. Degut a que la segmentación no està soportada en el modo de 64 bits, les cridades al sistema no tenen les latencias associades en almagasenar i recuperar l'informació de segmentación ni tenen que realisar les comprovacions necessàries de protecció a nivell de segmentación. Per lo tant, AMD ha introduït un nou interfaç de cridades al sistema, al que s'accedix utilisant solament l'instrucció "SYSCALL". Encara que els sistemes operatius encara poden utilisar el sistema d'interrupcions per a les cridades al sistema, en el modo de 64 bits utilisar "SYSCALL" és més ràpit.
- Instruccions SSE. L'arquitectura AMD 64 inclou les extensions d'Intel SSE i SSE2, les últimes cpus inclouen les instruccions SSE3 i alguns també les SSE4. També estan soportades les instruccions del x86 i MMX.
- Bit NX. El bit NX és una característica del processador que permet al sistema operatiu prohibir l'eixecució del còdic en àrea de senyes, millorant la seguritat. Esta característica està disponible en els modos de 32 i 64 bits, i està soportada per Linux, Solaris, Windows XP SP2, Windows Server 2003 SP1.
Modos de funcionament
[editar | editar còdic]| Modo de funcionament | Requerit pel Sistema Operatiu | És necessària la recompilación de l'aplicació | Tamany per defecte del direccionament | Tamany per defecte dels operants | Extensions del registre | Tamany típic del Registre de Propòsit General | |
|---|---|---|---|---|---|---|---|
| Modo llarc | Modo 64 bits | BAIX nous de 64 bits | sí | 64 | 32 | sí | 64 |
| Modo de compatibilitat |
no | 32 | no | 32 | |||
| 16 | 16 | 16 | |||||
| Modo de Herència |
Modo protegit | BAIX de 32 bit heretats | no | 32 | 32 | no | 32 |
| 16 | 16 | ||||||
| Modo 8086 virtual | 16 | 16 | 16 | ||||
| Modo real | BAIX de 16 bit heretats | ||||||
Explicació del modo de funcionament
[editar | editar còdic]Hi ha dos modos primaris d'operació per a esta arquitectura:
Modo Llarc
[editar | editar còdic]És l'utilisat per alguns BSDs, GNU/Linux (x86_64), Solaris 10, i per les edicions de 64 bits de Windows XP Professional, Windows Vista, Windows 7 i Windows 8.
Ya que el conjunt d'instruccions és el mateix, no hi ha una penalisació important en l'eixecució del còdic x86. Açò no succeïx en l'arquitectura d'Intel IA-64, a on les diferències en l'ISA subjacent impliquen que l'eixecució de còdic de 32 bits equival a utilisar un processador completament diferent. En tot cas, en AMD 64, les aplicacions de 32 bits del x86 podrien encara beneficiar-se d'una recompilación a 64 bits. Els registres adicionals disponibles en el còdic de 64 bits, poden ser utilisats per un compilador d'alt nivell per a l'optimisació.
Usant el modo llarc, un sistema operatiu de 64 bits pot eixecutar aplicacions de 32 bits i 64 bits simultàneament. També un x86-64 inclou un soport natiu per a eixecutar les aplicacions de 16 bits del x86. Microsoft ha exclós explícitament el soport per a aplicacions de 16 bits en l'edició x64 de Windows XP Professional pels problemes de conseguir que el còdic de 16 bits del x86 puga funcionar en el seu emulador WoW64.
Modo d'Herència
[editar | editar còdic]El modo utilisat pels sistemes operatius de 16 bits, com MS-DOS, i els sistemes operatius de 32 bits, com Windows XP. En este modo, només es pot eixecutar còdic de 16 bits o de 32 bits. Els sistemes operatius de 64 bits com Windows XP Professional x64 i Windows Server 2003 x64 no s'eixecutaran.
AMD64
[editar | editar còdic]Estudi de mercat
[editar | editar còdic]AMD64 representa un canvi en el passat d'AMD el comportament del qual era seguir els estàndarts d'Intel, encara que manté els comportaments anteriors d'Intel estenent l'arquitectura del x86, des dels 16 bits 8086 fins als 32 bits 80386, sempre sense eliminar compatibilitat cap a arrere. L'arquitectura de l'AMD64 estén l'arquitectura de 32 bits del x86 (IA-32) afegint registres de 64 bits, en modos de total compatibilitat de 32 bits i 16 bits per a software ya existent. Inclús el modo de 64 bits permet compatibilitat cap a arrere, facilitant que les ferramentes del x86 com els compiladorés puguen ser adaptades a l'arquitectura AMD64 en un esforç mínim. L'arquitectura de l'AMD64 dispon de característiques com el bit NX.
Implementacions
[editar | editar còdic]Els processadors següents implementen l'arquitectura AMD64:
- AMD 64 (K8 - Kryptonite)
- AMD Phenom 64 Quad
- AMD Athlon 64
- AMD Athlon 64 X2
- AMD Athlon 64 FX
- AMD Opteron
- AMD Turion 64 X2
- AMD Turion 64
- AMD Sempron (tots els que utilisen sockets 754, 939 i AM2)
- AMD Phenom (K10)
- AMD Phenom II
- AMD Athlon II
- AMD FX (Buldòzer, Piledriver, Steamroller, Excavator)
- AMD Ryzen
Intel 64
[editar | editar còdic]Intel 64 (abans coneguda com EM64T) és l'implementació Intel de la tecnologia x86-64.
Història
[editar | editar còdic]Durant molt temps de l'història, AMD ha produït i distribuït processadors basats en els dissenys originals d'Intel, pero en un gir de l'història, Intel, al vore l'oportunitat, va adoptar l'arquitectura x86-64 d'AMD, creada com una extensió de la llínea de processadors x86 propis d'Intel. Com a AMD després renombró la seua arquitectura a AMD64, Intel d'igual manera renombró la seua a Intel 64.
Implementacions
[editar | editar còdic]Esta arquitectura està implementada en els següents models de processadors:
Diferències entre AMD64 i Intel 64
[editar | editar còdic]Encara que existix un alt nivell de compatibilitat a nivell binario, es poden trobar chicotetes diferències entre els dos conjunts d'instruccions. Un eixemple menor és l'afegitó de l'instrucció CMPXCHG16B (que intercanvia dos paraules de 64 bits), una extensió de l'instrucció CMPXCHG8B present en la majoria dels processadors x86 del mercat; els primers processadors AMD no disponien d'esta instrucció, per lo tant tots els processadors EM64T la varen incloure.
Vore també
[editar | editar còdic]Referències
[editar | editar còdic]- ↑ AMD Corporation. «amd. com/wordpress/media/2012/10/24593_apm_v2. pdf Volume 2: System Programming» (PDF). AMD64 Architecture Programmer's Manual. AMD Corporation. Consultat el 17 de febrer de 2014.
- ↑ IBM Corporation. «archive. org/web/20220125121650/ftp://ftp. software. ibm. com/software/webserver/appserv/was/64bitPerf. pdf IBM WebSphere Application Server 64-bit Performance Demystified». Archivat des d'el software. ibm. com/software/webserver/appserv/was/64bitPerf. pdf original, el 25 de giner de 2022. Consultat el 9 d'abril de 2010. «"Figures 5, 6 and 7 also show the 32-bit version of WAS runs applications at full native hardware performance on the POWER and x86-64 platforms. Unlike some 64-bit processor architectures, the POWER and x86-64 hardware does not emulate 32-bit mode. Therefore applications that do not benefit from 64-bit features ca run with full performance on the 32-bit version of WebSphere running on the above mentioned 64-bit platforms."»
- ↑ «debian. org/debianamd64faq Debian AMD64 FAQ». Debian Wiki. Consultat el 3 de maig de 2012.
- ↑ «apple. com/library/mac/documentation/developertools/Conceptual/MachOTopics/1-Articles/x86_64_code. html x86-64 Code Model». Apple. Consultat el 23 de novembre de 2012.
- ↑ Plantilla:Man
- ↑ Kevin Van Vechten. «archive. org/web/20200201090447/https://lists. apple. com/archives/Darwin-dev/2006/Aug/msg00095. html re: Intel XNU bug report». Darwin-dev mailing list. Apple Computer. Archivat des d'el apple. com/archives/darwin-dev/2006/Aug/msg00095. html original, el 1 de febrer de 2020. Consultat el 5 d'octubre de 2006. «The kernel and developer tools have standardized on "x86_64" for the name of the Mach-O architecture»
- ↑ «oracle. com/technetwork/server-storage/solaris/overview/solaris10amdopteron-jsp-140575. html Solaris 10 on AMD Opteron». Oracle. Consultat el 9 de decembre de 2010.
- ↑ «archive. org/web/20101212040212/http://www. microsoft. com/windowsserver2008/en/us/64bit-computing. aspx Microsoft 64-Bit Computing». Microsoft. Archivat des d'el microsoft. com/windowsserver2008/en/us/64bit-computing. aspx original, el 12 de decembre de 2010. Consultat el 9 de decembre de 2010.
- ↑ «debian. org/ports/amd64/ AMD64 Port». Debian. Consultat el 23 de novembre de 2012.
- ↑ «archive. org/web/20130603152916/http://www. gentoo. org/proj/en/base/amd64/ Gentoo/AMD64 Project». Gentoo Project. Archivat des d'el gentoo. org/proj/en/base/amd64/ original, el 3 de juny de 2013. Consultat el 27 de maig de 2013.
- Este artícul conté una traducció derivada de «X86-64» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.