CPU vs GPU
CPU, förkortningen för Central Processing Unit, är hjärnan i ett datorsystem som utför de "beräkningar" som ges som instruktioner genom ett datorprogram. Därför är det meningsfullt att ha en CPU endast när du har ett datorsystem som är "programmerbart" (så att det kan utföra instruktioner) och vi bör notera att CPU:n är den "Centrala" processorenheten, den enhet som styr de andra enheterna/ delar av ett datorsystem. I dagens sammanhang är en CPU vanligtvis placerad i ett enda kiselchip, även känt som en mikroprocessor. Å andra sidan är GPU, förkortningen för Graphics Processing Unit, utformad för att ladda beräkningsintensiva grafikbearbetningsuppgifter från CPU:n. Det slutliga målet med sådana uppgifter är att projicera grafiken till en displayenhet som en monitor. Med tanke på att sådana uppgifter är välkända och specifika, behöver de inte i huvudsak programmeras, och dessutom är sådana uppgifter i sig parallella på grund av visningsenheternas natur. Återigen, i det aktuella sammanhanget, medan de mindre kapabla GPU:erna vanligtvis är placerade i samma kiselchip där du hittar processorn (denna inställning kallas integrerad GPU) andra, de mer kapabla, kraftfulla GPU:erna finns i deras eget kiselchip, vanligtvis på en separat PCB (Printed Circuit Board).
Vad är CPU?
Termen CPU har använts i datorsystem i mer än fem decennier nu, och det var den enda processorenheten i de tidiga datorerna tills "andra" processorenheter (som GPU) introducerades för att komplettera dess processorkraft. De två huvudkomponenterna i en CPU är dess aritmetiska logikenhet (alias ALU) och kontrollenhet (alias CU). En CPUs ALU är ansvarig för de aritmetiska och logiska operationerna i beräkningssystemet, och CU:n är ansvarig för att hämta instruktionsprogrammet från minnet, avkoda dem och instruera andra enheter såsom ALU att exekvera instruktionerna. Därför är processorns kontrollenhet ansvarig för att få äran för CPU:n att vara den "centrala" processorenheten. CU:n för att hämta instruktionerna från minnet måste instruktionerna lagras som program i minnet och därför är ett sådant instruktionssystem också känt som "lagrade program". Det skulle vara tydligt att CU inte kommer att utföra instruktionerna, utan kommer att underlätta detsamma genom att kommunicera med rätt enheter såsom ALU.
Vad är GPU (alias VPU)?
Termen Graphics Processing Unit (GPU) introducerades i slutet av nittiotalet av NVIDIA, ett GPU-tillverkningsföretag, som påstod sig ha marknadsfört världens första GPU (GeForce256) 1999. Enligt Wikipedia, vid tiden för GeForce256, NVIDIA definierade GPU som följande: "en enchipsprocessor med integrerad transformation, belysning, triangelinstallation/klippning och renderingsmotorer som kan bearbeta minst 10 miljoner polygoner per sekund". Ett par år senare släppte NVIDIAs rival ATI Graphics, ett annat liknande företag, en liknande processor (Radeon300) med termen VPU för Visual Processing Unit. Men eftersom det är tydligt att termen GPU har blivit mer populär än termen VPU.
Idag är GPU:er utplacerade överallt, till exempel i inbyggda system, mobiltelefoner, persondatorer och bärbara datorer och spelkonsoler. Moderna GPU:er är extremt kraftfulla för att manipulera grafik, och de är gjorda programmerbara så att de kan anpassas till olika situationer och applikationer. Men även nu är typiska GPU:er programmerade på fabriken genom så kallad firmware. Generellt sett är GPU:er mer effektiva än CPU:er för algoritmer där bearbetning av stora datablock görs parallellt. Det förväntas, eftersom grafikprocessorer är utformade för att manipulera datorgrafik, som är extremt parallell till sin natur.
Det finns också detta nya koncept som kallas GPGPU (General Purpose computing on GPU), för att använda GPU:er för att utnyttja dataparallelliteten som finns tillgänglig i vissa applikationer (som bioinformatik) och därför utföra icke-grafisk bearbetning i GPU. De beaktas dock inte i denna jämförelse.
Vad är skillnaden mellan CPU och GPU?• Medan resonemanget bakom utplaceringen av en CPU är att fungera som hjärnan i ett datorsystem, introduceras en GPU som en kompletterande bearbetningsenhet som hanterar den beräkningsintensiva grafikbearbetningen och bearbetningen som krävs av uppgiften att projicera grafik till displayenheterna. • Till sin natur är grafikbehandling till sin natur parallell och kan därför lätt parallelliseras och accelereras. • I en tid präglad av flerkärniga system är CPU:er designade med endast ett fåtal kärnor som kan hantera ett fåtal mjukvarutrådar, som kan utnyttjas i ett applikationsprogram (instruktion och trådnivåparallellism). GPU:er är designade med hundratals kärnor för att utnyttja den tillgängliga parallelliteten. |