
AMD64 (myös nimillä x86-64, x86_64 ja x64) on AMD:n kehittämä 64-bittinen suoritinarkkitehtuuri, joka suunniteltiin kehitysaskeleeksi 32-bittisestä x86-arkkitehtuurista. Vanhoja 16- ja 32-bittisiä real mode- ja protected mode-ohjelmia varten suorittimessa on vielä mukana niille tukea säilyttäen yhteensopivuuden vanhoille ohjelmille. 64-bittiset ohjelmat suoritetaan long mode -tilassa. Intelillä oli kilpaileva EM64T-arkkitehtuuri, jota Intel muokkasi täyteen AMD64-yhteensopivuuteen lisäämällä LAHF- ja SAHF-käskyt.
AMD ilmoitti arkkitehtuurista vuonna 1999 ja julkaisi määrittelyn vuonna 2000. Se toteutettiin ensimmäisen kerran vuonna 2003 julkaistuissa AMD Opteron ja AMD Athlon 64 -suorittimissa. AMD64 -käskykanta oli ensimmäinen merkittävä lisäys x86-arkkitehtuuriin, joka oli jonkun muun yhtiön kuin Intelin tekemä. Intelin oma strategia 64-bittisyyteen siirtymiseksi oli julkaista Intel Itanium -arkkitehtuuri IA-64-käskykannalla, joka ei ollut alaspäin yhteensopiva ja jossa aikaisemmat PC:n käyttöjärjestelmät ja ohjelmat eivät siis toimineet. Intel joutui myös ottamaan käyttöön AMD64 -käskykannan, ensi kertaa vuonna 2004 NetBurst-mikroarkkitehtuurin Prescott-versiossa (Pentium 4). Intel käytti tästä kuitenkin nimeä EM64T ja Microsoft neutraalia x64-nimeä. VIA Technologies käytti AMD64-käskykantaa VIA Isaiah -arkkitehtuurissaan (VIA Nano -prosessori).
Intel ja AMD ovat sopineet ristiin lisensoinnista, jolloin myös Intel käyttää AMD64-tilaa prosessoreissaan.
Intel lisensoi AMD:lle oikeuden käyttää alkuperäistä x86 arkkitehtuuria.
Vuonna 2009 AMD ja Intel sopivat useita lakikiistoja ja erimielisyyksiä jatkaen ristiinlisensointisopimuksia.
Samalla piirillä on legacy-mode tuki IA-32 käskykannalle. Kun prosessori toimii long-mode tilassa tietyt erot tulevat voimaan.
Ohjelmien suorituksessa long mode -tilassa on käytössä uusi ABI, muutoin käytössä on vanha yhteensopivuustila.
AMD64-yhteensopiva 64-bittinen käskykanta vaati jo määritelmien mukaan SSE ja SSE2 -tuen. 32-bittistä liukulukukäskykantaa x87 tai MMX-käskyjä ei vaadita, mutta kaikki suorittimet toteuttavat ne silti.
Käskykantaa on sittemmin laajennettu vielä SSE3- ja SSE4-käskyillä ja AVX-käskyillä laajentamalla SIMD-rekisterit 256-bittisiksi, joilla voi laskea neljää 64-bittistä liukulukua tai kahdeksaa 32-bittistä liukulukua rinnan. AVX2 eli Haswell New Instructions mahdollisti kokonaislukujen käsittelyn 256-bittisissä SIMD-rekistereissä.
AVX/AVX2-käskyt toteuttavaa käskykantaa on nimitetty x86-64-v3 -mikroarkkitehtuuriksi. On tehty suunnitelmia, että tämä vuonna 2013 Intelin "Haswell"-prosessorissa julkaistu ja AMD Excavatorissa toteutettu käskykanta otettaisiin pienimmäksi vaadituksi käskykannaksi, etenkin palvelimiin suunnatuissa käyttöjärjestelmissä.
| Toimintatila | Vaadittu käyttöjärjestelmän tyyppi | Sovellusten uudelleenkääntäminen tarvitaan | Osoitteen oletuskoko | Operandin oletuskoko | Rekisterilaajennukset | Tyypillinen yleiskäyttöisen rekisterin koko | |
|---|---|---|---|---|---|---|---|
| Long mode | 64-bittinen tila | Uusi 64-bittinen käyttöjärjestelmä | kyllä | 64 | 32 | kyllä | 64 |
| Yhteensopivuustila | ei | 32 | ei | 32 | |||
| 16 | 16 | 16 | |||||
| Legacy Mode |
Suojattu tila | Vanha 32-bittinen käyttöjärjestelmä | ei | 32 | 32 | ei | 32 |
| 16 | 16 | ||||||
| Virtuaalinen 8086-tila | 16 | 16 | 16 | ||||
| Reaalitila | Vanha 16-bittinen käyttöjärjestelmä | ||||||