Razlika med CPU in GPU

CPU vs GPU

CPU, kratica za centralno procesno enoto, so možgani računalniškega sistema, ki izvajajo "računanja", podana kot navodila prek računalniškega programa. Zato je imeti CPU smiselno le, če imate računalniški sistem, ki je "programirljiv" (tako da lahko izvaja navodila) in upoštevamo, da je CPU "centralna" procesna enota, enota, ki nadzoruje druge enote / deli računalniškega sistema. V današnjem kontekstu je CPU običajno nameščen v enem samem silicijevem čipu, poznanem tudi kot mikroprocesor. Po drugi strani je GPU, akronim za enoto za grafično obdelavo, zasnovan tako, da iz CPU-ja naloži računalniško intenzivne naloge za obdelavo grafike. Končni cilj takšnih nalog je načrtovanje grafike na prikazno enoto, kot je monitor. Glede na to, da so takšne naloge dobro znane in specifične, jih v bistvu ni treba programirati, poleg tega pa so takšne naloge že po naravi vzporedne zaradi narave prikaznih enot. Ponovno je v trenutnem kontekstu, medtem ko so manj sposobni GPU-ji običajno nameščeni v istem silikonskem čipu, kjer najdete CPU (ta nastavitev je znana kot integriran GPU) drugi, bolj sposobni, zmogljivi GPU-ji najdemo v lastnem silicijevem čipu, običajno na ločenem PCB-ju (tiskana vezja).

Kaj je CPU?

Izraz CPU se že več kot pet desetletij uporablja v računalniških sistemih in je bil edina procesna enota v zgodnjih računalnikih, dokler niso bile uvedene "druge" procesne enote (na primer GPU), ki so dopolnile svojo procesno moč. Dve glavni sestavni deli procesorja sta njegova aritmetična logična enota (aka ALU) in krmilna enota (aka CU). ALU CPU-ja je odgovoren za aritmetične in logične operacije računalniškega sistema, CU pa je odgovoren za pridobivanje navodilnega programa iz pomnilnika, njihovo dekodiranje in poučevanje drugih enot, kot je ALU, da izvajajo navodila. Zato je krmilna enota CPU-ja odgovorna za to, da je CPU slava "osrednja" procesna enota. CU za pridobitev navodil iz pomnilnika mora biti navodila shranjena kot programi v pomnilniku, zato je tak sistem poučevanja znan tudi kot "shranjeni programi". Jasno bi bilo, da CU ne bo izvajal navodil, ampak bo to olajšal s komunikacijo s pravimi enotami, kot je ALU. 

Kaj je GPU (aka VPU)?

Izraz grafična procesna enota (GPU) je uvedla konec devetdesetih NVIDIA, proizvodno podjetje GPU, ki je trdilo, da je leta 1999 tržilo prvi GPU na svetu (GeForce256). Po podatkih Wikipedije je NVIDIA v času GeForce256 NVIDIA GPU opredelila kot naslednje: "enoprocesorski procesor z integriranimi motorji za preoblikovanje, osvetlitev, nastavitev / izrezovanje trikotnikov in upodabljanje, ki je sposoben obdelati najmanj 10 milijonov poligonov na sekundo". Nekaj ​​let pozneje je NVIDIA-in rival ATI Graphics, drugo podobno podjetje, izdal podoben procesor (Radeon300) z izrazom VPU za enoto za vizualno obdelavo. Ker pa je jasno, je izraz GPU postal bolj priljubljen kot izraz VPU. 

Danes so GPU nameščeni povsod, na primer v vgrajenih sistemih, mobilnih telefonih, osebnih računalnikih in prenosnikih ter igralnih konzolah. Sodobni grafični procesorji so izjemno močni pri manipuliranju z grafiko in jih je mogoče programirati tako, da jih je mogoče prilagoditi različnim situacijam in aplikacijam. Toda tudi zdaj so tipični GPU-ji v tovarni programirani prek tako imenovane strojne programske opreme. Na splošno so GPU učinkovitejši od procesorjev za algoritme, pri katerih se obdelava velikih blokov podatkov vzporedno. Pričakovati je, saj so GPU zasnovani za manipulacijo z računalniško grafiko, ki je po naravi izjemno vzporedna. 

Obstaja tudi ta nov koncept, znan kot GPGPU (General Purpose computing on GPU), ki uporablja GPU-je za izkoriščanje podatkovne paralelizma, ki je na voljo v nekaterih aplikacijah (na primer bioinformatika), in zato izvaja ne-grafično obdelavo v GPU-ju. Vendar v tej primerjavi niso upoštevani. 

Kakšna je razlika med CPU in GPU?

• Medtem ko je utemeljitev uvajanja CPU-ja v funkcijo možganov računalniškega sistema, je GPU predstavljen kot dopolnilna procesna enota, ki upravlja z računalniško intenzivno grafično obdelavo in obdelavo, ki jo zahteva naloga projiciranja grafike na zaslon enot. 

• Po naravi je obdelava grafike sama po sebi vzporedna in jo je zato enostavno vzporediti in pospešiti.

• V dobi večjedrnih sistemov so procesorji zasnovani le z nekaj jedri, ki zmorejo nekaj programskih niti, ki jih je mogoče uporabiti v aplikativnem programu (vzporednost ravni navodil in niti). GPU-ji so zasnovani z več sto jedri, da izkoristijo razpoložljivi paralelizem.