Verkkotunnuskohtaiset kiihdyttimet: määritelmä, arkkitehtuuri ja käyttö

Verkkotunnuskohtaiset kiihdyttimet: määritelmä, arkkitehtuuri ja käyttö

Verkkotunnuskohtaiset kiihdyttimet tai verkkotunnuskohtaiset kiihdyttimet ovat yksikkötyyppiä, joka sijaitsee monimutkaisuudellaan a: n alapuolella prosessori, mutta kykenee suorittamaan tiettyjä tehtäviä kuluttamalla vähemmän virtaa ja nopeammin. Mutta miten ne toimivat, mikä määrittelee ne ja miksi he ovat laitteiston tulevaisuus?

Ajan myötä ohjelmien on mentävä nopeammin ja nopeammin, mutta samalla prosessorit ja grafiikkasuorittimet ovat tulleet monimutkaisiksi behemoteiksi, joissa suorituskyvyn parantaminen perinteisellä tavalla on hyvin vaikeaa. Tuleva ratkaisu tähän ongelmaan? Verkkotunnuskohtaiset kiihdyttimet

Ensinnäkin kaasukonsepti

Järjestelmä ARM RISC

Tietojenkäsittelyn alusta lähtien tukisirut ovat olleet välttämättömiä tiettyjen tekniikoiden nopeuttamiseksi, alun perin nämä sirut vapauttivat suorittimen suorittamasta toistuvaa ja rekursiivista tehtävää. Selkein esimerkki oli grafiikkajärjestelmät, jotka eivät saaneet CPU: ta joutumaan tuhlaamaan suurimman osan ajasta piirustuksiin näytöllä.

Kiihdytin on tukisiru, joka menee pidemmälle, koska se paitsi vapauttaa keskusyksikön tekemästä tätä tehtävää, mutta myös nopeuttaa sitä. Toisin sanoen tehtävä suoritetaan osassa aikaa siitä, mitä prosessori vie. Mikä tarkoittaa, että se on kiihtynyt ja vaikuttaa kaikkeen nopeammin. Tästä syystä nimi kiihdytin.

Kiihdyttimiä on monia tyyppejä ja malleja, minkä tahansa tyyppinen laitteisto voi olla kiihdytin: mikro-ohjain, FPGA, yhdistelmä- tai peräkkäinen piiri jne. Viime vuosina on ilmestynyt sellainen kiihdytin, joka hallitsee laitteistoa seuraavina vuosina , toimialakohtaiset kiihdyttimet.

Verkkotunnuskohtaiset kiihdyttimet, yleinen määritelmä

reloj-CPU

Laitteistossa olemme käyttäneet kiihdyttimiä pitkään erityyppisiin töihin ja erityisiin sovelluksiin ja siten erityisesti tiettyyn alueeseen. Nykyään nämä alueet voivat olla grafiikkaa, syvällistä oppimista, bioinformatiikkaa, äänenkäsittelyä ja kuvia reaaliajassa. On olemassa monia erityisiä toimialueita, joissa toimialuekohtainen kiihdytin pystyy ratkaisemaan ongelman paremmin kuin suorittimen eli vähemmän aikaa ja vähemmän aikaa vievää.

Ensimmäinen asia, joka tulee mieleen, on kysymys: a GPU verkkotunnuskohtainen kiihdytin? Ei se ole. DSA: t huolehtivat erityisesti hyvin erityisistä tehtävistä, joten GPU: lla on useita näistä yksiköistä. Jotta se olisi ymmärrettävämpää, on otettava huomioon, että jokainen tehtävä voidaan jakaa useisiin pienempiin tehtäviin, joita voidaan kiihdyttää itsenäisesti tämän tyyppisillä prosessoreilla.

Verkkotunnuskohtaiset kiihdyttimet eroavat kuitenkin muista markkinoilla olevista vaihtoehdoista, koska ne hyödyntävät suunnittelussaan useita ominaisuuksia, jotka asettavat ne yleiskäyttöisten prosessorien ja perinteisten kiihdyttimien välille. Toisin sanoen ne eivät saavuta CPU: n monimutkaisuutta, mutta ne ovat paljon monimutkaisempia kuin klassiset ratkaisut, etenkin kiinteään toimintoon perustuvat ratkaisut.

Spesifinen verkkotunnus, erityinen ISA

Lähdekoodi

Ensimmäinen asia, joka on pidettävä mielessä, on se, että verkkotunnuskohtainen kiihdytin ei ole prosessori, vaikka se myös suorittaa ohjelman, sen suunnittelu on optimoitu tietylle ratkaisulle eikä yhdelle yleisesti, tätä varten luodaan täysin ISA Yksinomainen DSA-yksikkö, jonka ohjeiden, rekistereiden ja käytettyjen tietotyyppien uskotaan ratkaisevan lyhyessä ajassa tietyt ohjeet, jotka suorittimen suorittaminen vie monta sykliä.

ISA: nsa suorittimet suorittavat tänään ohjeet mikro-ohjeista, joilla on yhteinen tietopolku käskyjakson läpi. Tämä tarkoittaa, että käskyjoukon monimutkaisuuden vuoksi monimutkaisen käskyn suorittaminen vie useita syklejä. DSA: ssa voimme luoda käskysilmukat ja tietyt tietopolut tietyille nopeammin suoritettaville ohjeille. Voimme jopa luoda rinnakkain yksiköitä, jotka suorittavat juuri kyseisen käskyn rekursiivisesti.

Mutta tämän suurin etu on, että se antaa meille tiettyjen sovellusten päästä eroon ohjeista, joita yleiskäyttöinen yksikkö, joka meidän erityissovelluksellemme on hyödytön. Ja että viime vuosina ne ovat päätyneet muuttamaan CPU: iden ja GPU: iden rekisteri- ja käskyjoukot mastodoneiksi, jotka vievät suuren tilan.

Verkkotunnuskohtaiset kiihdyttimet ja muistin käyttö

Coste Energético Relativo

Toinen DSA: n parannus liittyy muistiin, koska mikrokontrollerin tavoin he käyttävät muistia itse kiihdyttimessä. Mikä on tärkeää, koska fyysinen etäisyys, jolla muisti sijaitsee, vaikuttaa ohjeiden energiakustannuksiin.

Sen muistikokoonpano on kiihdyttimien tärkein etu, koska jokainen suoritettu käsky kuluttaa paljon vähemmän virtaa kuin suorittimessa, ja lisäksi se välttää muistikilpailun ongelman. DSA ei käytä järjestelmää RAM suorittaa laskelmansa, jotta se voi toimia rinnakkain koko ajan.

Lisäksi niiden työskentelytavan vuoksi voimme sijoittaa ne SoC: hen tai vastaavaan rakenteeseen ja antaa keskusyksikön kommunikoida heidän kanssaan, ilman että meidän tarvitsee käydä RAM-muistia tietojen saamiseksi.

Laitteisto ja ohjelmisto kulkevat käsi kädessä DSA: issa

Diseño Circuitos -paperi

Laitteistosuunnittelua ei yleensä tehdä tietyille ohjelmistoille, vaan se on ohjelmisto, joka on sovitettu hyödyntämään laitteistoa. Tämä tapahtuu käyttämällä erikoistuneita sovellusliittymiä ohjelmistotasolla, jossa ohjelmisto on vuorovaikutuksessa laitteiston abstraktin kanssa niin, että ohjainohjelma on ohjelma, joka suorittaa käännöksen abstraktion ja laitteiston välillä.

Verkkotunnuskohtaisissa kiihdyttimissä ajatus on, että he voivat suorittaa heitä käyttävän ohjelman kuin suorittimen, mutta koska heillä on erikoistunut ohjeisto tiettyä ongelmaa varten, jotta ohjelmat toimisivat nopeammin DSA: n alla, joka erikoistuneen ISA: n ja arkkitehtuurinsa vuoksi.

Testaa Diseño Procesadores

Monet tulevaisuudessa käytetyistä laitteistosuunnitelmista ovat DSA: it erikoistuneille ongelmille. Joka luodaan paikallisesti jokaisessa yrityksessä ja laitoksessa nopeuttamaan yhden tai useamman kehitetyn ohjelman tiettyjä osia. Sen toteutus tapahtuu luomalla ainutlaatuisia pelimerkkejä, sen käyttöönotto SoC: issa ja jopa FPGA: ssa sellaisten kielten kautta kuin Verilog tai VHDL.

Laitteiden ja ohjelmistojen välinen suhde on siis täysin käännettävä, koska siirrymme ohjelmistojen suunnittelusta tietyn laitteiston hyödyntämiseksi laitteistojen suunnitteluun tiettyjä ohjelmistoratkaisuja varten.