Jokaisen tietokoneen ytimessä on prosessori. The Prosessori on kriittinen laitteisto. Se ajaa käyttöjärjestelmää ja kaikkia tietokoneesi ohjelmia. CPU: t on suunniteltu yleiskäyttöisiksi prosessoreiksi. Heidän oletetaan luonteeltaan pystyvän käsittelemään kaikkea.
Suorittimet eivät kuitenkaan ole kovin hyviä tietyissä työkuormissa, koska niiden yleiskäyttöistä laitteistoa ei voida optimoida tiettyihin tehtäviin menettämättä yleiskäyttöisyyttään. Tai siitä tulee toivottoman suuri, monimutkainen ja kallis. Lisäksi mikä tahansa prosessori pystyy käsittelemään vain niin paljon dataa ja prosessointia kerralla. Apuprosessori on toinen prosessoriyksikkö, joka on nimenomaan suunniteltu toteuttamaan jompikumpi tai molemmat näistä skenaarioista.
Apuprosessori on yksinkertaisesti toinen prosessoriyksikkö tietokoneessa. Joissakin tilanteissa nämä voivat olla kaksi fyysistä prosessoria samalla emolevyllä kuin joissakin palvelimissa. High-Performance Computing- ja supercomputing-skenaarioissa nämä yleiskäyttöiset apuprosessorit löytyvät myös PCIe-lisäkorteista. Apuprosessori keskittyy usein tiettyyn tehtävään yleiskäyttöisen prosessorin sijaan. Nämä tehtäväkohtaiset prosessorit voidaan liittää suoraan emolevyyn tai sisällyttää erilliselle tytärlevylle, kuten PCIe-lisäkortti.
Ensimmäiset rinnakkaisprosessorit
Ensimmäiset rinnakkaisprosessorit olivat suhteellisen yksinkertaisia. Ne on suunniteltu käsittelemään I/O- tai Input and Output keskustietokoneille. Ongelmana oli, että I/O-käsittely oli erittäin aikaa vievä tehtävä CPU: lle. Varsinainen käsittelytehtävä oli kuitenkin suhteellisen yksinkertainen. Joten se oli tarpeeksi halpaa tehdä prosessori käsittelemään sitä. Vaikka apuprosessori otti I/O: n tehokkaasti, CPU: n piti antaa yksinkertaisia I/O-parametreja, vapauttaa prosessoriaikaa ja lisätä järjestelmän suorituskykyä.
Alkuperäinen IBM PC sisälsi valinnaisen liukulukuaritmeettisen apuprosessorin. Päivän prosessorit suorittivat tämän tyyppistä matematiikkaa ohjelmistossa, joka oli hidas, mutta riittävän toimiva useimpien käyttäjien harvoissa tapauksissa. Kuitenkin tietokoneavusteinen suunnittelu tai CAD-järjestelmät käyttivät tämän tyyppistä matematiikkaa jatkuvasti. Erottamalla liukulukuaritmetiikka apuprosessoriin, nopeuksia ei vain lisätty tarvittaessa, kiitos laitteistokiihdytykseen, mutta käyttäjät, jotka eivät sitä tarvinneet, voivat säästää rahaa ostamalla järjestelmän ilman apuprosessori.
Lopulta näiden yksinkertaisten apuprosessorien toiminnot oli integroitu CPU-arkkitehtuuriin. Tämä on osittain luonnollinen seuraus jatkuvasta suorittimen kehittämisestä, mutta liittyy myös vaikeuksiin jatkaa yksinkertaista synkronointia suorittimen kellotaajuuksien kasvaessa. Vaikka nämä prosessorit ja apuprosessorit toimivat riittävän hyvin 75 MHz: n taajuudella, nykyisten GHz: n taajuuksien aikana esiintyisi valtavia viiveitä, virrankulutusta ja radiotaajuisia häiriöitä. Nämä ongelmat vaativat monimutkaisempia signalointijärjestelmiä prosessorien ja nykyaikaisten rinnakkaissuorittimien välillä.
GPU
Graphics Processing Unit on luultavasti tunnetuin apuprosessorin muoto. Ne on suunniteltu optimoituiksi erittäin rinnastettavissa olevaa grafiikan renderöinnin työtaakkaa varten. Prosessorit voivat suorittaa tämän tehtävän ohjelmistossa tai integroidulla grafiikkasirulla. Nykyaikaisten grafiikkasuorittimien korkean suorituskyvyn tarjoamiseksi niiden on kuitenkin integroitava koko GPU-suulake prosessoriin.
Tämä lisäisi huomattavasti prosessorin kustannuksia ja monimutkaisuutta ja lisäisi merkittävästi myös lämmöntuotantoa. Integroidut grafiikkasirut vievät jo melkoisen määrän CPU-tilaa. Ne voivat vähentää prosessorin yleisnopeutta lämpötehonsa vuoksi.
Äänikortti
Historiallisesti suorittimet pystyivät käsittelemään äänisignaaleja, mutta eivät olleet siinä fantastisia. Tuloksena saadut ääniartefaktit ja staattinen ilmiö johtivat äänikorttien luomiseen. Nämä tarjoaisivat äänen tulo- ja lähtöportit ja suorittaisivat todellisen äänenkäsittelyn itse äänikortilla. Tämä paransi merkittävästi signaalin eristystä ja äänenlaatua. Vaikka jotkut äänikortit ovat edelleen olemassa, ne ovat täysin tarpeettomia nykyaikaisissa tietokoneissa integroituna äänenkäsittelynä suoraan emolevyille. Prosessorit ovat paljon parempia kuin äänikorttien kukoistusaikoina.
NPU
Suhteellisen tuore apuprosessorityyppi on NPU tai Neural Processing Unit. Nämä on suunniteltu suorittamaan tai nopeuttamaan tekoälyn työkuormia. Korkean tason NPU: t ovat melko samanlaisia kuin GPU: t, vain tekoälyn työkuormituksille ominaisilla optimoinnilla. Tekoälyn työkuorman suorituskyvystä tulee enemmän tavallisten käyttäjien älypuhelimissa ja tietokoneissa käyttämä asia, joten niistä tulee todennäköisesti yleisempiä.
Integroidut rinnakkaisprosessorit
Nykyaikaiset prosessorit integroivat monia apuprosessorin muotoja suoraan prosessorin yleiseen muotoon tai arkkitehtuuriin. Tämä näkyy helposti integroiduilla grafiikkasiruilla, jotka on syövytetty samaan piiin kuin muu prosessori. Prosessoriytimet eivät kuitenkaan suorita varsinaista käsittelyä. AMD: n Ryzen-suorittimissa on myös erillinen I/O-suulake, joka hoitaa tiedonsiirron sirujen ja muun tietokoneen välillä. Joissakin nykyaikaisissa mobiililaitteissa on myös NPU: t tekoälyn käsittelyä varten.
Johtopäätös
Apuprosessori on toissijainen, tertiäärinen, kvaternäärinen jne. prosessori tietokonelaitteessa, jossa CPU on ensisijainen prosessori. Järjestelmän rinnakkaisprosessorien lukumäärää ei ole rajoitettu. Ohjelmisto/laitteistotuki, lämmönpoisto, fyysinen tila ja kustannukset vaikuttavat kuitenkin kaikkiin asiaan.
Apuprosessori käsittelee suorittimen tehtäviä, jotka parantavat yleistä suorituskykyä sekä tietyssä tehtävässä suorittamalla sen optimoidussa muissa tehtävissä estämällä prosessorin tarpeen tuhlata prosessointitehoaan suorittaessaan tehtävää optimoimattomalla muoti. Ajan myötä monet apuprosessorit integroituvat suorittimiin tekniikan kehittyessä. Teho- ja lämpörajoitukset kuitenkin rajoittavat tätä joissakin skenaarioissa.