CPU vs GPU
CPU, forkortelsen for Central Processing Unit, er hjernen i et computersystem, der udfører de "beregninger", der gives som instruktioner gennem et computerprogram. Derfor er det kun meningsfuldt at have en CPU, når du har et computersystem, der er "programmerbart" (så det kan udføre instruktioner), og vi skal bemærke, at CPU'en er den "Centrale" behandlingsenhed, den enhed, der styrer de andre enheder/ dele af et computersystem. I dagens sammenhæng er en CPU typisk placeret i en enkelt siliciumchip, også kendt som en mikroprocessor. På den anden side er GPU, forkortelsen for Graphics Processing Unit, designet til at fjerne beregningsintensive grafikbehandlingsopgaver fra CPU'en. Det ultimative mål med sådanne opgaver er at projicere grafikken til en displayenhed såsom en skærm. I betragtning af at sådanne opgaver er velkendte og specifikke, behøver de ikke i det væsentlige at blive programmeret, og derudover er sådanne opgaver i sagens natur parallelle på grund af displayenhedernes natur. Igen, i den nuværende sammenhæng, mens de mindre dygtige GPU'er typisk er placeret i den samme siliciumchip, hvor du finder CPU'en (denne opsætning er kendt som integreret GPU) andre, findes de mere dygtige, kraftfulde GPU'er i deres egen siliciumchip, typisk på et separat PCB (Printed Circuit Board).
Hvad er CPU?
Udtrykket CPU er brugt i computersystemer i mere end fem årtier nu, og det var den eneste processorenhed i de tidlige computere, indtil "andre" processorenheder (såsom GPU'er) blev introduceret for at komplementere dens processorkraft. De to hovedkomponenter i en CPU er dens aritmetiske logiske enhed (alias ALU) og kontrolenhed (aka CU). ALU'en for en CPU er ansvarlig for de aritmetiske og logiske operationer af computersystemet, og CU'en er ansvarlig for at hente instruktionsprogrammet fra hukommelsen, afkode dem og instruere andre enheder såsom ALU til at udføre instruktionerne. Derfor er CPU'ens kontrolenhed ansvarlig for at bringe æren for CPU'en til at være den "centrale" behandlingsenhed. CU'en for at hente instruktionerne fra hukommelsen, skal instruktionerne gemmes som programmer i hukommelsen, og derfor er et sådant instruktionssystem også kendt som "lagrede programmer". Det ville være klart, at CU ikke vil udføre instruktionerne, men vil lette det samme ved at kommunikere med de rigtige enheder såsom ALU.
Hvad er GPU (alias VPU)?
Udtrykket Graphics Processing Unit (GPU) blev introduceret i slutningen af halvfemserne af NVIDIA, en GPU-fremstillingsvirksomhed, som hævdede at have markedsført verdens første GPU (GeForce256) i 1999. Ifølge Wikipedia, på tidspunktet for GeForce256, NVIDIA definerede GPU som følgende: "en enkelt-chip processor med integreret transformation, belysning, trekant setup/clipping og gengivelsesmotorer, der er i stand til at behandle minimum 10 millioner polygoner pr. sekund". Et par år senere udgav NVIDIAs rival ATI Graphics, et andet lignende firma, en lignende processor (Radeon300) med betegnelsen VPU for Visual Processing Unit. Men da det er tydeligt, at udtrykket GPU er blevet mere populært end udtrykket VPU.
I dag er GPU'er installeret over alt, såsom i indlejrede systemer, mobiltelefoner, personlige computere og bærbare computere og spillekonsoller. Moderne GPU'er er ekstremt kraftfulde til at manipulere grafik, og de er lavet programmerbare, så de kan tilpasses til forskellige situationer og applikationer. Men selv nu er typiske GPU'er programmeret på fabrikken gennem det, der er kendt som firmware. Generelt er GPU'er mere effektive end CPU'er til algoritmer, hvor behandling af store datablokke foregår parallelt. Det forventes, da GPU'er er designet til at manipulere computergrafik, som er ekstremt parallel af natur.
Der er også dette nye koncept kendt som GPGPU (General Purpose computing on GPU), til at bruge GPU'er til at udnytte dataparallelismen, der er tilgængelig i nogle applikationer (såsom bioinformatik) og derfor udføre ikke-grafisk behandling i GPU. De tages dog ikke med i denne sammenligning.
Hvad er forskellen mellem CPU og GPU?• Mens ræsonnementet bag udrulningen af en CPU er at fungere som hjernen i et computersystem, introduceres en GPU som en komplementær behandlingsenhed, der håndterer den beregningsintensive grafikbehandling og -behandling, der kræves af opgaven med projicerer grafik til displayenhederne. • I sagens natur er grafikbehandling i sagens natur parallel og kan derfor nemt paralleliseres og accelereres. • I æraen med multi-core-systemer er CPU'er kun designet med nogle få kerner, der kan håndtere nogle få softwaretråde, som kan udnyttes i et applikationsprogram (instruktion og trådniveau-parallelisme). GPU'er er designet med hundredvis af kerner for at udnytte den tilgængelige parallelitet. |