Kiihdytin vs apuprosessori SoC:ssa tai APU:ssa: erot ja yhtäläisyydet

Nykyään mikä tahansa prosessori on monimutkainen sekoitus erityyppisiä ytimiä, jotka joko käsittelevät suurimman osan työstä, suorittavat erikoistehtäviä tai tekevät yhteistyötä keskenään parhaan mahdollisen tuloksen saavuttamiseksi eri prosesseja suoritettaessa. Joka tapauksessa kiihdyttimen ja apuprosessorin välillä on eroja tukiytiminä. Lue eteenpäin ymmärtääksesi, mitä ne ovat.

Kiihdytin vs apuprosessori SoC:ssa tai APU:ssa

On hyvin selvää, että a prosessori ei voi tehdä työtä itse, on yleisiä operaatioita, joita tietokone suorittaa jatkuvasti ja joissa yleisprosessori ei ole tehokas, mutta ennen kaikkea pitäisi ymmärtää, mitä tämä tarkoittaa ja miksi niitä tarvitaan. tukisiruja.

Uutta arkkitehtuuria suunniteltaessa on joukko parametreja, jotka merkitsevät rajat, joita insinöörien ei tulisi ylittää, mukaan lukien esimerkiksi suunnittelussa käytettyjen kirjastojen tyyppi, kuinka paljon siru kuluttaa, mikä se tulee olemaan? sen kokoa, mutta erityisesti mitä yleisiä ongelmia se pyrkii ratkaisemaan uudella prosessorilla. Tässä vaiheessa ei määritellä vain pääyksiköt, vaan myös apuprosessorit ja kiihdytit, jotka ovat osa sitä.

Ensimmäiset arkkitehtuuriin sijoitetut tukiprosessorit ovat helposti selvitettävissä, yleensä sellaiset, jotka on suunniteltu saman merkin aikaisemmille arkkitehtuureille, tai jos näin ei ole, ne, jotka on lisensoitu kolmansille osapuolille. Jälkimmäiset taas syntyvät kehityksen aikana, asiakkaiden toiveiden seurauksena tai uudentyyppistä laitteistoa vaativan ratkaistavan ongelman tyypin vuoksi.

Mikä on apuprosessori?

Coprocesador x87

Vaikka merkitsijä on itsestään selvä, on tärkeää muistaa, että jos meillä on useita ytimiä, jotka työskentelevät yhdessä ratkaistakseen saman hajautetuille osille yhteisen ongelman, niin puhumme kunkin prosessiyksikön toimimisesta yhteisprosessoinnissa muiden kanssa. . Ja kyllä, tiedämme, mitä mielessäsi on käynyt, mutta kun meillä on useita CPU:n ytimiä, jotka ratkaisevat tiettyä ongelmaa, puhumme niistä, jotka eivät suorita pääprosessia, toimivat muiden apuprosessoreina.

Tukevia siruja on perinteisesti kutsuttu apuprosessoreiksi, vaikka PC:n historian tunnetuin apuprosessori on matemaattinen apuprosessori, josta tuli myöhemmin liukulukuyksikkö eli FPU, joka irrotettiin kokonaan pääprosessorista. Näin ollen apuprosessorilta puuttuu yleensä prosessi käskyjen sieppaamiseksi muistista, vaan se tarvitsee toisen prosessorin lähettämään käskyt ja käsiteltävät tiedot. Apuprosessorin työ? Ratkaise tämä ohjelman osa ja palauta tulos mahdollisimman nopeasti isäntäprosessorille.

Sinä aikana, jolloin apuprosessori on vastuussa työstään, pääydin voi käyttää saamaansa tehoa muiden tehtävien suorittamiseen, mutta koska prosessia suoritetaan yhdessä, saavutetaan piste, jossa se ei pysty jatkaa, kunnes apuprosessori tai apuprosessorit ovat suorittaneet heille määrätyn tehtävän.

Mikä on kiihdytin?

Acelerador-laitteisto

Teknisesti kiihdytin on apuprosessori, mutta itsenäisempi kuin nämä, koska ne eivät ole vastuussa prosessin suorittamisesta kokonaisuutena, vaan niille on osoitettu koko prosessi, jonka suoritin jättää kokonaan huomiotta paitsi saadakseen lopputuloksen tai tietääkseen. että tehtävä on suoritettu.

Koska kiihdytin on täysin irrotettu prosessorista, se on täysin asynkroninen sen kanssa. Mitä me tarkoitamme? Se tosiasia, että kiihdytin, toisin kuin apuprosessori, ei toimi yhdessä järjestelmän pääprosessorin kanssa. Tämän avulla voit nopeuttaa koodin osaa, mikä tarkoittaa, että saat sen valmiiksi paljon suuremmalla nopeudella ja siten lyhyemmässä ajassa. Tämä tietysti vaatii suuria muutoksia arkkitehtuuriin.

Ensinnäkin apuprosessori voi jakaa ohjausyksikön osia ja jopa rekistereitä tai pääsyn yhteiseen muistiin CPU:n kanssa. Kun kaikki nämä elementit jaetaan, ne voivat aiheuttaa ruuhkaa niiden käyttämisessä, jolloin yksi tai toinen yksikkö pysähtyy odottamaan näiden resurssien käyttöä. Kuten ymmärrät, tätä ei voi tapahtua kiihdyttimessä, joten sen tiedot ja ohjeet prosessorilta huolimatta on suunniteltu olemaan käytettävissäsi 100% ajasta, minkä vuoksi monet kiihdytit ovat täydellisiä prosessoreita, joilla on oma paikallis RAM sisällä.

Jos kiihdytin on parempi, miksi käytetään apuprosessoria?

Portada Alternativa Procesador

Olemme sanoneet tämän artikkelin johdannossa, että kaikki liittyy budjettiin, joka arkkitehdeillä on toteuttaessaan ratkaisua ongelmaan, ja yksi asia, jota ei yleensä oteta huomioon, on viestintäinfrastruktuurit eri elementtien välillä sekä yksiköt, jotka ovat osa kunkin prosessorin käskyjaksoa, mutta jotka eivät ole vastuussa numeroiden murskaamisesta suurella nopeudella.

Markkinointitasolla on erittäin helppoa myydä prosessorin teho numeroina, jotka ovat helposti ymmärrettävissä ihmisille, jotka voivat tehdä järjestys- tai kardinaalivertailun mainituista tiedoista. Tosiasia on, että nykyään minkä tahansa prosessorin infrastruktuurit vievät eniten tilaa ja siksi päätös toteuttaa jotain apuprosessorin tai kiihdytin muodossa tehdään juuri näiden rajoitusten takia.

Esimerkkinä ovat Tensor Cores ja NVIDIANVDLA-yksikkö palvelee samaa tarkoitusta, mutta entiset ovat apuprosessori Shader-yksikössä, joka jakaa rekisterit ja ohjausyksikön muun yksikön kanssa. GPU Shader-yksikkö, toisen tapauksessa prosessori itse. Ei ole yllättävää, että lyhenne DLA tarkoittaa Deep Learning Acceleratoria.