CPU vs GPU
CPU, akronim za Centralnu procesorsku jedinicu, je mozak računarskog sistema koji izvodi "računanja" data kao instrukcije putem kompjuterskog programa. Stoga, imati CPU je smisleno samo kada imate računarski sistem koji je „programabilan“(tako da može da izvršava instrukcije) i treba napomenuti da je CPU „centralna“procesorska jedinica, jedinica koja kontroliše ostale jedinice/ delovi računarskog sistema. U današnjem kontekstu, CPU se obično nalazi u jednom silikonskom čipu poznatom i kao mikroprocesor. S druge strane, GPU, akronim za Graphics Processing Unit, dizajniran je da rastereti računarski intenzivne zadatke obrade grafike sa CPU-a. Krajnji cilj ovakvih zadataka je projektovanje grafike na jedinicu za prikaz kao što je monitor. S obzirom da su takvi zadaci dobro poznati i specifični, u suštini ih nije potrebno programirati, a osim toga, takvi zadaci su inherentno paralelni zbog prirode jedinica za prikaz. Opet, u trenutnom kontekstu, dok se manje sposobni GPU-ovi obično nalaze u istom silikonskom čipu gdje se nalazi CPU (ova postavka je poznata kao integrirani GPU), drugi, sposobniji, moćniji GPU-ovi se nalaze u vlastitom silikonskom čipu, obično na zasebnoj PCB (štampana ploča).
Šta je CPU?
Izraz CPU se koristi u računarskim sistemima više od pet decenija, i to je bila jedina procesorska jedinica u ranim računarima sve dok nisu uvedene “druge” procesorske jedinice (kao što su GPU-ovi) kako bi upotpunili njegovu procesorsku snagu. Dve glavne komponente CPU-a su njegova aritmetičko-logička jedinica (aka ALU) i kontrolna jedinica (aka CU). ALU CPU-a je odgovoran za aritmetičke i logičke operacije računarskog sistema, a CU je odgovoran za dohvaćanje programa instrukcija iz memorije, njihovo dekodiranje i instrukcije drugim jedinicama kao što je ALU da izvrše instrukcije. Stoga je kontrolna jedinica CPU-a odgovorna za donošenje slave CPU-u da bude “centralna” procesorska jedinica. CU da bi dohvatio instrukcije iz memorije, instrukcije moraju biti pohranjene kao programi u memoriji i stoga je takav sistem instrukcija poznat i kao „pohranjeni programi“. Bilo bi jasno da CU neće izvršiti instrukcije, ali će im olakšati komunikaciju sa pravim jedinicama kao što je ALU.
Šta je GPU (aka VPU)?
Izraz grafička procesorska jedinica (GPU) uvela je krajem devedesetih godina NVIDIA, kompanija za proizvodnju GPU-a, koja je tvrdila da je 1999. godine plasirala prvi GPU na svijetu (GeForce256). Prema Wikipediji, u vrijeme GeForce256, NVIDIA je definisala GPU na sledeći način: “single-chip procesor sa integrisanom transformacijom, osvetljenjem, podešavanjem/clippingom trougla i mašinama za renderovanje koji je sposoban da obradi minimalno 10 miliona poligona u sekundi”. Nekoliko godina kasnije, NVIDIA-in rival ATI Graphics, druga slična kompanija, objavila je sličan procesor (Radeon300) sa terminom VPU za vizuelnu procesorsku jedinicu. Međutim, kako je jasno da je termin GPU postao popularniji od termina VPU.
Danas su GPU-ovi raspoređeni svuda, kao što su ugrađeni sistemi, mobilni telefoni, personalni računari i laptopovi i konzole za igre. Moderni GPU-ovi su izuzetno moćni u manipulaciji grafikom, a napravljeni su tako da se mogu programirati tako da se mogu prilagoditi različitim situacijama i aplikacijama. Međutim, čak i sada, tipični GPU-ovi se programiraju u fabrici kroz ono što je poznato kao firmver. Generalno, GPU-ovi su efikasniji od CPU-a za algoritme u kojima se obrada velikih blokova podataka obavlja paralelno. Očekivano je, budući da su GPU-ovi dizajnirani da manipulišu kompjuterskom grafikom, koja je po prirodi izuzetno paralelna.
Postoji i ovaj novi koncept poznat kao GPGPU (General Purpose computing on GPU), za korištenje GPU-a za iskorištavanje paralelizma podataka koji je dostupan u nekim aplikacijama (kao što je bioinformatika) i, stoga, za obavljanje negrafičke obrade u GPU-u. Međutim, oni se ne uzimaju u obzir u ovom poređenju.
Koja je razlika između CPU-a i GPU-a?• Dok je razlog za implementaciju CPU-a da djeluje kao mozak računarskog sistema, GPU se uvodi kao komplementarna jedinica za obradu koja se bavi obradom i obradom grafike intenzivnom u računanju koje zahtijeva zadatak projektovanje grafike na jedinice displeja. • Po prirodi je grafička obrada inherentno paralelna i stoga se lako može paralelizirati i ubrzati. • U eri sistema sa više jezgara, CPU-i su dizajnirani sa samo nekoliko jezgara koje mogu da obrađuju nekoliko softverskih niti, koje se mogu iskoristiti u aplikacijskom programu (paralelizam na nivou instrukcija i niti). GPU-ovi su dizajnirani sa stotinama jezgara, kako bi se iskoristio raspoloživi paralelizam. |