2017. november 25., szombat

A processzorok típusai (CPU, GPU, APU)

  • (p)
Írta: Abu85 | Utoljára frissítve: 2014-01-01 20:54

Bár a processzor mint fogalom általánosan kezelendő, vagyis minden esetben egy számolásra alkalmas lapkát jelent, ám a gyakorlatban azért ez nem ilyen triviális, hiszen a különböző feladatok különböző hardveres felépítést is igényelnek. Ennek hála szinte már követni sem lehet a CPU, GPU, illetve a SoC mellett felmerülő rövidítéseket, ugyanakkor ezek kellően logikus elnevezések ahhoz, hogy könnyű legyen megérteni, adott rövidítés mögött mi rejlik.

Nagyon leegyszerűsítve mindegyik processzor ugyanazt csinálja, vagyis a bemeneti információkon, illetve adatokon különböző feladatokat végeznek, majd az eredményt a kimenetre továbbítják. A főbb különbségeket az adja, hogy ezt hogyan teszik meg.

CPU: A CPU (Central Processing Unit), azaz a központi feldolgozó egység talán a legrégebbi fogalom, és jellemzően csak processzorként szokás emlegetni. Sokan a számítógép agyaként jellemzik, ami kétségtelenül egy végletekig leegyszerűsített és sarkított meghatározás, de nem áll távol a valóságtól. Ez az egység minden számítógépben megtalálható, és lényegében az egész rendszer működéséért és a programok futtatásáért felel. A CPU alapvető eleme a processzormag, ami lényegében elvégzi az adott feladatokat. Ezen a ponton beszélhetünk egymagos, illetve homogén többmagos CPU-ról. A rendkívül egyszerű meghatározás definiálja a lényeget, vagyis előbbi esetben a CPU-nak csak egyetlen processzormagja van, míg utóbbinál már több mag is található a lapkában.

A CPU-kban található processzormag teljesítménye igen széles skálán mozoghat, és eszerint változik az adott egység teljesítménye és fogyasztása. Nyilvánvaló, hogy a nagyobb teljesítmény több energiát is igényel. A processzormagok általános jellemzője, hogy kevés, jellemzően egy vagy két feldolgozási szállal dolgoznak, de nem kizárt, hogy esetenként a szélesebb futószalagra több szálat érdemes bevetni. A szoftver a CPU-t a feldolgozási szálak alapján kezeli, és mindegyik szálra amolyan logikai feldolgozó egységként tekint. Mivel minden program más, így előfordulhat, hogy az adott feladat csak egy szálon hajtható végre, így ilyenkor a CPU többi erőforrása kihasználatlan marad. Mivel manapság már a többmagos CPU-k időszakát éljük, így törekedni kell arra, hogy az adott program a lehető legtöbb feldolgozási szálat hasznosítsa, amivel optimálisabban használható ki a jelenkor hardvereinek tudása.

A CPU-kat egyébként alapvetően úgy tervezik, hogy a lehetőségekhez mérten magas legyen az egy szálon leadott teljesítményük, így ez a processzortípus főleg a soros és a feladatpárhuzamos feldolgozást kedveli, ám kevésbé hatékony az adatpárhuzamos forma mellett. Utóbbi probléma nem a funkcionális működés során merül fel, hanem az energiahatékonyság területén, ugyanis a mai CPU-kon egy operáció végrehajtása több mint 1000 pJ energiát is felemészt. Ez a szám a többi processzortípus paramétereihez képest borzalmasan magas.

GPU: A GPU (Graphics Processing Unit), azaz a grafikus feldolgozó egység egy speciális igény kielégítésére született meg. Ahogy fentebb említettük, a CPU kifejezetten nem hatékony az adatpárhuzamos feladatok végrehajtására, márpedig a számítógépes grafika pont ilyen elvű feldolgozást igényel. Ennek megfelelően pár évtizeddel ezelőtt speciális chipek kezdték ellepni a piacot, melyek lényegében csak a grafikai feladatok feldolgozására törekedtek, és ezen a területen nagyságrendekkel gyorsabbak, illetve hatékonyabbak voltak a CPU-knál. Az évek során a piac kinőtte magát, és ma már gyakorlatilag elképzelhetetlen egy modern számítógép működése nélkülük.

Az általános fejlődés nem csak egyre gyorsabb, de egyre okosabb GPU-kat is szült, így a kezdeti, kifejezetten butának tekinthető, ám az úgynevezett bedrótozott grafikai számítások szempontjából nagyon is jó grafikus chipeket olyan GPU-k váltották, melyek egyre inkább arra törekedtek, hogy a lapkán belüli fixfunkciós részegységeket általánosabb feldolgozókkal helyettesítsék. Ezáltal a GPU-kat egyre hatékonyabban lehetett programozni, és ma már ott tartunk, hogy a legmodernebb megoldások logikai felépítése nem sokban különbözik egy CPU processzormagjától. A mai GPU-k esetében a processzormaghoz hasonlítható feldolgozót multiprocesszornak szokás nevezni, és ezzel egy új fogalom is született, ami a GPGPU (General-Purpose computing on Graphics Processing Units). Ez lényegében arról szól, hogy a grafikus feldolgozó egység számítási teljesítményét nem csak grafikai számításokra lehet befogni.

Ha a logikai felépítésben nem is, de az elvi működés szintjén már komoly különbségek vannak a processzormagok és a multiprocesszorok között. Nagyon leegyszerűsítve az egységek előnyei és hátrányai cserélődnek fel. Ahogy fentebb említettük, a CPU processzormagja a jellemző felépítés okán nem éppen ideális az adatpárhuzamos számításokhoz. A GPU-k tehát kifejezetten itt domborítanak, mivel a multiprocesszorok rendkívül sok feldolgozót használnak, és száz vagy akár ezer szálat is kezelnek egyszerre. A más elvek szerint működő felépítés az energiahatékonyságra is nagy hatással van, mivel a GPU-k esetében egy operáció végrehajtása kevesebb mint 200 pJ energiát igényel.

A GPU-k ugyanakkor nem kifejezetten kedvelik a soros, valamint a feladatpárhuzamos feldolgozást, noha nyilván képesek végrehajtani ezeket, ahogyan a CPU is képes az adatpárhuzamos feldolgozásra.

APU: Az APU (Accelerated Processing Unit), azaz a gyorsított feldolgozó egység egy relatíve új fogalom, és alapvetően arról szól, hogy a CPU és a GPU előnyeit egy lapkában egyesítse. Ennek megfelelően elsősorban az a célja, hogy a soros és feladatpárhuzamos feldolgozás a központi processzormagokon, míg az adatpárhuzamos számítások az integrált grafikus vezérlő multiprocesszorain legyenek végrehajtva. Elméleti szinten így érhető el a leggyorsabb és leghatékonyabb feldolgozás, mivel bizonyos feladatok nem bonthatók több szálra, míg számos algoritmus kifejezetten jól párhuzamosítható. Az elv hatékony működéséhez azonban a processzormagoknak és a multiprocesszoroknak közös címteret kell használniuk, továbbá az is szükséges, hogy teljesen koherens memóriát osszanak meg egymással.

Ha pontatlanságot találsz a cikkben, kérjük, írd meg a szerzőnek!
A bejegyzés utolsó frissítésének időpontja: 2014-01-01 20:54

Hi​rde​tés​

Hi​r​de​t​é​s​

Copyright © 2000-2017 PROHARDVER Informatikai Kft.