Ero sivun ”AMD64” versioiden välillä
[katsottu versio] | [katsottu versio] |
Anr (keskustelu | muokkaukset) p Käyttäjän 84.250.164.152 muokkaukset kumottiin ja sivu palautettiin viimeisimpään käyttäjän Ipr1 tekemään versioon. |
Ei muokkausyhteenvetoa |
||
(19 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
[[Tiedosto:AMD64 Logo.png|pienoiskuva|AMD64 -logo.]] |
[[Tiedosto:AMD64 Logo.png|pienoiskuva|AMD64 -logo.]] |
||
'''AMD64''' (myös nimillä '''x86-64''', '''x86_64''' ja '''x64''') on [[AMD]]:n kehittämä 64-[[bitti]]nen [[suoritin]]arkkitehtuuri, joka suunniteltiin kehitysaskeleeksi 32-bittisestä [[x86]]-arkkitehtuurista.<ref name="hwsaa">{{Verkkoviite | osoite = https://www.hardwaresecrets.com/amd-64-bit-architecture-x86-64/ | nimeke = AMD 64-bit architecture (x86-64) | ajankohta = 27.10.2004 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref> Vanhoja 16- ja 32-bittisiä ''real mode''- ja ''protected mode''-ohjelmia varten suorittimessa on vielä mukana niille tukea säilyttäen yhteensopivuuden vanhoille ohjelmille.<ref name="hwsaa" /> 64-bittiset ohjelmat suoritetaan ''long mode'' -tilassa.<ref name="hwsaa" /> |
'''AMD64''' (myös nimillä '''x86-64''', '''x86_64''' ja '''x64''') on [[AMD]]:n kehittämä 64-[[bitti]]nen [[suoritin]]arkkitehtuuri, joka suunniteltiin kehitysaskeleeksi 32-bittisestä [[x86]]-arkkitehtuurista.<ref name="hwsaa">{{Verkkoviite | osoite = https://www.hardwaresecrets.com/amd-64-bit-architecture-x86-64/ | nimeke = AMD 64-bit architecture (x86-64) | ajankohta = 27.10.2004 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref> Vanhoja 16- ja 32-bittisiä ''real mode''- ja ''protected mode''-ohjelmia varten suorittimessa on vielä mukana niille tukea säilyttäen yhteensopivuuden vanhoille ohjelmille.<ref name="hwsaa" /> 64-bittiset ohjelmat suoritetaan ''long mode'' -tilassa.<ref name="hwsaa" /> |
||
[[Intel]]illä oli kilpaileva [[EM64T]]-arkkitehtuuri.<ref>{{verkkoviite | osoite = https://www.hardwaresecrets.com/intel-em64t-technology-explained/ | nimeke = Intel EM64T Technology Explained | ajankohta = 15.12.2005 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref> |
[[Intel]]illä oli kilpaileva [[EM64T]]-arkkitehtuuri, jota Intel muokkasi täyteen AMD64-yhteensopivuuteen lisäämällä LAHF- ja SAHF-käskyt.<ref>{{verkkoviite | osoite = https://www.hardwaresecrets.com/intel-em64t-technology-explained/ | nimeke = Intel EM64T Technology Explained | ajankohta = 15.12.2005 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://www.theregister.com/2005/08/23/intel_fixes_em64t/ | nimeke = Intel tweaks EM64T for full AMD64 compatibility | tekijä = Tony Smith | ajankohta = 23.8.2005 | viitattu = 7.1.2024 | kieli = {{en}} }}</ref> |
||
==Historia== |
|||
AMD ilmoitti arkkitehtuurista vuonna 1999<ref>{{Verkkoviite | osoite = http://www.amd.com/us/press-releases/Pages/Press_Release_751.aspx | arkisto = https://web.archive.org/web/20120308030806/http://www.amd.com/us/press-releases/Pages/Press_Release_751.aspx | nimeke = AMD Discloses New Technologies At Microporcessor Forum | ajankohta = 5.10.1999 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref> ja julkaisi määrittelyn vuonna 2000.<ref>{{Verkkoviite | osoite = http://www.amd.com/us/press-releases/Pages/Press_Release_715.aspx | arkisto = https://web.archive.org/web/20120308025559/http://www.amd.com/us/press-releases/Pages/Press_Release_715.aspx | nimeke = AMD Releases x86-64™ Architectural Specification; Enables Market Driven Migration to 64-Bit Computing | ajankohta = 10.8.2000 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref> |
AMD ilmoitti arkkitehtuurista vuonna 1999<ref>{{Verkkoviite | osoite = http://www.amd.com/us/press-releases/Pages/Press_Release_751.aspx | arkisto = https://web.archive.org/web/20120308030806/http://www.amd.com/us/press-releases/Pages/Press_Release_751.aspx | nimeke = AMD Discloses New Technologies At Microporcessor Forum | ajankohta = 5.10.1999 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref> ja julkaisi määrittelyn vuonna 2000.<ref>{{Verkkoviite | osoite = http://www.amd.com/us/press-releases/Pages/Press_Release_715.aspx | arkisto = https://web.archive.org/web/20120308025559/http://www.amd.com/us/press-releases/Pages/Press_Release_715.aspx | nimeke = AMD Releases x86-64™ Architectural Specification; Enables Market Driven Migration to 64-Bit Computing | ajankohta = 10.8.2000 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref> |
||
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.<ref>https://www.custompc.com/intel/pentium-4 </ref><ref>https://www.informit.com/articles/article.aspx?p=366538 </ref> |
|||
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ä.<ref>https://www.informit.com/articles/article.aspx?p=366538 </ref> |
|||
VIA Technologies käytti AMD64-käskykantaa VIA Isaiah -arkkitehtuurissaan (VIA Nano -prosessori). |
|||
== Lisensointi == |
== Lisensointi == |
||
Rivi 10: | Rivi 14: | ||
Intel lisensoi AMD:lle oikeuden käyttää alkuperäistä x86 arkkitehtuuria.<ref>{{cite web |
Intel lisensoi AMD:lle oikeuden käyttää alkuperäistä x86 arkkitehtuuria.<ref>{{cite web |
||
|url = http://www.theinquirer.net/inquirer/opinion/759/1050759/amd-plays-antitrust-poker-intel-x86-licence |
|||
|title = AMD plays antitrust poker for Intel's X86 licence |
|||
|accessdate = 2009-02-26 |
|||
|date = 2009-02-03 |
|||
|publisher = Incisive Media Limited |
|||
|arkisto = https://web.archive.org/web/20090228183742/http://www.theinquirer.net/inquirer/opinion/759/1050759/amd-plays-antitrust-poker-intel-x86-licence |
|||
|arkistoitu = 2009-02-28 |
|||
}}</ref><ref>{{cite web |
}}</ref><ref>{{cite web |
||
|url=http://contracts.corporate.findlaw.com/agreements/amd/intel.license.2001.01.01.html |
|url=http://contracts.corporate.findlaw.com/agreements/amd/intel.license.2001.01.01.html |
||
Rivi 25: | Rivi 31: | ||
}}</ref> |
}}</ref> |
||
Vuonna 2009 AMD ja Intel sopivat useita lakikiistoja ja erimielisyyksiä jatkaen ristiinlisensointisopimuksia.<ref>{{cite web |url = http://www.sec.gov/Archives/edgar/data/2488/000119312509236705/dex101.htm |title = AMD Intel Settlement Agreement}}</ref><ref>{{cite web |url= http://news.cnet.com/8301-1001_3-10396188-92.html |publisher= CNET |author= Stephen Shankland and Jonathan E. Skillings |title= Intel to pay AMD $1.25 billion in antitrust settlement |date= 2009-11-12 |accessdate= 2012-04-24}}</ref> |
Vuonna 2009 AMD ja Intel sopivat useita lakikiistoja ja erimielisyyksiä jatkaen ristiinlisensointisopimuksia.<ref>{{cite web |url = http://www.sec.gov/Archives/edgar/data/2488/000119312509236705/dex101.htm |title = AMD Intel Settlement Agreement}}</ref><ref>{{cite web |url= http://news.cnet.com/8301-1001_3-10396188-92.html |publisher= CNET |author= Stephen Shankland and Jonathan E. Skillings |title= Intel to pay AMD $1.25 billion in antitrust settlement |date= 2009-11-12 |accessdate= 2012-04-24 |arkisto= https://web.archive.org/web/20121108032512/http://news.cnet.com/8301-1001_3-10396188-92.html |arkistoitu= 2012-11-08 }}</ref> |
||
== Arkkitehtuurin eroja x86:een nähden == |
== Arkkitehtuurin eroja x86:een nähden == |
||
Rivi 33: | Rivi 39: | ||
* '''Enemmän [[rekisteri (tietokonetekniikka)|rekistereitä]]'''. Yleiskäyttöisten rekisterien määrä on nostettu IA-32:n kahdeksasta kuuteentoista.<ref name="suse" /> |
* '''Enemmän [[rekisteri (tietokonetekniikka)|rekistereitä]]'''. Yleiskäyttöisten rekisterien määrä on nostettu IA-32:n kahdeksasta kuuteentoista.<ref name="suse" /> |
||
* '''Suurempi osoiteavaruus'''. Virtuaalisen osoiteavaruuden kokoa on kasvatettu 32 bitistä 48 bittiin.<ref name="suse" /> AMD64-arkkitehtuurissa suurin osoitettava muistin määrä on siis 256 [[Tavu (tietotekniikka)|teratavua]], kun ''x86-32''-arkkitehtuurissa se oli 4 [[Tavu (tietotekniikka)|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. |
* '''Suurempi osoiteavaruus'''. Virtuaalisen osoiteavaruuden kokoa on kasvatettu 32 bitistä 48 bittiin.<ref name="suse" /> AMD64-arkkitehtuurissa suurin osoitettava muistin määrä on siis 256 [[Tavu (tietotekniikka)|teratavua]], kun ''x86-32''-arkkitehtuurissa se oli 4 [[Tavu (tietotekniikka)|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 [[muistinhallinta|muistinhallinnalta]]. |
||
* '''Muistin osoittaminen suhteessa [[ohjelmalaskuri]]in''' (englanniksi ''instruction pointer relative data access'' – lyhyemmin ''RIP relative data access''). Muistiin pystyy AMD64-arkkitehtuurissa viittaamaan myös suhteessa ohjelmalaskuriin.<ref name="suse" /> Tämä mahdollístaa osoiteriippumattoman koodin. |
* '''Muistin osoittaminen suhteessa [[ohjelmalaskuri]]in''' (englanniksi ''instruction pointer relative data access'' – lyhyemmin ''RIP relative data access''). Muistiin pystyy AMD64-arkkitehtuurissa viittaamaan myös suhteessa ohjelmalaskuriin.<ref name="suse" /> Tämä mahdollístaa osoiteriippumattoman koodin. |
||
* '''SSE-käskykanta'''. AMD64-arkkitehtuuri sisältää [[SSE2]]-käskykantalaajennuksen [[x87]]- ja [[x86#MMX|MMX]]-käskyjen lisäksi.<ref name="suse" /> |
* '''SSE-käskykanta'''. AMD64-arkkitehtuuri sisältää [[SSE2]]-käskykantalaajennuksen [[x87]]- ja [[x86#MMX|MMX]]-käskyjen lisäksi.<ref name="suse" /> |
||
* '''[[NX-bitti]]'''. NX-bitti on suojausteknologia, joka mahdollistaa tiettyjen muistialueiden merkitsemisen suorituskieltoon. Näin pyritään ehkäisemään [[Puskurin ylivuotovirhe|puskuriylivuoto]]haavoittuvuuksien aiheuttamia haittoja. AMD julkaisi tuen Athlon 64 -suorittimissa ja Intel Prescott-ytimellisissä Pentium 4 -suorittimissa.<ref>{{Verkkoviite | osoite = https://www.zdnet.com/article/amd-intel-put-antivirus-tech-into-chips/ | nimeke = AMD, Intel put antivirus tech into chips | ajankohta = 8.1.2004 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = http://h10032.www1.hp.com/ctg/Manual/c00387685.pdf | nimeke = Data Execution Prevention | tiedostomuoto = PDF | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://lwn.net/Articles/87814/ | nimeke = x86 NX support | ajankohta = 2.6.2004 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref> |
* '''[[NX-bitti]]'''. NX-bitti on suojausteknologia, joka mahdollistaa tiettyjen muistialueiden merkitsemisen suorituskieltoon. Näin pyritään ehkäisemään [[Puskurin ylivuotovirhe|puskuriylivuoto]]haavoittuvuuksien aiheuttamia haittoja. AMD julkaisi tuen Athlon 64 -suorittimissa ja Intel Prescott-ytimellisissä Pentium 4 -suorittimissa.<ref>{{Verkkoviite | osoite = https://www.zdnet.com/article/amd-intel-put-antivirus-tech-into-chips/ | nimeke = AMD, Intel put antivirus tech into chips | ajankohta = 8.1.2004 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = http://h10032.www1.hp.com/ctg/Manual/c00387685.pdf | nimeke = Data Execution Prevention | tiedostomuoto = PDF | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://lwn.net/Articles/87814/ | nimeke = x86 NX support | ajankohta = 2.6.2004 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref> |
||
* Segmentoitu muisti ei ole enää tuettu. [[Muistisivu]]jen käyttö on tyypillisempää ja mahdollistaa yksinkertaisemman ohjelmoinnin sekä tehokkaamman [[moniprosessointi|moniprosessoinnin]].<ref name="amd64">{{Verkkoviite | osoite = http://developer.amd.com/wordpress/media/2012/10/24593_APM_v21.pdf | nimeke = AMD64 Technology AMD64 Architecture Programmer’s Manual Volume 2: System Programming | julkaisija = AMD | viitattu = 12.1.2017}}</ref> |
* [[Segmentoitu muisti]] ei ole enää tuettu. [[Muistisivu]]jen käyttö on tyypillisempää ja mahdollistaa yksinkertaisemman ohjelmoinnin sekä tehokkaamman [[moniprosessointi|moniprosessoinnin]].<ref name="amd64">{{Verkkoviite | osoite = http://developer.amd.com/wordpress/media/2012/10/24593_APM_v21.pdf | nimeke = AMD64 Technology AMD64 Architecture Programmer’s Manual Volume 2: System Programming | julkaisija = AMD | viitattu = 12.1.2017 | arkisto = https://web.archive.org/web/20160303230732/http://developer.amd.com/wordpress/media/2012/10/24593_APM_v21.pdf | arkistoitu = 3.3.2016 }}</ref> |
||
Ohjelmien suorituksessa ''long mode'' -tilassa on käytössä uusi [[ABI]], muutoin käytössä on vanha yhteensopivuustila.<ref>{{Verkkoviite | osoite = https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf | nimeke = System V Application Binary Interface | sivu = 9 | tiedostomuoto = PDF | ajankohta = 2.7.2012 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref> |
Ohjelmien suorituksessa ''long mode'' -tilassa on käytössä uusi [[ABI]], muutoin käytössä on vanha yhteensopivuustila.<ref>{{Verkkoviite | osoite = https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf | nimeke = System V Application Binary Interface | sivu = 9 | tiedostomuoto = PDF | ajankohta = 2.7.2012 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref> |
||
==Jatkokehitys== |
|||
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.<ref>https://walbourn.github.io/directxmath-sse-sse2-and-arm-neon/ </ref> |
|||
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ä [[liukuluku]]a 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_Bulldozer#Excavator|AMD Excavator]]issa toteutettu käskykanta otettaisiin pienimmäksi vaadituksi käskykannaksi, etenkin palvelimiin suunnatuissa käyttöjärjestelmissä.<ref>https://www.phoronix.com/news/RedHat-RHEL10-x86-64-v3-Explore </ref> |
|||
== Toimintatilat == |
== Toimintatilat == |
||
Rivi 107: | Rivi 121: | ||
{{AMD:n suorittimet}} |
{{AMD:n suorittimet}} |
||
{{Tynkä/Tietotekniikka}} |
|||
[[Luokka:Suoritinarkkitehtuurit]] |
[[Luokka:Suoritinarkkitehtuurit]] |
||
[[Luokka:AMD]] |
[[Luokka:AMD]] |
Nykyinen versio 2. maaliskuuta 2024 kello 09.59
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.[1] Vanhoja 16- ja 32-bittisiä real mode- ja protected mode-ohjelmia varten suorittimessa on vielä mukana niille tukea säilyttäen yhteensopivuuden vanhoille ohjelmille.[1] 64-bittiset ohjelmat suoritetaan long mode -tilassa.[1] Intelillä oli kilpaileva EM64T-arkkitehtuuri, jota Intel muokkasi täyteen AMD64-yhteensopivuuteen lisäämällä LAHF- ja SAHF-käskyt.[2][3]
Historia
[muokkaa | muokkaa wikitekstiä]AMD ilmoitti arkkitehtuurista vuonna 1999[4] ja julkaisi määrittelyn vuonna 2000.[5] 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.[6][7] 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ä.[8] VIA Technologies käytti AMD64-käskykantaa VIA Isaiah -arkkitehtuurissaan (VIA Nano -prosessori).
Lisensointi
[muokkaa | muokkaa wikitekstiä]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.[9][10]
Vuonna 2009 AMD ja Intel sopivat useita lakikiistoja ja erimielisyyksiä jatkaen ristiinlisensointisopimuksia.[11][12]
Arkkitehtuurin eroja x86:een nähden
[muokkaa | muokkaa wikitekstiä]Samalla piirillä on legacy-mode tuki IA-32 käskykannalle. Kun prosessori toimii long-mode tilassa tietyt erot tulevat voimaan.[13]
- Enemmän rekistereitä. Yleiskäyttöisten rekisterien määrä on nostettu IA-32:n kahdeksasta kuuteentoista.[13]
- Suurempi osoiteavaruus. Virtuaalisen osoiteavaruuden kokoa on kasvatettu 32 bitistä 48 bittiin.[13] 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.[13] Tämä mahdollístaa osoiteriippumattoman koodin.
- SSE-käskykanta. AMD64-arkkitehtuuri sisältää SSE2-käskykantalaajennuksen x87- ja MMX-käskyjen lisäksi.[13]
- 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.[14][15][16]
- Segmentoitu muisti ei ole enää tuettu. Muistisivujen käyttö on tyypillisempää ja mahdollistaa yksinkertaisemman ohjelmoinnin sekä tehokkaamman moniprosessoinnin.[17]
Ohjelmien suorituksessa long mode -tilassa on käytössä uusi ABI, muutoin käytössä on vanha yhteensopivuustila.[18]
Jatkokehitys
[muokkaa | muokkaa wikitekstiä]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.[19]
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ä.[20]
Toimintatilat
[muokkaa | muokkaa wikitekstiä]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
[muokkaa | muokkaa wikitekstiä]- ↑ a b c AMD 64-bit architecture (x86-64) hardwaresecrets.com. 27.10.2004. Viitattu 20.9.2020. (englanniksi)
- ↑ Intel EM64T Technology Explained hardwaresecrets.com. 15.12.2005. Viitattu 19.9.2020. (englanniksi)
- ↑ Tony Smith: Intel tweaks EM64T for full AMD64 compatibility theregister.com. 23.8.2005. Viitattu 7.1.2024. (englanniksi)
- ↑ 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)
- ↑ https://www.custompc.com/intel/pentium-4
- ↑ https://www.informit.com/articles/article.aspx?p=366538
- ↑ https://www.informit.com/articles/article.aspx?p=366538
- ↑ AMD plays antitrust poker for Intel's X86 licence 3.2.2009. Incisive Media Limited. Arkistoitu 28.2.2009. 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. Arkistoitu 8.11.2012. 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. Arkistoitu 3.3.2016. Viitattu 12.1.2017.
- ↑ System V Application Binary Interface (PDF) refspecs.linuxbase.org. 2.7.2012. Viitattu 20.9.2020. (englanniksi)
- ↑ https://walbourn.github.io/directxmath-sse-sse2-and-arm-neon/
- ↑ https://www.phoronix.com/news/RedHat-RHEL10-x86-64-v3-Explore
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- AMD64 Architecture Programmer’s Manual Volume 1: Application Programming (PDF) (englanniksi)
- AMD64 Architecture Programmer’s Manual Volume 2: System Programming (PDF) (englanniksi)
|