Johdanto
Erityiset käsittelytehtävät
Esimerkiksi matemaattinen apuprosessori voi ohjata digitaalista käsittelyä; Grafiikka apuprosessori pystyy käsittelemään videon renderöinnin. Esimerkiksi intel pentium -mikroprosessori sisältää sisäänrakennetun matemaattisen apuprosessorin.
Ydin on kytketty
Apuprosessori voidaan liittää ARM-prosessoriin. Apuprosessori laajentaa ydinkäsittelykykyä laajentamalla käskyjoukkoa tai tarjoamalla konfiguraatiorekistereitä. Yksi tai useampi apuprosessori voidaan liittää ARM-ytimeen apuprosessorirajapinnan kautta.
Apuprosessoriin pääsee käsiksi omistettujen ARM-käskyjen avulla, jotka tarjoavat load-store-tyyppisen rajapinnan. Esimerkiksi apuprosessori 15 (CP15), ARM-prosessori käyttää apuprosessorin 15 rekistereitä välimuistin, TCM:n ja muistinhallinnan ohjaamiseen.
Laajennettu ohjesarja
Apuprosessori voi myös laajentaa käskyjoukkoa tarjoamalla erityisiä uusia käskyjä. On esimerkiksi olemassa erityinen ohjejoukko, joka voidaan lisätä ARM-standardin käskyjoukkoon käsittelemään vektorin liukulukuoperaatioita (VFP).
Nämä uudet ohjeet käsitellään ARM-liukuhihnan dekoodausvaiheessa. Jos dekoodausvaiheessa löydetään apuprosessorin käsky, se lähetetään vastaavalle apuprosessorille. Jos apuprosessoria ei ole olemassa tai se ei tunnista tätä käskyä, ARM uskoo, että on tapahtunut määrittelemätön käskypoikkeus. Tämä sallii myös ohjelmoijien käyttää ohjelmistoja simuloidakseen apuprosessorin käyttäytymistä (käyttäen määrittelemättömiä käskypoikkeuspalvelualirutiineja).
Sisäinen rakenne
Apuprosessorin 80x87 sisäinen rakenne on esitetty kuvassa 1. Se voidaan jakaa kahteen pääosaan: ohjausyksikköön (CU) ja numeeriseen suoritusyksikköön (NEU).
Ohjausyksikkö (CU) yhdistää apuprosessorin CPU:n järjestelmäväylään, ja sekä apuprosessori että CPU valvovat suoritettavien käskyjen kulkua. Jos nykyinen suoritettava käsky on apuprosessorikäsky (eli ESCape-käsky), niin apuprosessori suorittaa sen automaattisesti, muuten käsky luovutetaan suorittimelle suoritettaviksi.
Numeerinen suoritusyksikkö (NEU) replikoi ja suorittaa kaikki apuprosessorin käskyt. Siinä on kahdeksasta 80-bittisestä rekisteristä koostuva pino, johon tallennetaan liukulukutietomuoto laajennetulla tarkkuudella Operandit ja matemaattisten käskyjen operaatiotulokset. Apuprosessorikäskyn suorittamisen aikana joko määritä pinorekisterin tiedot tai käytä push/pop-mekanismia tietojen tallentamiseen tai lukemiseen pinon yläosasta.
NEU-komponentissa on joitain rekistereitä, jotka tallentavat apuprosessorin toimintatilan, kuten tilarekisteri, ohjausrekisteri, lippurekisteri ja poikkeusosoittimen rekisteri. Näiden rekisterien toiminnot esitellään myöhemmin erikseen.
Nykyaikainen PC-apuprosessori
Vuonna 2006 AGEIA julkisti PhysX-fysiikkakiihdytinkortin. PhysX on suunniteltu käsittelemään nämä aikaa vievät ja monimutkaiset fysiikan laskelmat. Vuonna 2008 Nvidia osti AGEIAn, ja NVIDIA käytti PhysX-fysiikkamoottoria CUDA-tekniikan avulla nopeuttaakseen laskelmia näytön ytimellä.
Vuonna 2008 Khronos Group julkaisi OpenCL:n, joka on yleinen kieli, joka tukee ATI/AMD- ja Nvidia-grafiikkasuorittimia.
Vuonna 2012 Intel julkisti Intel Xeon Phi -apuprosessorin.
Vuonna 2013 Apple julkaisi M7-liikeprosessorin ensimmäistä kertaa iPhone 5s:ssä.
Super CPU
Apuprosessorin loppuminen
80486CPU:ssa oli aiemmin apuprosessori liukulukujen laskentaominaisuuksien parantamiseksi. Prosessori on satoja kertoja nopeampi kuin alkuperäinen, eikä tietokoneissa yleensä ole apuprosessoreita.
ARM mikroprosessori
ARM-mikroprosessori voi tukea jopa 16 apuprosessoria erilaisiin yhteiskäsittelytoimintoihin. Ohjelman suorituksen aikana jokainen apuprosessori Prosessori suorittaa vain omat yhteiskäsittelykäskynsä jättäen huomioimatta ARM-prosessorin ja muiden apuprosessorien käskyt. ARM:n apuprosessorin käskyjä ARM-prosessori käyttää pääasiassa ARM-apuprosessorin tietojenkäsittelytoimintojen alustamiseen ja tiedon siirtämiseen ARM-prosessorin rekisterien ja apuprosessorin rekisterien välillä sekä ARM-apuprosessorin rekistereissä ja muistissa Transfer. tietoja välillä. ARM-apuprosessorin käskyt sisältävät seuraavat viisi: — CDP-apuprosessorin numeronkäsittelyohjeet — LDC-apuprosessorin tietojen latausohjeet — STC-aprosessoritietojen tallennusohjeet — MCR ARM-prosessorin rekisterit apuprosessorirekistereihin tiedonsiirtoohjeet — Tiedonsiirtokäsky MRC-apuprosessorirekisteristä ARM-prosessorirekisteriin.
ARM: Apuprosessori sisältää seuraavat viisi:
CDP: Apuprosessorin tietojen käsittelyohjeet.
LDC: Apuprosessorin tietojen latausohje.
STC: Apuprosessorin tietojen tallennusohjeet.
MCR: Tiedonsiirtoohje ARM-prosessorirekisteristä apuprosessorirekisteriin.
MRC: Tiedonsiirtokäsky apuprosessorirekisteristä ARM-prosessorirekisteriin.