AMD64
AMD64 (myös nimillä x86-64, x86_64 ja x64) on AMD:n kehittämä 64-bittinen suoritinarkkitehtuuri. AMD64 rinnastetaan yleisesti Intelin vastaavan 64-bittisen EM64T-arkkitehtuurin kanssa. Vanhoja IA-32-tilan ohjelmia varten piirillä on mukana niitä tukeva käskykanta säilyttäen yhteensopivuuden vanhempien ohjelmistojen kanssa.
AMD ilmoitti arkkitehtuurista vuonna 1999[1] ja julkaisi määrittelyn vuonna 2000.[2]
Lisensointi
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.[3][4]
Vuonna 2009 AMD ja Intel sopivat useita lakikiistoja ja erimielisyyksiä jatkaen ristiinlisensointisopimuksia.[5][6]
Arkkitehtuurin eroja x86:een nähden
Samalla piirillä on legacy-mode tuki IA-32 käskykannalle. Kun prosessori toimii long-mode tilassa tietyt erot tulevat voimaan.[7]
- Enemmän rekistereitä. Yleiskäyttöisten rekisterien määrä on nostettu IA-32:n kahdeksasta kuuteentoista.[7]
- Suurempi osoiteavaruus. Virtuaalisen osoiteavaruuden kokoa on kasvatettu 32 bitistä 48 bittiin.[7] AMD64-arkkitehtuurissa suurin osoitettava muistin määrä on siis 256 teratavua, kun x86-32-arkkitehtuurissa se oli 4 gigatavua. Lisäksi osoittimien käyttämättömien bittien käyttöä on rajoitettu siten, että arkkitehtuuria on helppo myöhemmin laajentaa 64-bittiseen osoiteavaruuteen säilyttäen yhteensopivuus vanhoihin käyttäjätason ohjelmiin, vaatien muutoksia vain käyttöjärjestelmän muistinhallinnalta.
- Muistin osoittaminen suhteessa ohjelmalaskuriin (englanniksi instruction pointer relative data access – lyhyemmin RIP relative data access). Muistiin pystyy AMD64-arkkitehtuurissa viittaamaan myös suhteessa ohjelmalaskuriin.[7] Tämä mahdollístaa osoiteriippumattoman koodin.
- SSE-käskykanta. AMD64-arkkitehtuuri sisältää SSE2-käskykantalaajennuksen x87- ja MMX-käskyjen lisäksi.[7]
- NX-bitti. NX-bitti on suojausteknologia, joka mahdollistaa tiettyjen muistialueiden merkitsemisen suorituskieltoon. Näin pyritään ehkäisemään puskuriylivuotohaavoittuvuuksien aiheuttamia haittoja. AMD julkaisi tuen Athlon 64 -suorittimissa ja Intel Prescott-ytimellisissä Pentium 4 -suorittimissa.[8][9][10]
- Segmentoitu muisti ei ole enää tuettu. Muistisivujen käyttö on tyypillisempää ja mahdollistaa yksinkertaisemman ohjelmoinnin sekä tehokkaamman moniprosessoinnin.[11]
Toimintatilat
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ä |
Lähteet
- ↑ AMD Discloses New Technologies At Microporcessor Forum amd.com. 5.10.1999. Arkistoitu Viitattu 19.9.2020. (englanniksi)
- ↑ AMD Releases x86-64™ Architectural Specification; Enables Market Driven Migration to 64-Bit Computing amd.com. 10.8.2000. Arkistoitu Viitattu 19.9.2020. (englanniksi)
- ↑ AMD plays antitrust poker for Intel's X86 licence 3.2.2009. Incisive Media Limited. Viitattu 26.2.2009.
- ↑ Patent Cross License Agreement Between AMD and Intel contracts.corporate.findlaw.com. 1.1.2001. Arkistoitu June 21, 2007. Viitattu 23.8.2009.
- ↑ AMD Intel Settlement Agreement sec.gov.
- ↑ Stephen Shankland and Jonathan E. Skillings: Intel to pay AMD $1.25 billion in antitrust settlement 12.11.2009. CNET. Viitattu 24.4.2012.
- ↑ a b c d e Porting Linux to x86-64 (PDF) SuSE Labs. Viitattu 12.1.2017. (englanniksi)
- ↑ AMD, Intel put antivirus tech into chips zdnet.com. 8.1.2004. Viitattu 19.9.2020. (englanniksi)
- ↑ Data Execution Prevention (PDF) h10032.www1.hp.com. Viitattu 19.9.2020. (englanniksi)
- ↑ x86 NX support lwn.net. 2.6.2004. Viitattu 20.9.2020. (englanniksi)
- ↑ AMD64 Technology AMD64 Architecture Programmer’s Manual Volume 2: System Programming AMD. Viitattu 12.1.2017.
Aiheesta muualla
- AMD64 Architecture Programmer’s Manual Volume 1: Application Programming (PDF) (englanniksi)
- AMD64 Architecture Programmer’s Manual Volume 2: System Programming (PDF) (englanniksi)
|