Toisinaan julkistetaan uusia laskentatekniikoita, joissa on "laitteistokiihdytys", mutta tätä termiä selitetään harvoin näissä ilmoituksissa. Se on itse asiassa suhteellisen helppo ymmärtää onneksi. Suurin osa tietokoneen prosessoinnista tapahtuu ohjelmistossa, joka toimii yleiskäyttöisellä CPU:lla. On kuitenkin mahdollista luoda erillinen prosessori, joka on erityisesti suunniteltu suorittamaan pieni määrä tehtäviä tai jopa vain yksi tehtävä. Tällaisen erillisen prosessorin käyttämistä kutsutaan laitteistokiihdytyksellä.
Laitteistokiihdytyksen edut ja haitat
Laitteistokiihdytyksellä on kaksi pääasiallista suorituskykyetua. Ensinnäkin prosessorit, jotka on suunniteltu suorittamaan tietyntyyppistä logiikkaa, ovat nopeampia ja tehokkaampia suorittamaan tehtävän kuin yleiskäyttöinen suoritin. Toiseksi, kun prosessointikuorma puretaan, pääsuorittimella on enemmän prosessointitehoa vapaasti käytettäväksi muihin tehtäviin. Muita etuja ovat lisääntynyt yhdensuuntaisuus, pienempi virrankulutus ja lisääntynyt tehokkuus.
Erillisten prosessorien käyttö laitteistokiihdytyksessä tarkoittaa, että uusien ominaisuuksien lisääminen tai jopa vain virheiden korjaaminen voi olla vaikeaa, ellei mahdotonta joissain tapauksissa ilman laitteiston vaihtamista. Uuden laitteiston kehittäminen on myös huomattavasti vaikeampaa ja kalliimpaa kuin ohjelmistojen kehittäminen.
Laitteistokiihdytyksen tyypit
Laitteistokiihdytystä on tällä hetkellä kolmenlaisia: erikoisprosessorit, FPGA:t ja ASIC:t. Erikoissuoritin on erillinen prosessori, joka käyttää laitteistoa, joka on optimoitu aiottuun logiikkatyyppiin tai -tyyppeihin. Suosittu esimerkki erikoistuneesta prosessorista on GPU. Nykyaikainen GPU sisältää joukon prosessoreita, jotka on suunniteltu tiettyihin tehtäviin, kuten varjostukseen ja säteen jäljitykseen.
Field Programmable Gate Array tai FPGA on prosessori, joka on suunniteltu asiakkaan konfiguroitavaksi valmistuksen jälkeen. FPGA voidaan ohjelmoida sopimaan useisiin erilaisiin logiikkatoimintoihin riippuen tehtävästä, johon se on suunniteltu. Koska FPGA:t ovat uudelleen ohjelmoitavia, ne ovat suosittuja ASIC-prosessorien kehittämisessä.
ASIC-piirit tai sovelluskohtaiset integroidut piirit ovat prosessoreita, jotka on optimoitu erityisesti yhden tehtävän suorittamiseen. ASIC:ien kanssa ei ole koskaan tarkoitus käyttää prosessoria mihinkään muuhun kuin täsmälleen siihen, mihin se on suunniteltu. Tämän optimoinnin syvyyden ansiosta ASIC:t suorittavat tehtävänsä erittäin tehokkaasti.