Ha valaha is sok összehasonlító vásárlást hajtott végre egy új CPU-val, akkor észrevehette, hogy a magok mindegyike úgy tűnik, hogy rendelkezik sebességgel, nem pedig különféle kombinációkkal. Miért van az, hogy? A mai SuperUser Q & A bejegyzés megválaszolja az olvasó kíváncsi kérdését.
A mai Kérdések és válaszok ülés a SuperUser jóvoltából érkezik hozzánk - a Stack Exchange alosztályához, amely a Q & A webhelyek közösségvezérelt csoportosulása.
A kérdés
Jamie, a SuperUser olvasója tudni akarja, hogy a CPU-magok miért ugyanazzal a sebességgel rendelkeznek, más-más helyett:
Általánosságban elmondható, hogy ha új számítógépet vásárol, akkor a számítógép várható terhelése alapján határozná meg, melyik processzort vásárolja. A videojátékok teljesítményét általában az egy mag sebessége határozza meg, míg az olyan alkalmazásokat, mint a videoszerkesztés, a magok száma határozza meg. Ami a piacon elérhető, úgy tűnik, hogy az összes CPU nagyjából azonos sebességgel rendelkezik, a fő különbségek több szál vagy több mag.
Például:
- Intel Core i5-7600K, alapfrekvencia 3,80 GHz, 4 mag, 4 szál
- Intel Core i7-7700K, alapfrekvencia 4,20 GHz, 4 mag, 8 szál
- AMD Ryzen 5 1600X, alapfrekvencia 3,60 GHz, 6 mag, 12 szál
- AMD Ryzen 7 1800X, alapfrekvencia 3,60 GHz, 8 mag, 16 szál
Miért látjuk ezt a növekvő magok mintáját, mégis minden magnak azonos az órajel-sebessége? Miért nincsenek eltérő órajelű változatok? Például két „nagy” mag és sok kis mag.
Mondjuk négy mag mellett 4,0 GHz-en (azaz 4 × 4 GHz, maximum 16 GHz), mit szólna egy processzorhoz, amelynek két magja 4,0 GHz-en és négy magja 2,0 GHz-en (azaz 2 × 4,0 GHz + 4 × 2,0) GHz, maximum 16 GHz)? Ugyanolyan jó lenne-e a második lehetőség egyszálú munkaterheléseknél, de potenciálisan jobb többszálas munkaterheléseknél?
Ezt általános kérdésként teszem fel, és nem kifejezetten a fent felsorolt CPU-kra vagy bármely konkrét munkaterhelésre vonatkozóan. Csak arra vagyok kíváncsi, miért olyan a minta, amilyen.
Miért van az, hogy a CPU magok mindegyike azonos sebességű, nem pedig más?
A válasz
A SuperUser közreműködője, a bwDraco válaszolt ránk:
Ez heterogén többprocesszoros (HMP) néven ismert, és a mobil eszközök széles körben alkalmazzák. ARM alapú eszközökben, amelyek megvalósulnak nagy.KIS , a processzor különböző teljesítményű és teljesítményprofillal rendelkező magokat tartalmaz, vagyis egyes magok gyorsan futnak, de sok energiát merítenek (gyorsabb architektúra és / vagy magasabb órák), míg mások energiatakarékosak, de lassúak (lassabb architektúra és / vagy alacsonyabb órák). Ez azért hasznos, mert az energiafelhasználás aránytalanul növekszik, amikor növeli a teljesítményt, ha egy bizonyos ponton túl van. Az ötlet itt az, hogy teljesítményt nyerjünk, amikor arra szükség van, és az akkumulátor élettartamára, amikor nem.
Asztali platformokon az energiafogyasztás sokkal kevésbé kérdés, ezért erre nincs igazán szükség. A legtöbb alkalmazás elvárja, hogy az egyes magok hasonló teljesítményjellemzőkkel rendelkezzenek, és az ütemezési folyamatok a HMP-rendszerek számára sokkal összetettebbek, mint a hagyományos szimmetrikus többprocesszoros (SMP) rendszerek ütemezése (technikailag a Windows 10 támogatja a HMP-t, de főleg mobilra szánják) eszközök, amelyek ARM big.LITTLE-t használnak).
Ezenkívül a legtöbb asztali és hordozható processzor ma sem termikusan, sem elektromosan nem korlátozódik arra a pontra, amikor egyes magoknak gyorsabban kell futniuk, mint másoknak, még rövid sorozatfelvételek esetén is. Alapvetően falnak ütköztünk milyen gyorsan készíthetünk egyedi magokat , ezért néhány mag lassabbra cserélése nem teszi lehetővé a többi mag gyorsabb futtatását.
Míg van néhány asztali processzor, amelyek egy vagy két maggal képesek futni, mint a többiek, ez a képesség jelenleg csak bizonyos nagyon csúcskategóriás Intel processzorokra korlátozódik (Turbo Boost Max Technology 3.0 néven ismert), és csak kismértékű nyereséget jelent. teljesítmény azoknak a magoknak, amelyek gyorsabban futhatnak.
Bár minden bizonnyal lehetséges egy hagyományos x86-os processzor megtervezése nagy, gyors magokkal és kisebb, lassabb magokkal, hogy optimalizálják az erősen menetes munkaterheléseket, ez jelentős bonyolultságot jelentene a processzor tervezésében, és az alkalmazások valószínűleg nem támogatják megfelelően.
Vegyünk egy hipotetikus processzort kettővel Kaby-tó (7. generációs) mag és nyolc lassú Goldmont (Atom) magok. Összesen 10 magja lenne, és az ilyen processzorra optimalizált erősen menetes munkaterhelések teljesítményének és hatékonyságának növekedését eredményezhetik egy normál négymagos Kaby Lake processzorral szemben. A különböző típusú magok teljesítménye azonban vadonatúj, és a lassú magok még a gyors magok által támogatott utasítások egy részét sem támogatják, például AVX (Az ARM elkerüli ezt a problémát azzal, hogy mind a nagy, mind a LITTLE magnak ugyanazokat az utasításokat kell támogatnia).
A legtöbb Windows-alapú többszálas alkalmazás feltételezi, hogy minden magnak azonos vagy közel azonos teljesítményszintje van, és ugyanazokat az utasításokat tudja végrehajtani, így ez a fajta aszimmetria valószínűleg az ideálisnál kisebb teljesítményt eredményez, talán még összeomlik, ha olyan utasításokat használ, amelyeket a lassabb magok nem támogatnak. Bár az Intel módosíthatja a lassú magokat, hogy fejlett utasítás-támogatást nyújtson annak érdekében, hogy az összes mag végrehajthassa az összes utasítást, ez nem oldaná meg a heterogén processzorok szoftveres támogatásával kapcsolatos problémákat.
Az alkalmazás tervezésének más megközelítése, közelebb állva ahhoz, amire valószínűleg a kérdésében gondol, a GPU-t használja az alkalmazások nagyon párhuzamos részeinek felgyorsítására. Ez megtehető az API-kkal, például OpenCL és CSODÁK . Ami az egy chipes megoldást illeti, az AMD támogatja a GPU-gyorsítás hardvertámogatását APU-jában, amely a hagyományos CPU-t és a nagy teljesítményű integrált GPU-t ötvözi ugyanabba a chipbe, mint Heterogén rendszer architektúra , bár ez néhány speciális alkalmazáson kívül nem sokat tapasztalt iparágban.
Van valami hozzáfűzhető a magyarázathoz? Hang a kommentekben. Szeretne további válaszokat olvasni más, hozzáértő Stack Exchange-felhasználóktól? Nézze meg a teljes vitafonalat itt .
Kép jóváírása: Mirko Waltermann (Flickr)