Hogyan számolhatja ki a processzor sebességét többmagos processzorokon?

Tartalomjegyzék:

Hogyan számolhatja ki a processzor sebességét többmagos processzorokon?
Hogyan számolhatja ki a processzor sebességét többmagos processzorokon?

Videó: Hogyan számolhatja ki a processzor sebességét többmagos processzorokon?

Videó: Hogyan számolhatja ki a processzor sebességét többmagos processzorokon?
Videó: How to Create a Custom Refresh Image in Windows 8 - YouTube 2024, Április
Anonim
A gazdaságos fogyasztói minőségű többmagos processzorok megjelenése számos felhasználó számára felvetette a kérdést: hogyan hatékonyan számolhatja ki a többmagos rendszer valós sebességét? Van egy 4 magos 3Ghz rendszer valóban 12Ghz? Olvass tovább, ahogy vizsgáljuk.
A gazdaságos fogyasztói minőségű többmagos processzorok megjelenése számos felhasználó számára felvetette a kérdést: hogyan hatékonyan számolhatja ki a többmagos rendszer valós sebességét? Van egy 4 magos 3Ghz rendszer valóban 12Ghz? Olvass tovább, ahogy vizsgáljuk.

A mai Kérdések és válaszok munkamenetét a SuperUser - a Stack Exchange, a Q & A weboldalak közösségi meghajtó csoportosulásának részlegével - köszönheti.

A kérdés

A SuperUser olvasó NReilingh kíváncsi volt arra, hogy miként számolják ki a processzor sebességét egy többmagos rendszer esetében:

Is it correct to say, for example, that a processor with four cores each running at 3GHz is in fact a processor running at 12GHz?

I once got into a “Mac vs. PC” argument (which by the way is NOT the focus of this topic… that was back in middle school) with an acquaintance who insisted that Macs were only being advertised as 1Ghz machines because they were dual-processor G4s each running at 500MHz.

At the time I knew this to be hogwash for reasons I think are apparent to most people, but I just saw a comment on this website to the effect of “6 cores x 0.2GHz = 1.2Ghz” and that got me thinking again about whether there’s a real answer to this.

So, this is a more-or-less philosophical/deep technical question about the semantics of clock speed calculation. I see two possibilities:

  1. Each core is in fact doing x calculations per second, thus the total number of calculations is x(cores).
  2. Clock speed is rather a count of the number of cycles the processor goes through in the space of a second, so as long as all cores are running at the same speed, the speed of each clock cycle stays the same no matter how many cores exist. In other words, Hz = (core1Hz+core2Hz+…)/cores.

Tehát mi a megfelelő módja annak, hogy az egész óra sebességét jelöljük, és még fontosabb, hogy egy mag-sebességű nómenklatúrát használhatunk egy többmagos rendszeren?

A válasz

A SuperUser munkatársai a Mokubai segítenek a dolgok tisztázásában. Ír:

The main reason why a quad-core 3GHz processor is never as fast as a 12GHz single core is to do with how the task running on that processor works, i.e. single-threaded or multi-threaded. Amdahl’s Law is important when considering the types of tasks you are running.

If you have a task that is inherently linear and has to be done precisely step-by-step such as (a grossly simple program)

10: a = a + 1

20: goto 10

Ezután a feladat nagymértékben függ az előző lépés eredményétől, és nem képes önmaga több másolatát futtatni anélkül, hogy megsérti az értékét

'a'

mivel minden példány kapná az értékét

'a'

különböző időpontokban és másképpen írva. Ez a feladatot egyetlen szálra korlátozza, és így a feladat csak egyszerre futhat egyetlen magon, ha többféle magra futtatná, akkor a szinkronizálás megtörténne. Ez korlátozza a kettős magrendszer teljesítményének 1/2 -es értékét, vagy 1/4 négymagos rendszerben.

Most tegyen olyan feladatot, mint:

10: a = a + 1

20: b = b + 1

30: c = c + 1

40: d = d + 1

50: goto 10

Mindezek a vonalak függetlenek és négy különböző programra oszthatók, mint az első és futni egyidejűleg, mindegyik képes kihasználni az egyik mag teljes erősségét szinkronizálási probléma nélkül, itt Amdahl törvénye belép.

Tehát, ha van egy szálas alkalmazásunk, amely a brute force számításokat végzi, akkor az egyetlen 12 GHz-es processzor nyerni fogja a kezét, ha valahogy fel tudná osztani a feladatot különálló részekre és többszálas, akkor a 4 mag magához térhet, ugyanaz a teljesítmény, mint Amdahl törvénye.

A legfontosabb dolog, hogy egy multi processzor rendszer ad Önnek a válaszkészség. Egy keményen működő egyetlen gépen a rendszer lassúnak tűnhet, mivel az idő nagy részében egy feladat használható, és a többi feladat csak rövid idő alatt fut a nagyobb feladat között, ami lassúnak vagy ítélőképesnek tűnik. Egy többmagos rendszeren a nehéz feladat egy magot kap, és az összes többi feladat a többi magot játssza, gyors és hatékony munkát végez.

A "6 mag x 0.2GHz = 1.2Ghz" argumentum minden helyzetben hulladék, kivéve ha a feladatok tökéletesen párhuzamosak és függetlenek. Számos olyan feladat van, amelyek nagyon párhuzamosak, de még mindig szükség van valamilyen szinkronizálásra. A kézifék egy video trancoder, amely nagyon jó az összes rendelkezésre álló CPU használatánál, de ehhez egy magfolyamra van szükség ahhoz, hogy a többi szálat megtöltsék az adatokkal és összegyűjtsék azokat az adatokat, amelyekkel végezték.

Minden mag valójában x számításokat végez másodpercenként, így a számítások teljes száma x (magok).

Minden mag képes másodpercenként x számításokat készíteni, feltételezve, hogy a munkaterhelés párhuzamos, egy lineáris programban mindössze 1 mag van.

Az órajelsebesség inkább annak a ciklusszámnak a száma, amelyet a processzor egy másodpercen belül megy át, tehát amíg minden mag ugyanolyan sebességgel fut, az egyes óraciklusok sebessége ugyanaz marad, függetlenül attól, hogy hány magot léteznek. Más szóval, Hz = (core1Hz + core2Hz + …) / magok.

Azt gondolom, hogy tévedés azt feltételezni, hogy 4 x 3GHz = 12 GHz, a matematika működik, de összehasonlítod az almát a narancsra, és az összegek nem igazak, a GHz-et nem lehet egyszerűen összeilleszteni minden helyzetben. Én változtatnám 4 x 3GHz = 4 x 3GHz-re.

Van valami a magyarázathoz? Hangzik ki a megjegyzésekben. Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.

Ajánlott: